|
@@ -17186,25 +17186,23 @@ static void ImGui::DockNodePreviewDockSetup(ImGuiWindow* host_window, ImGuiDockN
|
|
data->IsCenterAvailable = true;
|
|
data->IsCenterAvailable = true;
|
|
if (is_outer_docking)
|
|
if (is_outer_docking)
|
|
data->IsCenterAvailable = false;
|
|
data->IsCenterAvailable = false;
|
|
- else if (dst_node_flags & ImGuiDockNodeFlags_NoDocking)
|
|
|
|
|
|
+ else if (dst_node_flags & ImGuiDockNodeFlags_NoDockingOverMe)
|
|
data->IsCenterAvailable = false;
|
|
data->IsCenterAvailable = false;
|
|
else if (host_node && (dst_node_flags & ImGuiDockNodeFlags_NoDockingInCentralNode) && host_node->IsCentralNode())
|
|
else if (host_node && (dst_node_flags & ImGuiDockNodeFlags_NoDockingInCentralNode) && host_node->IsCentralNode())
|
|
data->IsCenterAvailable = false;
|
|
data->IsCenterAvailable = false;
|
|
else if ((!host_node || !host_node->IsEmpty()) && payload_node && payload_node->IsSplitNode() && (payload_node->OnlyNodeWithWindows == NULL)) // Is _visibly_ split?
|
|
else if ((!host_node || !host_node->IsEmpty()) && payload_node && payload_node->IsSplitNode() && (payload_node->OnlyNodeWithWindows == NULL)) // Is _visibly_ split?
|
|
data->IsCenterAvailable = false;
|
|
data->IsCenterAvailable = false;
|
|
- else if (dst_node_flags & ImGuiDockNodeFlags_NoDockingOverMe)
|
|
|
|
- data->IsCenterAvailable = false;
|
|
|
|
else if ((src_node_flags & ImGuiDockNodeFlags_NoDockingOverOther) && (!host_node || !host_node->IsEmpty()))
|
|
else if ((src_node_flags & ImGuiDockNodeFlags_NoDockingOverOther) && (!host_node || !host_node->IsEmpty()))
|
|
data->IsCenterAvailable = false;
|
|
data->IsCenterAvailable = false;
|
|
else if ((src_node_flags & ImGuiDockNodeFlags_NoDockingOverEmpty) && host_node && host_node->IsEmpty())
|
|
else if ((src_node_flags & ImGuiDockNodeFlags_NoDockingOverEmpty) && host_node && host_node->IsEmpty())
|
|
data->IsCenterAvailable = false;
|
|
data->IsCenterAvailable = false;
|
|
|
|
|
|
data->IsSidesAvailable = true;
|
|
data->IsSidesAvailable = true;
|
|
- if ((dst_node_flags & ImGuiDockNodeFlags_NoSplit) || g.IO.ConfigDockingNoSplit)
|
|
|
|
|
|
+ if ((dst_node_flags & ImGuiDockNodeFlags_NoSplit) /*|| (dst_node_flags & ImGuiDockNodeFlags_NoDockingSplitMe)*/ || g.IO.ConfigDockingNoSplit)
|
|
data->IsSidesAvailable = false;
|
|
data->IsSidesAvailable = false;
|
|
else if (!is_outer_docking && host_node && host_node->ParentNode == NULL && host_node->IsCentralNode())
|
|
else if (!is_outer_docking && host_node && host_node->ParentNode == NULL && host_node->IsCentralNode())
|
|
data->IsSidesAvailable = false;
|
|
data->IsSidesAvailable = false;
|
|
- else if ((dst_node_flags & ImGuiDockNodeFlags_NoDockingSplitMe) || (src_node_flags & ImGuiDockNodeFlags_NoDockingSplitOther))
|
|
|
|
|
|
+ else if (src_node_flags & ImGuiDockNodeFlags_NoDockingSplitOther)
|
|
data->IsSidesAvailable = false;
|
|
data->IsSidesAvailable = false;
|
|
|
|
|
|
// Build a tentative future node (reuse same structure because it is practical. Shape will be readjusted when previewing a split)
|
|
// Build a tentative future node (reuse same structure because it is practical. Shape will be readjusted when previewing a split)
|
|
@@ -19916,7 +19914,7 @@ static void DebugNodeDockNodeFlags(ImGuiDockNodeFlags* p_flags, const char* labe
|
|
CheckboxFlags("HiddenTabBar", p_flags, ImGuiDockNodeFlags_HiddenTabBar);
|
|
CheckboxFlags("HiddenTabBar", p_flags, ImGuiDockNodeFlags_HiddenTabBar);
|
|
CheckboxFlags("NoWindowMenuButton", p_flags, ImGuiDockNodeFlags_NoWindowMenuButton);
|
|
CheckboxFlags("NoWindowMenuButton", p_flags, ImGuiDockNodeFlags_NoWindowMenuButton);
|
|
CheckboxFlags("NoCloseButton", p_flags, ImGuiDockNodeFlags_NoCloseButton);
|
|
CheckboxFlags("NoCloseButton", p_flags, ImGuiDockNodeFlags_NoCloseButton);
|
|
- CheckboxFlags("NoDocking", p_flags, ImGuiDockNodeFlags_NoDocking);
|
|
|
|
|
|
+ CheckboxFlags("NoDocking", p_flags, ImGuiDockNodeFlags_NoDocking); // Multiple flags
|
|
CheckboxFlags("NoDockingSplitMe", p_flags, ImGuiDockNodeFlags_NoDockingSplitMe);
|
|
CheckboxFlags("NoDockingSplitMe", p_flags, ImGuiDockNodeFlags_NoDockingSplitMe);
|
|
CheckboxFlags("NoDockingSplitOther", p_flags, ImGuiDockNodeFlags_NoDockingSplitOther);
|
|
CheckboxFlags("NoDockingSplitOther", p_flags, ImGuiDockNodeFlags_NoDockingSplitOther);
|
|
CheckboxFlags("NoDockingOverMe", p_flags, ImGuiDockNodeFlags_NoDockingOverMe);
|
|
CheckboxFlags("NoDockingOverMe", p_flags, ImGuiDockNodeFlags_NoDockingOverMe);
|