| 4147 | } |
| 4148 | |
| 4149 | void EditorNode::set_edited_scene_root(Node *p_scene, bool p_auto_add) { |
| 4150 | Node *old_edited_scene_root = get_editor_data().get_edited_scene_root(); |
| 4151 | ERR_FAIL_COND_MSG(p_scene && p_scene != old_edited_scene_root && p_scene->get_parent(), "Non-null nodes that are set as edited scene should not have a parent node."); |
| 4152 | |
| 4153 | if (p_auto_add && old_edited_scene_root && old_edited_scene_root->get_parent() == scene_root) { |
| 4154 | scene_root->remove_child(old_edited_scene_root); |
| 4155 | } |
| 4156 | get_editor_data().set_edited_scene_root(p_scene); |
| 4157 | |
| 4158 | if (Object::cast_to<Popup>(p_scene)) { |
| 4159 | Object::cast_to<Popup>(p_scene)->show(); |
| 4160 | } |
| 4161 | SceneTreeDock::get_singleton()->set_edited_scene(p_scene); |
| 4162 | if (get_tree()) { |
| 4163 | get_tree()->set_edited_scene_root(p_scene); |
| 4164 | } |
| 4165 | |
| 4166 | if (p_auto_add && p_scene) { |
| 4167 | scene_root->add_child(p_scene, true); |
| 4168 | } |
| 4169 | } |
| 4170 | |
| 4171 | String EditorNode::get_preview_locale() const { |
| 4172 | const Ref<TranslationDomain> &main_domain = TranslationServer::get_singleton()->get_main_domain(); |
no test coverage detected