diff options
Diffstat (limited to 'tools/editor/editor_plugin.h')
-rw-r--r-- | tools/editor/editor_plugin.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/tools/editor/editor_plugin.h b/tools/editor/editor_plugin.h index df03d37be4..75a3b3b26f 100644 --- a/tools/editor/editor_plugin.h +++ b/tools/editor/editor_plugin.h @@ -43,6 +43,9 @@ class Camera; class EditorSelection; class EditorImportExport; class EditorSettings; +class SpatialEditorGizmo; +class EditorImportPlugin; +class EditorExportPlugin; class EditorPlugin : public Node { @@ -73,12 +76,26 @@ public: CONTAINER_CANVAS_EDITOR_BOTTOM }; + enum DockSlot { + DOCK_SLOT_LEFT_UL, + DOCK_SLOT_LEFT_BL, + DOCK_SLOT_LEFT_UR, + DOCK_SLOT_LEFT_BR, + DOCK_SLOT_RIGHT_UL, + DOCK_SLOT_RIGHT_BL, + DOCK_SLOT_RIGHT_UR, + DOCK_SLOT_RIGHT_BR, + DOCK_SLOT_MAX + }; + //TODO: send a resoucre for editing to the editor node? void add_control_to_container(CustomControlContainer p_location, Control *p_control); void add_control_to_bottom_dock(Control *p_control, const String &p_title); + void add_control_to_dock(DockSlot p_slot,Control *p_control); + void remove_control_from_docks(Control *p_control); - virtual bool create_spatial_gizmo(Spatial* p_spatial); + virtual Ref<SpatialEditorGizmo> create_spatial_gizmo(Spatial* p_spatial); virtual bool forward_input_event(const InputEvent& p_event); virtual bool forward_spatial_input_event(Camera* p_camera,const InputEvent& p_event); virtual String get_name() const; @@ -99,8 +116,16 @@ public: virtual void edited_scene_changed(){}; // if changes are pending in editor, apply them + Control *get_base_control(); + + void add_import_plugin(const Ref<EditorImportPlugin>& p_editor_import); + void remove_import_plugin(const Ref<EditorImportPlugin>& p_editor_import); + + void add_export_plugin(const Ref<EditorExportPlugin>& p_editor_export); + void remove_export_plugin(const Ref<EditorExportPlugin>& p_editor_export); + EditorSelection* get_selection(); - EditorImportExport *get_import_export(); + //EditorImportExport *get_import_export(); EditorSettings *get_editor_settings(); virtual void restore_global_state(); @@ -112,6 +137,7 @@ public: }; VARIANT_ENUM_CAST( EditorPlugin::CustomControlContainer ); +VARIANT_ENUM_CAST( EditorPlugin::DockSlot ); typedef EditorPlugin* (*EditorPluginCreateFunc)(EditorNode *); |