Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)

This commit is contained in:
ocornut
2023-09-15 20:15:13 +02:00
parent 14f8b76c1a
commit 1612813114
3 changed files with 7 additions and 4 deletions
+2 -1
View File
@@ -4461,7 +4461,7 @@ void ImGui::StartMouseMovingWindowOrNode(ImGuiWindow* window, ImGuiDockNode* nod
{
ImGuiContext& g = *GImGui;
bool can_undock_node = false;
if (node != NULL && node->VisibleWindow && (node->VisibleWindow->Flags & ImGuiWindowFlags_NoMove) == 0)
if (node != NULL && node->VisibleWindow && (node->VisibleWindow->Flags & ImGuiWindowFlags_NoMove) == 0 && (node->MergedFlags & ImGuiDockNodeFlags_NoUndocking) == 0)
{
// Can undock if:
// - part of a floating node hierarchy with more than one visible node (if only one is visible, we'll just move the whole hierarchy)
@@ -19893,6 +19893,7 @@ static void DebugNodeDockNodeFlags(ImGuiDockNodeFlags* p_flags, const char* labe
CheckboxFlags("NoDockingOverMe", p_flags, ImGuiDockNodeFlags_NoDockingOverMe);
CheckboxFlags("NoDockingOverOther", p_flags, ImGuiDockNodeFlags_NoDockingOverOther);
CheckboxFlags("NoDockingOverEmpty", p_flags, ImGuiDockNodeFlags_NoDockingOverEmpty);
CheckboxFlags("NoUndocking", p_flags, ImGuiDockNodeFlags_NoUndocking);
if (!enabled)
EndDisabled();
PopStyleVar();