diff options
| author | Juan Linietsky | 2016-05-15 23:41:48 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2016-05-15 23:41:48 -0300 |
| commit | a2c4c1708501e1eb223e34375c506c14d8fb4631 (patch) | |
| tree | 12ab03db126e51d9e746f701f5e03d139ddef878 /tools/editor/scene_tree_editor.cpp | |
| parent | 8b47e26f59ddca57f95dfae5ce807d382957a97e (diff) | |
| download | godot-a2c4c1708501e1eb223e34375c506c14d8fb4631.tar.gz godot-a2c4c1708501e1eb223e34375c506c14d8fb4631.tar.zst godot-a2c4c1708501e1eb223e34375c506c14d8fb4631.zip | |
Experimental Right Mouse Button menu for SceneTree
Will eventually replace the buttons of that dock, so please test it!
Diffstat (limited to 'tools/editor/scene_tree_editor.cpp')
| -rw-r--r-- | tools/editor/scene_tree_editor.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp index fd79460aa..8760d21c1 100644 --- a/tools/editor/scene_tree_editor.cpp +++ b/tools/editor/scene_tree_editor.cpp @@ -908,6 +908,10 @@ void SceneTreeEditor::drop_data_fw(const Point2& p_point,const Variant& p_data,C } +void SceneTreeEditor::_rmb_select(const Vector2& p_pos) { + + emit_signal("rmb_pressed",tree->get_global_transform().xform(p_pos)); +} void SceneTreeEditor::_bind_methods() { @@ -923,6 +927,7 @@ void SceneTreeEditor::_bind_methods() { ObjectTypeDB::bind_method("_cell_button_pressed",&SceneTreeEditor::_cell_button_pressed); ObjectTypeDB::bind_method("_cell_collapsed",&SceneTreeEditor::_cell_collapsed); ObjectTypeDB::bind_method("_subscene_option",&SceneTreeEditor::_subscene_option); + ObjectTypeDB::bind_method("_rmb_select",&SceneTreeEditor::_rmb_select); ObjectTypeDB::bind_method("_node_script_changed",&SceneTreeEditor::_node_script_changed); ObjectTypeDB::bind_method("_node_visibility_changed",&SceneTreeEditor::_node_visibility_changed); @@ -937,6 +942,7 @@ void SceneTreeEditor::_bind_methods() { ADD_SIGNAL( MethodInfo("node_changed") ); ADD_SIGNAL( MethodInfo("nodes_rearranged",PropertyInfo(Variant::ARRAY,"paths"),PropertyInfo(Variant::NODE_PATH,"to_path"),PropertyInfo(Variant::INT,"type") ) ); ADD_SIGNAL( MethodInfo("files_dropped",PropertyInfo(Variant::STRING_ARRAY,"files"),PropertyInfo(Variant::NODE_PATH,"to_path"),PropertyInfo(Variant::INT,"type") ) ); + ADD_SIGNAL( MethodInfo("rmb_pressed",PropertyInfo(Variant::VECTOR2,"pos")) ) ; ADD_SIGNAL( MethodInfo("open") ); ADD_SIGNAL( MethodInfo("open_script") ); @@ -976,6 +982,9 @@ SceneTreeEditor::SceneTreeEditor(bool p_label,bool p_can_rename, bool p_can_open add_child( tree ); tree->set_drag_forwarding(this); + if (p_can_rename) + tree->set_allow_rmb_select(true); + tree->connect("item_rmb_selected",this,"_rmb_select"); tree->connect("cell_selected", this,"_selected_changed"); tree->connect("item_edited", this,"_renamed",varray(),CONNECT_DEFERRED); |
