Merge pull request #106849 from KoBeWi/soft_coding

Don't hard-code hsplit count
This commit is contained in:
Thaddeus Crews
2025-09-20 13:41:28 -05:00
3 changed files with 10 additions and 5 deletions

View File

@ -1004,6 +1004,10 @@ void EditorDockManager::register_dock_slot(DockSlot p_dock_slot, TabContainer *p
EditorNode::get_singleton()->get_gui_base()->add_child(dock_drag_rects[p_dock_slot]); EditorNode::get_singleton()->get_gui_base()->add_child(dock_drag_rects[p_dock_slot]);
} }
int EditorDockManager::get_hsplit_count() const {
return hsplits.size();
}
int EditorDockManager::get_vsplit_count() const { int EditorDockManager::get_vsplit_count() const {
return vsplits.size(); return vsplits.size();
} }

View File

@ -149,6 +149,7 @@ public:
void add_vsplit(DockSplitContainer *p_split); void add_vsplit(DockSplitContainer *p_split);
void add_hsplit(DockSplitContainer *p_split); void add_hsplit(DockSplitContainer *p_split);
void register_dock_slot(DockSlot p_dock_slot, TabContainer *p_tab_container); void register_dock_slot(DockSlot p_dock_slot, TabContainer *p_tab_container);
int get_hsplit_count() const;
int get_vsplit_count() const; int get_vsplit_count() const;
PopupMenu *get_docks_menu(); PopupMenu *get_docks_menu();

View File

@ -8412,14 +8412,14 @@ EditorNode::EditorNode() {
default_layout->set_value(docks_section, "dock_4", "FileSystem"); default_layout->set_value(docks_section, "dock_4", "FileSystem");
default_layout->set_value(docks_section, "dock_5", "Inspector,Node,History"); default_layout->set_value(docks_section, "dock_5", "Inspector,Node,History");
// There are 4 vsplits and 4 hsplits. int hsplits[] = { 0, 270, -270, 0 };
DEV_ASSERT((int)std::size(hsplits) == editor_dock_manager->get_hsplit_count());
for (int i = 0; i < editor_dock_manager->get_hsplit_count(); i++) {
default_layout->set_value(docks_section, "dock_hsplit_" + itos(i + 1), hsplits[i]);
}
for (int i = 0; i < editor_dock_manager->get_vsplit_count(); i++) { for (int i = 0; i < editor_dock_manager->get_vsplit_count(); i++) {
default_layout->set_value(docks_section, "dock_split_" + itos(i + 1), 0); default_layout->set_value(docks_section, "dock_split_" + itos(i + 1), 0);
} }
default_layout->set_value(docks_section, "dock_hsplit_1", 0);
default_layout->set_value(docks_section, "dock_hsplit_2", 270);
default_layout->set_value(docks_section, "dock_hsplit_3", -270);
default_layout->set_value(docks_section, "dock_hsplit_4", 0);
_update_layouts_menu(); _update_layouts_menu();