From 7e0d0d0bb912fbb774f5890792840a1a62485773 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) --- 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 234ef04be55..d11ffd629a9 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -11859,6 +11859,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 3e0eb8be31f..106e91348eb 100644 --- a/tools/editor/editor_plugin.cpp +++ b/tools/editor/editor_plugin.cpp @@ -76,6 +76,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) { @@ -370,6 +375,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_canvas_input_event",PropertyInfo(Variant::MATRIX32,"canvas_xform"),PropertyInfo(Variant::INPUT_EVENT,"event"))); ObjectTypeDB::add_virtual_method(get_type_static(),MethodInfo("forward_draw_over_canvas",PropertyInfo(Variant::MATRIX32,"canvas_xform"),PropertyInfo(Variant::OBJECT,"canvas:Control"))); diff --git a/tools/editor/editor_plugin.h b/tools/editor/editor_plugin.h index 2026b83cc0a..9e7449f7fad 100644 --- a/tools/editor/editor_plugin.h +++ b/tools/editor/editor_plugin.h @@ -101,6 +101,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_canvas_input_event(const Matrix32& p_canvas_xform, const InputEvent& p_event);