|
@@ -471,8 +471,18 @@ void SceneTreeDock::_notification(int p_what) {
|
|
|
|
|
|
switch(p_what) {
|
|
|
|
|
|
- case NOTIFICATION_ENTER_TREE: {
|
|
|
+ case NOTIFICATION_READY: {
|
|
|
+
|
|
|
+ if (!first_enter)
|
|
|
+ break;
|
|
|
+ first_enter=false;
|
|
|
|
|
|
+ CanvasItemEditorPlugin *canvas_item_plugin = editor_data->get_editor("2D")->cast_to<CanvasItemEditorPlugin>();
|
|
|
+ if (canvas_item_plugin) {
|
|
|
+ canvas_item_plugin->get_canvas_item_editor()->connect("item_lock_status_changed", scene_tree, "_update_tree");
|
|
|
+ canvas_item_plugin->get_canvas_item_editor()->connect("item_group_status_changed", scene_tree, "_update_tree");
|
|
|
+ scene_tree->connect("node_changed", canvas_item_plugin->get_canvas_item_editor()->get_viewport_control(), "update");
|
|
|
+ }
|
|
|
static const char* button_names[TOOL_BUTTON_MAX]={
|
|
|
"New",
|
|
|
"Add",
|
|
@@ -487,19 +497,12 @@ void SceneTreeDock::_notification(int p_what) {
|
|
|
"Remove",
|
|
|
};
|
|
|
|
|
|
+
|
|
|
+
|
|
|
for(int i=0;i<TOOL_BUTTON_MAX;i++)
|
|
|
tool_buttons[i]->set_icon(get_icon(button_names[i],"EditorIcons"));
|
|
|
|
|
|
} break;
|
|
|
- case NOTIFICATION_READY: {
|
|
|
-
|
|
|
- CanvasItemEditorPlugin *canvas_item_plugin = editor_data->get_editor("2D")->cast_to<CanvasItemEditorPlugin>();
|
|
|
- if (canvas_item_plugin) {
|
|
|
- canvas_item_plugin->get_canvas_item_editor()->connect("item_lock_status_changed", scene_tree, "_update_tree");
|
|
|
- canvas_item_plugin->get_canvas_item_editor()->connect("item_group_status_changed", scene_tree, "_update_tree");
|
|
|
- scene_tree->connect("node_changed", canvas_item_plugin->get_canvas_item_editor()->get_viewport_control(), "update");
|
|
|
- }
|
|
|
- } break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1367,7 +1370,7 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor,Node *p_scene_root,EditorSelec
|
|
|
add_child(import_subscene_dialog);
|
|
|
import_subscene_dialog->connect("subscene_selected",this,"_import_subscene");
|
|
|
|
|
|
-
|
|
|
+ first_enter=true;
|
|
|
|
|
|
|
|
|
}
|