From b5020b7646a7d859b5d0bd983495ad9ac31731f1 Mon Sep 17 00:00:00 2001 From: Michael Alexsander Date: Tue, 19 May 2026 23:24:03 -0300 Subject: [PATCH] Unify dock split registration --- editor/docks/editor_dock_manager.cpp | 20 +++++--------------- editor/docks/editor_dock_manager.h | 8 +++++--- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/editor/docks/editor_dock_manager.cpp b/editor/docks/editor_dock_manager.cpp index 50b991a61c..98678a6293 100644 --- a/editor/docks/editor_dock_manager.cpp +++ b/editor/docks/editor_dock_manager.cpp @@ -789,26 +789,16 @@ void EditorDockManager::set_tab_icon_max_width(int p_max_width) { } } +void EditorDockManager::_register_split(DockSplitContainer **p_var, DockSplitContainer *p_split) { + *p_var = p_split; + p_split->connect("dragged", callable_mp(this, &EditorDockManager::_dock_split_dragged)); +} + void EditorDockManager::add_vsplit(DockSplitContainer *p_split) { vsplits.push_back(p_split); p_split->connect("dragged", callable_mp(this, &EditorDockManager::_dock_split_dragged)); } -void EditorDockManager::set_main_vsplit(DockSplitContainer *p_split) { - main_vsplit = p_split; - p_split->connect("dragged", callable_mp(this, &EditorDockManager::_dock_split_dragged)); -} - -void EditorDockManager::set_main_hsplit(DockSplitContainer *p_split) { - main_hsplit = p_split; - p_split->connect("dragged", callable_mp(this, &EditorDockManager::_dock_split_dragged)); -} - -void EditorDockManager::set_bottom_hsplit(DockSplitContainer *p_split) { - bottom_hsplit = p_split; - p_split->connect("dragged", callable_mp(this, &EditorDockManager::_dock_split_dragged)); -} - void EditorDockManager::register_dock_slot(DockTabContainer *p_tab_container) { ERR_FAIL_NULL(p_tab_container); dock_slots[p_tab_container->dock_slot] = p_tab_container; diff --git a/editor/docks/editor_dock_manager.h b/editor/docks/editor_dock_manager.h index caf7277ce3..02880a1b14 100644 --- a/editor/docks/editor_dock_manager.h +++ b/editor/docks/editor_dock_manager.h @@ -126,6 +126,8 @@ private: void _queue_update_tab_style(EditorDock *p_dock); void _update_dirty_dock_tabs(); + void _register_split(DockSplitContainer **p_var, DockSplitContainer *p_split); + public: static EditorDockManager *get_singleton() { return singleton; } @@ -134,9 +136,9 @@ public: void set_tab_icon_max_width(int p_max_width); void add_vsplit(DockSplitContainer *p_split); - void set_main_vsplit(DockSplitContainer *p_split); - void set_main_hsplit(DockSplitContainer *p_split); - void set_bottom_hsplit(DockSplitContainer *p_split); + void set_main_vsplit(DockSplitContainer *p_split) { _register_split(&main_vsplit, p_split); } + void set_main_hsplit(DockSplitContainer *p_split) { _register_split(&main_hsplit, p_split); } + void set_bottom_hsplit(DockSplitContainer *p_split) { _register_split(&bottom_hsplit, p_split); } void register_dock_slot(DockTabContainer *p_tab_container); int get_vsplit_count() const; PopupMenu *get_docks_menu();