You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-03 16:55:53 +00:00
Make bottom panel into available dock slot
This commit is contained in:
@@ -928,6 +928,15 @@ void EditorNode::_notification(int p_what) {
|
||||
case NOTIFICATION_READY: {
|
||||
started_timestamp = Time::get_singleton()->get_unix_time_from_system();
|
||||
|
||||
// Store the default order of bottom docks. It can only be determined dynamically.
|
||||
PackedStringArray bottom_docks;
|
||||
bottom_docks.reserve_exact(bottom_panel->get_tab_count());
|
||||
for (int i = 0; i < bottom_panel->get_tab_count(); i++) {
|
||||
EditorDock *dock = Object::cast_to<EditorDock>(bottom_panel->get_tab_control(i));
|
||||
bottom_docks.append(dock->get_effective_layout_key());
|
||||
}
|
||||
default_layout->set_value("docks", "dock_9", String(",").join(bottom_docks));
|
||||
|
||||
RenderingServer::get_singleton()->viewport_set_disable_2d(get_scene_root()->get_viewport_rid(), true);
|
||||
RenderingServer::get_singleton()->viewport_set_environment_mode(get_viewport()->get_viewport_rid(), RenderingServer::VIEWPORT_ENVIRONMENT_DISABLED);
|
||||
DisplayServer::get_singleton()->screen_set_keep_on(EDITOR_GET("interface/editor/keep_screen_on"));
|
||||
@@ -8231,13 +8240,13 @@ EditorNode::EditorNode() {
|
||||
left_l_vsplit->set_vertical(true);
|
||||
left_l_hsplit->add_child(left_l_vsplit);
|
||||
|
||||
TabContainer *dock_slot[EditorDockManager::DOCK_SLOT_MAX];
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_UL] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_UL]->set_name("DockSlotLeftUL");
|
||||
left_l_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_LEFT_UL]);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_BL] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_BL]->set_name("DockSlotLeftBL");
|
||||
left_l_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_LEFT_BL]);
|
||||
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]);
|
||||
|
||||
left_r_hsplit = memnew(DockSplitContainer);
|
||||
left_r_hsplit->set_name("DockHSplitLeftR");
|
||||
@@ -8246,12 +8255,12 @@ EditorNode::EditorNode() {
|
||||
left_r_vsplit->set_name("DockVSplitLeftR");
|
||||
left_r_vsplit->set_vertical(true);
|
||||
left_r_hsplit->add_child(left_r_vsplit);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_UR] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_UR]->set_name("DockSlotLeftUR");
|
||||
left_r_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_LEFT_UR]);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_BR] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_LEFT_BR]->set_name("DockSlotLeftBR");
|
||||
left_r_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_LEFT_BR]);
|
||||
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]);
|
||||
|
||||
main_hsplit = memnew(DockSplitContainer);
|
||||
main_hsplit->set_name("DockHSplitMain");
|
||||
@@ -8277,23 +8286,23 @@ EditorNode::EditorNode() {
|
||||
right_l_vsplit->set_name("DockVSplitRightL");
|
||||
right_l_vsplit->set_vertical(true);
|
||||
right_hsplit->add_child(right_l_vsplit);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_UL] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_UL]->set_name("DockSlotRightUL");
|
||||
right_l_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_UL]);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_BL] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_BL]->set_name("DockSlotRightBL");
|
||||
right_l_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_BL]);
|
||||
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]);
|
||||
|
||||
right_r_vsplit = memnew(DockSplitContainer);
|
||||
right_r_vsplit->set_name("DockVSplitRightR");
|
||||
right_r_vsplit->set_vertical(true);
|
||||
right_hsplit->add_child(right_r_vsplit);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_UR] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_UR]->set_name("DockSlotRightUR");
|
||||
right_r_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_UR]);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_BR] = memnew(TabContainer);
|
||||
dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_BR]->set_name("DockSlotRightBR");
|
||||
right_r_vsplit->add_child(dock_slot[EditorDockManager::DOCK_SLOT_RIGHT_BR]);
|
||||
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]);
|
||||
|
||||
editor_dock_manager = memnew(EditorDockManager);
|
||||
|
||||
@@ -8308,8 +8317,8 @@ EditorNode::EditorNode() {
|
||||
editor_dock_manager->add_hsplit(main_hsplit);
|
||||
editor_dock_manager->add_hsplit(right_hsplit);
|
||||
|
||||
for (int i = 0; i < EditorDockManager::DOCK_SLOT_MAX; i++) {
|
||||
editor_dock_manager->register_dock_slot((EditorDockManager::DockSlot)i, dock_slot[i]);
|
||||
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);
|
||||
}
|
||||
|
||||
editor_layout_save_delay_timer = memnew(Timer);
|
||||
@@ -8774,6 +8783,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);
|
||||
bottom_panel->set_theme_type_variation("BottomPanel");
|
||||
center_split->add_child(bottom_panel);
|
||||
center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
|
||||
|
||||
Reference in New Issue
Block a user