diff options
Diffstat (limited to 'editor/scene_tree_dock.h')
-rw-r--r-- | editor/scene_tree_dock.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index ced3f81e2b..cd582fdf57 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -60,6 +60,7 @@ class SceneTreeDock : public VBoxContainer { TOOL_NEW, TOOL_INSTANCE, + TOOL_EXPAND_COLLAPSE, TOOL_RENAME, TOOL_BATCH_RENAME, TOOL_REPLACE, @@ -69,6 +70,7 @@ class SceneTreeDock : public VBoxContainer { TOOL_MOVE_DOWN, TOOL_DUPLICATE, TOOL_REPARENT, + TOOL_REPARENT_TO_NEW_NODE, TOOL_MAKE_ROOT, TOOL_NEW_SCENE_FROM, TOOL_MERGE_FROM_SCENE, @@ -116,6 +118,7 @@ class SceneTreeDock : public VBoxContainer { HBoxContainer *tool_hbc; void _tool_selected(int p_tool, bool p_confirm_override = false); + void _node_collapsed(Object *p_obj); EditorData *editor_data; EditorSelection *editor_selection; @@ -140,6 +143,7 @@ class SceneTreeDock : public VBoxContainer { bool first_enter; void _create(); + void _do_create(Node *p_parent); Node *scene_root; Node *edited_scene; EditorNode *editor; @@ -152,6 +156,9 @@ class SceneTreeDock : public VBoxContainer { void _node_reparent(NodePath p_path, bool p_keep_global_xform); void _do_reparent(Node *p_new_parent, int p_position_in_parent, Vector<Node *> p_nodes, bool p_keep_global_xform); + bool _is_collapsed_recursive(TreeItem *p_item) const; + void _set_collapsed_recursive(TreeItem *p_item, bool p_collapsed); + void _set_owners(Node *p_owner, const Array &p_nodes); enum ReplaceOwnerMode { @@ -165,14 +172,17 @@ class SceneTreeDock : public VBoxContainer { void _script_open_request(const Ref<Script> &p_script); bool _cyclical_dependency_exists(const String &p_target_scene_path, Node *p_desired_node); + bool _track_inherit(const String &p_target_scene_path, Node *p_desired_node); void _node_selected(); void _node_renamed(); void _script_created(Ref<Script> p_script); + void _script_creation_closed(); void _delete_confirm(); - void _toggle_editable_children(); + void _toggle_editable_children_from_selection(); + void _toggle_editable_children(Node *p_node); void _node_prerenamed(Node *p_node, const String &p_new_name); @@ -187,6 +197,7 @@ class SceneTreeDock : public VBoxContainer { bool _validate_no_foreign(); void _selection_changed(); void _update_script_button(); + Node *_get_selection_group_tail(Node *p_node, List<Node *> p_list); void _fill_path_renames(Vector<StringName> base_path, Vector<StringName> new_base_path, Node *p_node, List<Pair<NodePath, NodePath> > *p_renames); @@ -212,6 +223,11 @@ class SceneTreeDock : public VBoxContainer { void _update_create_root_dialog(); void _favorite_root_selected(const String &p_class); + void _feature_profile_changed(); + + bool profile_allow_editing; + bool profile_allow_script_editing; + protected: void _notification(int p_what); static void _bind_methods(); @@ -238,7 +254,7 @@ public: void show_tab_buttons(); void hide_tab_buttons(); - void replace_node(Node *p_node, Node *p_by_node); + void replace_node(Node *p_node, Node *p_by_node, bool p_keep_properties = true, bool p_remove_old = true); void open_script_dialog(Node *p_for_node); |