Docking: added io.ConfigDockingNoDockingOver to prevent merging windows into a same tab-bar.

This commit is contained in:
ocornut
2025-11-17 18:36:07 +01:00
parent 219ba3b617
commit 93eb459ae1
4 changed files with 9 additions and 0 deletions

View File

@@ -1590,6 +1590,7 @@ ImGuiIO::ImGuiIO()
// Docking options (when ImGuiConfigFlags_DockingEnable is set)
ConfigDockingNoSplit = false;
ConfigDockingNoDockingOver = false;
ConfigDockingWithShift = false;
ConfigDockingAlwaysTabBar = false;
ConfigDockingTransparentPayload = false;
@@ -19653,6 +19654,8 @@ static void ImGui::DockNodePreviewDockSetup(ImGuiWindow* host_window, ImGuiDockN
data->IsCenterAvailable = true;
if (is_outer_docking)
data->IsCenterAvailable = false;
else if (g.IO.ConfigDockingNoDockingOver)
data->IsCenterAvailable = false;
else if (dst_node_flags & ImGuiDockNodeFlags_NoDockingOverMe)
data->IsCenterAvailable = false;
else if (host_node && (dst_node_flags & ImGuiDockNodeFlags_NoDockingOverCentralNode) && host_node->IsCentralNode())