You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bool is_drag_docking = ImRect(0, 0, window->SizeFull.x, GetFrameHeight()).Contains(g.ActiveIdClickOffset); // FIXME-DOCKING: Need to make this stateful and explicit
15476
15475
if (is_drag_docking && BeginDragDropSource(ImGuiDragDropFlags_SourceNoPreviewTooltip | ImGuiDragDropFlags_SourceNoHoldToOpenOthers | ImGuiDragDropFlags_SourceAutoExpirePayload))
// Preview docking request and find out split direction/ratio
15539
15538
//const bool do_preview = true; // Ignore testing for payload->IsPreview() which removes one frame of delay, but breaks overlapping drop targets within the same window.
Copy file name to clipboardexpand all lines: imgui.h
+2-3
Original file line number
Diff line number
Diff line change
@@ -759,8 +759,8 @@ namespace ImGui
759
759
// Docking
760
760
// [BETA API] Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable.
761
761
// Note: You can use most Docking facilities without calling any API. You DO NOT need to call DockSpace() to use Docking!
762
-
// - To dock windows: if io.ConfigDockingWithShift == false (default) drag window from their title bar.
763
-
// - To dock windows: if io.ConfigDockingWithShift == true: hold SHIFT anywhere while moving windows.
762
+
// - Drag from window title bar or their tab to dock/undock. Hold SHIFT to disable docking.
763
+
// - Drag from window menu button (upper-left button) to undock an entire node (all windows).
764
764
// About DockSpace:
765
765
// - Use DockSpace() to create an explicit dock node _within_ an existing window. See Docking demo for details.
766
766
// - DockSpace() needs to be submitted _before_ any window they can host. If you use a dockspace, submit it early in your app.
@@ -1854,7 +1854,6 @@ struct ImGuiIO
1854
1854
1855
1855
// Docking options (when ImGuiConfigFlags_DockingEnable is set)
1856
1856
bool ConfigDockingNoSplit; // = false // Simplified docking mode: disable window splitting, so docking is limited to merging multiple windows together into tab-bars.
1857
-
bool ConfigDockingWithShift; // = false // Enable docking with holding Shift key (reduce visual noise, allows dropping in wider space)
1858
1857
bool ConfigDockingAlwaysTabBar; // = false // [BETA] [FIXME: This currently creates regression with auto-sizing and general overhead] Make every single floating window display within a docking node.
1859
1858
bool ConfigDockingTransparentPayload;// = false // [BETA] Make window or viewport transparent when docking and only display docking boxes on the target viewport. Useful if rendering of multiple viewport cannot be synced. Best used with ConfigViewportsNoAutoMerge.
ImGui::SameLine(); HelpMarker(io.ConfigDockingWithShift ? "[beta] Use SHIFT to dock window into each others." : "[beta] Drag from title bar to dock windows into each others.");
459
+
ImGui::SameLine(); HelpMarker("Drag from window title bar or their tab to dock/undock. Hold SHIFT to disable docking.\n\nDrag from window menu button (upper-left button) to undock an entire node (all windows).");
460
460
if (io.ConfigFlags & ImGuiConfigFlags_DockingEnable)
ImGui::SameLine(); HelpMarker("Simplified docking mode: disable window splitting, so docking is limited to merging multiple windows together into tab-bars.");
"When docking is enabled, you can ALWAYS dock MOST window into another! Try it now!" "\n\n"
7560
-
" > if io.ConfigDockingWithShift==false (default):" "\n"
7561
-
" drag windows from title bar to dock" "\n"
7562
-
" > if io.ConfigDockingWithShift==true:" "\n"
7563
-
" drag windows from anywhere and hold Shift to dock" "\n\n"
7556
+
"When docking is enabled, you can ALWAYS dock MOST window into another! Try it now!" "\n"
7557
+
"- Drag from window title bar or their tab to dock/undock." "\n"
7558
+
"- Drag from window menu button (upper-left button) to undock an entire node (all windows)." "\n"
7559
+
"- Hold SHIFT to disable docking." "\n"
7564
7560
"This demo app has nothing to do with it!" "\n\n"
7565
7561
"This demo app only demonstrate the use of ImGui::DockSpace() which allows you to manually create a docking node _within_ another window. This is useful so you can decorate your main application window (e.g. with a menu bar)." "\n\n"
7566
7562
"ImGui::DockSpace() comes with one hard constraint: it needs to be submitted _before_ any window which may be docked into it. Therefore, if you use a dock spot as the central point of your application, you'll probably want it to be part of the very first window you are submitting to imgui every frame." "\n\n"
0 commit comments