Browse Source

Merge pull request #29239 from fire/plugin_editor_settings

Be able to add to the editor setting tabs.
Rémi Verschelde 6 years ago
parent
commit
81ac52599d
2 changed files with 23 additions and 1 deletions
  1. 20 0
      editor/editor_plugin.cpp
  2. 3 1
      editor/editor_plugin.h

+ 20 - 0
editor/editor_plugin.cpp

@@ -400,6 +400,18 @@ void EditorPlugin::add_control_to_container(CustomControlContainer p_location, C
 			EditorNode::get_singleton()->get_inspector_dock_addon_area()->add_child(p_control);
 
 		} break;
+		case CONTAINER_PROJECT_SETTING_TAB_LEFT: {
+
+			ProjectSettingsEditor::get_singleton()->get_tabs()->add_child(p_control);
+			ProjectSettingsEditor::get_singleton()->get_tabs()->move_child(p_control, 0);
+
+		} break;
+		case CONTAINER_PROJECT_SETTING_TAB_RIGHT: {
+
+			ProjectSettingsEditor::get_singleton()->get_tabs()->add_child(p_control);
+			ProjectSettingsEditor::get_singleton()->get_tabs()->move_child(p_control, 1);
+
+		} break;
 	}
 }
 
@@ -450,6 +462,12 @@ void EditorPlugin::remove_control_from_container(CustomControlContainer p_locati
 			EditorNode::get_singleton()->get_inspector_dock_addon_area()->remove_child(p_control);
 
 		} break;
+		case CONTAINER_PROJECT_SETTING_TAB_LEFT:
+		case CONTAINER_PROJECT_SETTING_TAB_RIGHT: {
+
+			ProjectSettingsEditor::get_singleton()->get_tabs()->remove_child(p_control);
+
+		} break;
 	}
 }
 
@@ -863,6 +881,8 @@ void EditorPlugin::_bind_methods() {
 	BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_SIDE_RIGHT);
 	BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_BOTTOM);
 	BIND_ENUM_CONSTANT(CONTAINER_PROPERTY_EDITOR_BOTTOM);
+	BIND_ENUM_CONSTANT(CONTAINER_PROJECT_SETTING_TAB_LEFT);
+	BIND_ENUM_CONSTANT(CONTAINER_PROJECT_SETTING_TAB_RIGHT);
 
 	BIND_ENUM_CONSTANT(DOCK_SLOT_LEFT_UL);
 	BIND_ENUM_CONSTANT(DOCK_SLOT_LEFT_BL);

+ 3 - 1
editor/editor_plugin.h

@@ -137,7 +137,9 @@ public:
 		CONTAINER_CANVAS_EDITOR_SIDE_LEFT,
 		CONTAINER_CANVAS_EDITOR_SIDE_RIGHT,
 		CONTAINER_CANVAS_EDITOR_BOTTOM,
-		CONTAINER_PROPERTY_EDITOR_BOTTOM
+		CONTAINER_PROPERTY_EDITOR_BOTTOM,
+		CONTAINER_PROJECT_SETTING_TAB_LEFT,
+		CONTAINER_PROJECT_SETTING_TAB_RIGHT,
 	};
 
 	enum DockSlot {