From 4f35fdd1e341ed60ebda7a8ed912fcbf2361f572 Mon Sep 17 00:00:00 2001 From: Bruno Ortiz Date: Mon, 2 Jan 2017 10:37:22 -0200 Subject: [PATCH] Exposing edit_resource method of EditorNode in the EditorPlugin (#7355) (cherry picked from commit 7e0d0d0bb912fbb774f5890792840a1a62485773) --- doc/base/classes.xml | 7 +++++++ tools/editor/editor_plugin.cpp | 6 ++++++ tools/editor/editor_plugin.h | 1 + 3 files changed, 14 insertions(+) diff --git a/doc/base/classes.xml b/doc/base/classes.xml index c096287a2e8..75064c4076d 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -11669,6 +11669,13 @@ Get the main editor control. Use this as a parent for main screens. + + + + + Tells the editor to handle the edit of the given resource. Ex: If you pass a Script as a argument, the editor will open the scriptEditor. + + diff --git a/tools/editor/editor_plugin.cpp b/tools/editor/editor_plugin.cpp index 1c7d9f14a85..31ca9db762f 100644 --- a/tools/editor/editor_plugin.cpp +++ b/tools/editor/editor_plugin.cpp @@ -75,6 +75,11 @@ Control * EditorPlugin::get_editor_viewport() { return EditorNode::get_singleton()->get_viewport(); } +void EditorPlugin::edit_resource(const Ref& p_resource){ + + EditorNode::get_singleton()->edit_resource(p_resource); +} + void EditorPlugin::add_control_to_container(CustomControlContainer p_location,Control *p_control) { switch(p_location) { @@ -327,6 +332,7 @@ void EditorPlugin::_bind_methods() { ObjectTypeDB::bind_method(_MD("get_selection:EditorSelection"),&EditorPlugin::get_selection); ObjectTypeDB::bind_method(_MD("get_editor_settings:EditorSettings"),&EditorPlugin::get_editor_settings); ObjectTypeDB::bind_method(_MD("queue_save_layout"),&EditorPlugin::queue_save_layout); + ObjectTypeDB::bind_method(_MD("edit_resource"),&EditorPlugin::edit_resource); ObjectTypeDB::add_virtual_method(get_type_static(),MethodInfo(Variant::BOOL,"forward_input_event",PropertyInfo(Variant::INPUT_EVENT,"event"))); ObjectTypeDB::add_virtual_method(get_type_static(),MethodInfo(Variant::BOOL,"forward_spatial_input_event",PropertyInfo(Variant::OBJECT,"camera",PROPERTY_HINT_RESOURCE_TYPE,"Camera"),PropertyInfo(Variant::INPUT_EVENT,"event"))); diff --git a/tools/editor/editor_plugin.h b/tools/editor/editor_plugin.h index d53cb04f47e..bb334704013 100644 --- a/tools/editor/editor_plugin.h +++ b/tools/editor/editor_plugin.h @@ -98,6 +98,7 @@ public: void remove_control_from_docks(Control *p_control); void remove_control_from_bottom_panel(Control *p_control); Control* get_editor_viewport(); + void edit_resource(const Ref& p_resource); virtual Ref create_spatial_gizmo(Spatial* p_spatial); virtual bool forward_input_event(const InputEvent& p_event);