diff --git a/editor/docks/dock_constants.h b/editor/docks/dock_constants.h deleted file mode 100644 index 3b379fb699..0000000000 --- a/editor/docks/dock_constants.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************/ -/* dock_constants.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#pragma once - -namespace DockConstants { - -enum DockSlot { - DOCK_SLOT_NONE = -1, - 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_BOTTOM, - DOCK_SLOT_MAX -}; - -enum DockLayout { - DOCK_LAYOUT_VERTICAL = 1, - DOCK_LAYOUT_HORIZONTAL = 2, - DOCK_LAYOUT_FLOATING = 4, -}; - -}; //namespace DockConstants diff --git a/editor/docks/editor_dock.cpp b/editor/docks/editor_dock.cpp index f46b68ed90..717eaae23c 100644 --- a/editor/docks/editor_dock.cpp +++ b/editor/docks/editor_dock.cpp @@ -203,6 +203,10 @@ void EditorDock::set_dock_shortcut(const Ref &p_shortcut) { _emit_changed(); } +Ref EditorDock::get_dock_shortcut() const { + return shortcut; +} + void EditorDock::set_default_slot(DockSlot p_slot) { ERR_FAIL_INDEX(p_slot, DOCK_SLOT_MAX); default_slot = p_slot; diff --git a/editor/docks/editor_dock.h b/editor/docks/editor_dock.h index 2571af3946..e74132b1a5 100644 --- a/editor/docks/editor_dock.h +++ b/editor/docks/editor_dock.h @@ -31,7 +31,6 @@ #pragma once #include "core/io/config_file.h" -#include "editor/docks/dock_constants.h" #include "scene/gui/margin_container.h" class Shortcut; @@ -42,24 +41,24 @@ class EditorDock : public MarginContainer { public: enum DockLayout { - DOCK_LAYOUT_VERTICAL = DockConstants::DOCK_LAYOUT_VERTICAL, - DOCK_LAYOUT_HORIZONTAL = DockConstants::DOCK_LAYOUT_HORIZONTAL, - DOCK_LAYOUT_FLOATING = DockConstants::DOCK_LAYOUT_FLOATING, + DOCK_LAYOUT_VERTICAL = 1, + DOCK_LAYOUT_HORIZONTAL = 2, + DOCK_LAYOUT_FLOATING = 4, DOCK_LAYOUT_ALL = DOCK_LAYOUT_VERTICAL | DOCK_LAYOUT_HORIZONTAL | DOCK_LAYOUT_FLOATING, }; enum DockSlot { - DOCK_SLOT_NONE = DockConstants::DOCK_SLOT_NONE, - DOCK_SLOT_LEFT_UL = DockConstants::DOCK_SLOT_LEFT_UL, - DOCK_SLOT_LEFT_BL = DockConstants::DOCK_SLOT_LEFT_BL, - DOCK_SLOT_LEFT_UR = DockConstants::DOCK_SLOT_LEFT_UR, - DOCK_SLOT_LEFT_BR = DockConstants::DOCK_SLOT_LEFT_BR, - DOCK_SLOT_RIGHT_UL = DockConstants::DOCK_SLOT_RIGHT_UL, - DOCK_SLOT_RIGHT_BL = DockConstants::DOCK_SLOT_RIGHT_BL, - DOCK_SLOT_RIGHT_UR = DockConstants::DOCK_SLOT_RIGHT_UR, - DOCK_SLOT_RIGHT_BR = DockConstants::DOCK_SLOT_RIGHT_BR, - DOCK_SLOT_BOTTOM = DockConstants::DOCK_SLOT_BOTTOM, - DOCK_SLOT_MAX = DockConstants::DOCK_SLOT_MAX + DOCK_SLOT_NONE = -1, + 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_BOTTOM, + DOCK_SLOT_MAX }; private: @@ -86,7 +85,7 @@ private: bool enabled = true; int previous_tab_index = -1; WindowWrapper *dock_window = nullptr; - int dock_slot_index = DockConstants::DOCK_SLOT_NONE; + int dock_slot_index = DOCK_SLOT_NONE; void _set_default_slot_bind(DockSlot p_slot); DockSlot _get_default_slot_bind() const { return default_slot; } @@ -133,7 +132,7 @@ public: Color get_title_color() const { return title_color; } void set_dock_shortcut(const Ref &p_shortcut); - Ref get_dock_shortcut() const { return shortcut; } + Ref get_dock_shortcut() const; void set_default_slot(DockSlot p_slot); DockSlot get_default_slot() const { return default_slot; } diff --git a/editor/docks/editor_dock_manager.cpp b/editor/docks/editor_dock_manager.cpp index 4b6a6effe2..b7a7a025a0 100644 --- a/editor/docks/editor_dock_manager.cpp +++ b/editor/docks/editor_dock_manager.cpp @@ -96,7 +96,7 @@ void EditorDockDragHint::gui_input(const Ref &p_event) { } } -void EditorDockDragHint::set_slot(DockConstants::DockSlot p_slot) { +void EditorDockDragHint::set_slot(EditorDock::DockSlot p_slot) { occupied_slot = p_slot; drop_tabbar = dock_manager->dock_slots[occupied_slot].container->get_tab_bar(); } @@ -128,7 +128,7 @@ void EditorDockDragHint::_notification(int p_what) { return; } - can_drop_dock = dragged_dock->get_available_layouts() & (EditorDock::DockLayout)EditorDockManager::get_singleton()->dock_slots[occupied_slot].layout; + can_drop_dock = dragged_dock->get_available_layouts() & EditorDockManager::get_singleton()->dock_slots[occupied_slot].layout; dock_drop_highlight->set_border_color(valid_drop_color); dock_drop_highlight->set_bg_color(valid_drop_color * Color(1, 1, 1, 0.1)); @@ -246,7 +246,7 @@ EditorDock *EditorDockManager::_get_dock_tab_dragged() { return dock_tab_dragged; } - Dictionary dock_drop_data = dock_slots[DockConstants::DOCK_SLOT_LEFT_BL].container->get_viewport()->gui_get_drag_data(); + Dictionary dock_drop_data = dock_slots[EditorDock::DOCK_SLOT_LEFT_BL].container->get_viewport()->gui_get_drag_data(); // Check if we are dragging a dock. if (dock_drop_data.get("type", "").operator String() != "tab") { @@ -270,7 +270,7 @@ EditorDock *EditorDockManager::_get_dock_tab_dragged() { return nullptr; } - for (int i = 0; i < DockConstants::DOCK_SLOT_MAX; i++) { + for (int i = 0; i < EditorDock::DOCK_SLOT_MAX; i++) { if (dock_slots[i].container->is_visible_in_tree()) { dock_slots[i].drag_hint->set_rect(dock_slots[i].container->get_global_rect()); dock_slots[i].drag_hint->show(); @@ -376,7 +376,7 @@ void EditorDockManager::_window_close_request(WindowWrapper *p_wrapper) { EditorDock *dock = _close_window(p_wrapper); ERR_FAIL_COND(!all_docks.has(dock)); - if (dock->dock_slot_index != DockConstants::DOCK_SLOT_NONE) { + if (dock->dock_slot_index != EditorDock::DOCK_SLOT_NONE) { dock->is_open = false; open_dock(dock); focus_dock(dock); @@ -597,7 +597,7 @@ void EditorDockManager::_update_tab_style(EditorDock *p_dock) { void EditorDockManager::save_docks_to_config(Ref p_layout, const String &p_section) const { // Save docks by dock slot. - for (int i = 0; i < DockConstants::DOCK_SLOT_MAX; i++) { + for (int i = 0; i < EditorDock::DOCK_SLOT_MAX; i++) { const DockSlot &dock_slot = dock_slots[i]; PackedStringArray names; @@ -724,7 +724,7 @@ void EditorDockManager::load_docks_from_config(Ref p_layout, const S } // Load docks by slot. Index -1 is for docks that have no slot. - for (int i = -1; i < DockConstants::DOCK_SLOT_MAX; i++) { + for (int i = -1; i < EditorDock::DOCK_SLOT_MAX; i++) { if (!p_layout->has_section_key(p_section, "dock_" + itos(i + 1))) { continue; } @@ -767,12 +767,12 @@ void EditorDockManager::load_docks_from_config(Ref p_layout, const S } // Set the selected tabs. - for (int i = 0; i < DockConstants::DOCK_SLOT_MAX; i++) { + for (int i = 0; i < EditorDock::DOCK_SLOT_MAX; i++) { const DockSlot &dock_slot = dock_slots[i]; int selected_tab_idx = p_layout->get_value(p_section, "dock_" + itos(i + 1) + "_selected_tab_idx", -1); if (selected_tab_idx <= 0 || selected_tab_idx >= dock_slot.container->get_tab_count()) { - if (i == DockConstants::DOCK_SLOT_BOTTOM) { + if (i == EditorDock::DOCK_SLOT_BOTTOM) { dock_slot.container->set_current_tab(-1); } continue; @@ -859,7 +859,7 @@ void EditorDockManager::open_dock(EditorDock *p_dock, bool p_set_current) { p_dock->is_open = true; // Open dock to its previous location. - if (p_dock->dock_slot_index != DockConstants::DOCK_SLOT_NONE) { + if (p_dock->dock_slot_index != EditorDock::DOCK_SLOT_NONE) { TabContainer *slot = dock_slots[p_dock->dock_slot_index].container; int tab_index = p_dock->previous_tab_index; if (tab_index < 0) { @@ -964,9 +964,9 @@ void EditorDockManager::set_docks_visible(bool p_show) { return; } docks_visible = p_show; - for (int i = 0; i < DockConstants::DOCK_SLOT_BOTTOM; i++) { + for (int i = 0; i < EditorDock::DOCK_SLOT_BOTTOM; i++) { // Show and hide in reverse order due to the SplitContainer prioritizing the last split offset. - TabContainer *container = dock_slots[docks_visible ? i : DockConstants::DOCK_SLOT_BOTTOM - i - 1].container; + TabContainer *container = dock_slots[docks_visible ? i : EditorDock::DOCK_SLOT_BOTTOM - i - 1].container; container->set_visible(docks_visible && container->get_tab_count() > 0); } _update_layout(); @@ -983,7 +983,7 @@ void EditorDockManager::update_tab_styles() { } void EditorDockManager::set_tab_icon_max_width(int p_max_width) { - for (int i = 0; i < DockConstants::DOCK_SLOT_MAX; i++) { + for (int i = 0; i < EditorDock::DOCK_SLOT_MAX; i++) { TabContainer *tab_container = dock_slots[i].container; tab_container->add_theme_constant_override(SNAME("icon_max_width"), p_max_width); } @@ -999,9 +999,9 @@ void EditorDockManager::set_hsplit(DockSplitContainer *p_split) { p_split->connect("dragged", callable_mp(this, &EditorDockManager::_dock_split_dragged)); } -void EditorDockManager::register_dock_slot(DockConstants::DockSlot p_dock_slot, TabContainer *p_tab_container, DockConstants::DockLayout p_layout) { +void EditorDockManager::register_dock_slot(EditorDock::DockSlot p_dock_slot, TabContainer *p_tab_container, EditorDock::DockLayout p_layout) { ERR_FAIL_NULL(p_tab_container); - ERR_FAIL_INDEX(p_dock_slot, DockConstants::DOCK_SLOT_MAX); + ERR_FAIL_INDEX(p_dock_slot, EditorDock::DOCK_SLOT_MAX); DockSlot slot; slot.layout = p_layout; @@ -1020,7 +1020,7 @@ void EditorDockManager::register_dock_slot(DockConstants::DockSlot p_dock_slot, p_tab_container->set_meta("dock_slot", p_dock_slot); p_tab_container->set_meta("dock_layout", p_layout); - if (p_layout == DockConstants::DOCK_LAYOUT_VERTICAL) { + if (p_layout == EditorDock::DOCK_LAYOUT_VERTICAL) { p_tab_container->set_custom_minimum_size(Size2(170, 0) * EDSCALE); p_tab_container->set_v_size_flags(Control::SIZE_EXPAND_FILL); p_tab_container->set_use_hidden_tabs_for_min_size(true); @@ -1121,7 +1121,7 @@ void DockContextPopup::_float_dock() { } bool DockContextPopup::_is_slot_available(int p_slot) const { - return context_dock->available_layouts & (EditorDock::DockLayout)EditorDockManager::get_singleton()->dock_slots[p_slot].layout; + return context_dock->available_layouts & EditorDockManager::get_singleton()->dock_slots[p_slot].layout; } void DockContextPopup::_dock_select_input(const Ref &p_input) { @@ -1131,7 +1131,7 @@ void DockContextPopup::_dock_select_input(const Ref &p_input) { Vector2 point = me->get_position(); int over_dock_slot = -1; - for (int i = 0; i < DockConstants::DOCK_SLOT_MAX; i++) { + for (int i = 0; i < EditorDock::DOCK_SLOT_MAX; i++) { if (dock_select_rects[i].has_point(point)) { over_dock_slot = i; break; @@ -1184,25 +1184,25 @@ void DockContextPopup::_dock_select_draw() { Rect2 center_panel_rect(center_panel_width, 0, center_panel_width, dock_size.y); if (dock_select->is_layout_rtl()) { - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_UR] = Rect2(Point2(), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_BR] = Rect2(Point2(0, dock_size.y), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_UL] = Rect2(Point2(dock_size.x, 0), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_BL] = Rect2(dock_size, dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_UR] = Rect2(Point2(dock_size.x * 4, 0), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_BR] = Rect2(Point2(dock_size.x * 4, dock_size.y), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_UL] = Rect2(Point2(dock_size.x * 5, 0), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_BL] = Rect2(Point2(dock_size.x * 5, dock_size.y), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_UR] = Rect2(Point2(), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_BR] = Rect2(Point2(0, dock_size.y), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_UL] = Rect2(Point2(dock_size.x, 0), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_BL] = Rect2(dock_size, dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_UR] = Rect2(Point2(dock_size.x * 4, 0), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_BR] = Rect2(Point2(dock_size.x * 4, dock_size.y), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_UL] = Rect2(Point2(dock_size.x * 5, 0), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_BL] = Rect2(Point2(dock_size.x * 5, dock_size.y), dock_size); } else { - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_UL] = Rect2(Point2(), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_BL] = Rect2(Point2(0, dock_size.y), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_UR] = Rect2(Point2(dock_size.x, 0), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_LEFT_BR] = Rect2(dock_size, dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_UL] = Rect2(Point2(dock_size.x * 4, 0), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_BL] = Rect2(Point2(dock_size.x * 4, dock_size.y), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_UR] = Rect2(Point2(dock_size.x * 5, 0), dock_size); - dock_select_rects[DockConstants::DOCK_SLOT_RIGHT_BR] = Rect2(Point2(dock_size.x * 5, dock_size.y), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_UL] = Rect2(Point2(), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_BL] = Rect2(Point2(0, dock_size.y), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_UR] = Rect2(Point2(dock_size.x, 0), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_LEFT_BR] = Rect2(dock_size, dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_UL] = Rect2(Point2(dock_size.x * 4, 0), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_BL] = Rect2(Point2(dock_size.x * 4, dock_size.y), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_UR] = Rect2(Point2(dock_size.x * 5, 0), dock_size); + dock_select_rects[EditorDock::DOCK_SLOT_RIGHT_BR] = Rect2(Point2(dock_size.x * 5, dock_size.y), dock_size); } - dock_select_rects[DockConstants::DOCK_SLOT_BOTTOM] = Rect2(center_panel_width, dock_size.y, center_panel_width, dock_size.y); + dock_select_rects[EditorDock::DOCK_SLOT_BOTTOM] = Rect2(center_panel_width, dock_size.y, center_panel_width, dock_size.y); int rtl_dir = dock_select->is_layout_rtl() ? -1 : 1; real_t tab_height = 3.0 * EDSCALE; @@ -1221,8 +1221,8 @@ void DockContextPopup::_dock_select_draw() { dock_select->draw_rect(center_panel_draw_rect, unusable_dock_color); // Draw all dock slots. - for (int i = 0; i < DockConstants::DOCK_SLOT_MAX; i++) { - int max_tabs = (i == DockConstants::DOCK_SLOT_BOTTOM) ? 6 : 3; + for (int i = 0; i < EditorDock::DOCK_SLOT_MAX; i++) { + int max_tabs = (i == EditorDock::DOCK_SLOT_BOTTOM) ? 6 : 3; const EditorDockManager::DockSlot &dock_slot = dock_manager->dock_slots[i]; Rect2 dock_slot_draw_rect = dock_select_rects[i].grow_individual(-dock_spacing, -dock_top_spacing, -dock_spacing, -dock_spacing); diff --git a/editor/docks/editor_dock_manager.h b/editor/docks/editor_dock_manager.h index 7e10be201e..02ec8585a5 100644 --- a/editor/docks/editor_dock_manager.h +++ b/editor/docks/editor_dock_manager.h @@ -30,7 +30,7 @@ #pragma once -#include "editor/docks/dock_constants.h" +#include "editor/docks/editor_dock.h" #include "scene/gui/popup.h" #include "scene/gui/split_container.h" @@ -91,10 +91,10 @@ private: struct DockSlot { TabContainer *container = nullptr; EditorDockDragHint *drag_hint = nullptr; - DockConstants::DockLayout layout = DockConstants::DOCK_LAYOUT_VERTICAL; + EditorDock::DockLayout layout = EditorDock::DOCK_LAYOUT_VERTICAL; }; - DockSlot dock_slots[DockConstants::DOCK_SLOT_MAX]; + DockSlot dock_slots[EditorDock::DOCK_SLOT_MAX]; Vector dock_windows; LocalVector all_docks; HashSet dirty_docks; @@ -138,7 +138,7 @@ public: void add_vsplit(DockSplitContainer *p_split); void set_hsplit(DockSplitContainer *p_split); - void register_dock_slot(DockConstants::DockSlot p_dock_slot, TabContainer *p_tab_container, DockConstants::DockLayout p_layout); + void register_dock_slot(EditorDock::DockSlot p_dock_slot, TabContainer *p_tab_container, EditorDock::DockLayout p_layout); int get_vsplit_count() const; PopupMenu *get_docks_menu(); @@ -167,7 +167,7 @@ class EditorDockDragHint : public Control { private: EditorDockManager *dock_manager = nullptr; - DockConstants::DockSlot occupied_slot = DockConstants::DOCK_SLOT_MAX; + EditorDock::DockSlot occupied_slot = EditorDock::DOCK_SLOT_MAX; TabBar *drop_tabbar = nullptr; Color valid_drop_color; @@ -187,7 +187,7 @@ protected: void drop_data(const Point2 &p_point, const Variant &p_data) override; public: - void set_slot(DockConstants::DockSlot p_slot); + void set_slot(EditorDock::DockSlot p_slot); EditorDockDragHint(); }; @@ -204,7 +204,7 @@ private: Button *close_button = nullptr; Control *dock_select = nullptr; - Rect2 dock_select_rects[DockConstants::DOCK_SLOT_MAX]; + Rect2 dock_select_rects[EditorDock::DOCK_SLOT_MAX]; int dock_select_rect_over_idx = -1; EditorDock *context_dock = nullptr; diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 4b048b7d59..757df717f2 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -8518,24 +8518,24 @@ EditorNode::EditorNode() { left_l_vsplit->set_vertical(true); main_hsplit->add_child(left_l_vsplit); - TabContainer *dock_slot[DockConstants::DOCK_SLOT_MAX]; - dock_slot[DockConstants::DOCK_SLOT_LEFT_UL] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_LEFT_UL]->set_name("DockSlotLeftUL"); - left_l_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_LEFT_UL]); - dock_slot[DockConstants::DOCK_SLOT_LEFT_BL] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_LEFT_BL]->set_name("DockSlotLeftBL"); - left_l_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_LEFT_BL]); + TabContainer *dock_slot[EditorDock::DOCK_SLOT_MAX]; + dock_slot[EditorDock::DOCK_SLOT_LEFT_UL] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_LEFT_UL]->set_name("DockSlotLeftUL"); + left_l_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_LEFT_UL]); + dock_slot[EditorDock::DOCK_SLOT_LEFT_BL] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_LEFT_BL]->set_name("DockSlotLeftBL"); + left_l_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_LEFT_BL]); left_r_vsplit = memnew(DockSplitContainer); left_r_vsplit->set_name("DockVSplitLeftR"); left_r_vsplit->set_vertical(true); main_hsplit->add_child(left_r_vsplit); - dock_slot[DockConstants::DOCK_SLOT_LEFT_UR] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_LEFT_UR]->set_name("DockSlotLeftUR"); - left_r_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_LEFT_UR]); - dock_slot[DockConstants::DOCK_SLOT_LEFT_BR] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_LEFT_BR]->set_name("DockSlotLeftBR"); - left_r_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_LEFT_BR]); + dock_slot[EditorDock::DOCK_SLOT_LEFT_UR] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_LEFT_UR]->set_name("DockSlotLeftUR"); + left_r_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_LEFT_UR]); + dock_slot[EditorDock::DOCK_SLOT_LEFT_BR] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_LEFT_BR]->set_name("DockSlotLeftBR"); + left_r_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_LEFT_BR]); VBoxContainer *center_vb = memnew(VBoxContainer); center_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL); @@ -8553,23 +8553,23 @@ EditorNode::EditorNode() { right_l_vsplit->set_name("DockVSplitRightL"); right_l_vsplit->set_vertical(true); main_hsplit->add_child(right_l_vsplit); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_UL] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_UL]->set_name("DockSlotRightUL"); - right_l_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_RIGHT_UL]); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_BL] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_BL]->set_name("DockSlotRightBL"); - right_l_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_RIGHT_BL]); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_UL] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_UL]->set_name("DockSlotRightUL"); + right_l_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_RIGHT_UL]); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_BL] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_BL]->set_name("DockSlotRightBL"); + right_l_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_RIGHT_BL]); right_r_vsplit = memnew(DockSplitContainer); right_r_vsplit->set_name("DockVSplitRightR"); right_r_vsplit->set_vertical(true); main_hsplit->add_child(right_r_vsplit); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_UR] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_UR]->set_name("DockSlotRightUR"); - right_r_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_RIGHT_UR]); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_BR] = memnew(TabContainer); - dock_slot[DockConstants::DOCK_SLOT_RIGHT_BR]->set_name("DockSlotRightBR"); - right_r_vsplit->add_child(dock_slot[DockConstants::DOCK_SLOT_RIGHT_BR]); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_UR] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_UR]->set_name("DockSlotRightUR"); + right_r_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_RIGHT_UR]); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_BR] = memnew(TabContainer); + dock_slot[EditorDock::DOCK_SLOT_RIGHT_BR]->set_name("DockSlotRightBR"); + right_r_vsplit->add_child(dock_slot[EditorDock::DOCK_SLOT_RIGHT_BR]); editor_dock_manager = memnew(EditorDockManager); @@ -8581,8 +8581,8 @@ EditorNode::EditorNode() { editor_dock_manager->set_hsplit(main_hsplit); - for (int i = 0; i < DockConstants::DOCK_SLOT_BOTTOM; i++) { - editor_dock_manager->register_dock_slot((DockConstants::DockSlot)i, dock_slot[i], DockConstants::DOCK_LAYOUT_VERTICAL); + for (int i = 0; i < EditorDock::DOCK_SLOT_BOTTOM; i++) { + editor_dock_manager->register_dock_slot((EditorDock::DockSlot)i, dock_slot[i], EditorDock::DOCK_LAYOUT_VERTICAL); } editor_layout_save_delay_timer = memnew(Timer); @@ -8988,7 +8988,7 @@ EditorNode::EditorNode() { // Bottom panels. bottom_panel = memnew(EditorBottomPanel); - editor_dock_manager->register_dock_slot(DockConstants::DOCK_SLOT_BOTTOM, bottom_panel, DockConstants::DOCK_LAYOUT_HORIZONTAL); + editor_dock_manager->register_dock_slot(EditorDock::DOCK_SLOT_BOTTOM, bottom_panel, EditorDock::DOCK_LAYOUT_HORIZONTAL); bottom_panel->set_theme_type_variation("BottomPanel"); center_split->add_child(bottom_panel); center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN); diff --git a/editor/plugins/editor_plugin.cpp b/editor/plugins/editor_plugin.cpp index 243a4cbc3f..d52e9919ec 100644 --- a/editor/plugins/editor_plugin.cpp +++ b/editor/plugins/editor_plugin.cpp @@ -725,6 +725,7 @@ void EditorPlugin::_bind_methods() { BIND_ENUM_CONSTANT(CONTAINER_PROJECT_SETTING_TAB_LEFT); BIND_ENUM_CONSTANT(CONTAINER_PROJECT_SETTING_TAB_RIGHT); +#ifndef DISABLE_DEPRECATED BIND_ENUM_CONSTANT(DOCK_SLOT_NONE); BIND_ENUM_CONSTANT(DOCK_SLOT_LEFT_UL); BIND_ENUM_CONSTANT(DOCK_SLOT_LEFT_BL); @@ -736,6 +737,7 @@ void EditorPlugin::_bind_methods() { BIND_ENUM_CONSTANT(DOCK_SLOT_RIGHT_BR); BIND_ENUM_CONSTANT(DOCK_SLOT_BOTTOM); BIND_ENUM_CONSTANT(DOCK_SLOT_MAX); +#endif BIND_ENUM_CONSTANT(AFTER_GUI_INPUT_PASS); BIND_ENUM_CONSTANT(AFTER_GUI_INPUT_STOP); diff --git a/editor/plugins/editor_plugin.h b/editor/plugins/editor_plugin.h index 58af2ee75b..bf01f79025 100644 --- a/editor/plugins/editor_plugin.h +++ b/editor/plugins/editor_plugin.h @@ -31,7 +31,6 @@ #pragma once #include "core/io/config_file.h" -#include "editor/docks/dock_constants.h" #include "editor/inspector/editor_context_menu_plugin.h" #include "scene/3d/camera_3d.h" #include "scene/gui/control.h" @@ -88,19 +87,21 @@ public: CONTAINER_PROJECT_SETTING_TAB_RIGHT, }; +#ifndef DISABLE_DEPRECATED enum DockSlot { - DOCK_SLOT_NONE = DockConstants::DOCK_SLOT_NONE, - DOCK_SLOT_LEFT_UL = DockConstants::DOCK_SLOT_LEFT_UL, - DOCK_SLOT_LEFT_BL = DockConstants::DOCK_SLOT_LEFT_BL, - DOCK_SLOT_LEFT_UR = DockConstants::DOCK_SLOT_LEFT_UR, - DOCK_SLOT_LEFT_BR = DockConstants::DOCK_SLOT_LEFT_BR, - DOCK_SLOT_RIGHT_UL = DockConstants::DOCK_SLOT_RIGHT_UL, - DOCK_SLOT_RIGHT_BL = DockConstants::DOCK_SLOT_RIGHT_BL, - DOCK_SLOT_RIGHT_UR = DockConstants::DOCK_SLOT_RIGHT_UR, - DOCK_SLOT_RIGHT_BR = DockConstants::DOCK_SLOT_RIGHT_BR, - DOCK_SLOT_BOTTOM = DockConstants::DOCK_SLOT_BOTTOM, - DOCK_SLOT_MAX = DockConstants::DOCK_SLOT_MAX + DOCK_SLOT_NONE = -1, + 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_BOTTOM, + DOCK_SLOT_MAX }; +#endif enum AfterGUIInput { AFTER_GUI_INPUT_PASS, @@ -268,8 +269,10 @@ public: void disable_plugin(); }; -VARIANT_ENUM_CAST(EditorPlugin::CustomControlContainer); +#ifndef DISABLE_DEPRECATED VARIANT_ENUM_CAST(EditorPlugin::DockSlot); +#endif +VARIANT_ENUM_CAST(EditorPlugin::CustomControlContainer); VARIANT_ENUM_CAST(EditorPlugin::AfterGUIInput); typedef EditorPlugin *(*EditorPluginCreateFunc)();