Commit Graph

5674 Commits (3ead9820f7dc43d9ccafc51849aab441bd5e17c0)
 

Author SHA1 Message Date
omar 2cff3f6a65 Docking: Renamed io.ConfigDockingWithKeyMode to io.ConfigDockingWithShift.
omar 76e31bd51a Fixed typo. (, )
omar e623be998d Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. ()
omar b48ed9ebc0 Docking: Better tracking of current dock id for inactive and uncreated windows (in settings etc.). + Fixed assert when docking a single-visible leaf node of a hierarchy into another
omar 4e717b524c Docking: Fixes for C++03 compilers.
omar ae657a349a Docking: Fixed extracting a dock node from a document root: document root should be preserved.
omar ed3c015f4e Docking: Reorganizing some of the tab-bar selection and window focus related code.
omar 9cfc40c2cc Docking: Demo: Displaying a message if master docking flag is disabled. + DockSpace() early out + comments.
omar 6ebc63d3ef Docking: Various sanity fixes + fixed tab-bar items sorting issue when docking single window with a dock node into single window without dock node.
omar 1ae0a1e658 Docking: Fix DockContextRebuild() temporarily invalidating dockid reference leading to undesirable merging of nodes.
omar 46dff42239 Docking: Fixed dock node with single window accidental stealing of non-owned host viewport (leading to general havoc).
omar 35d1fb7b34 Style: Added style.TabRounding setting.
omar 876a3299fc Docking: Added DockBuilderCopyDockspace() wip. Added DockBuilderCopyWindowSettings(), renamed DockBuilderForkNode() to DockBuilderCopyNode().
omar 3dcd552628 Fixed extraneous static attribute. ()
Loïc HAMOT 9aae21483a Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings ()
omar 93896d550e Added FindOrCreateWindowSettings() internal helper.
omar 18ffb7dd86 Docking: Reworked DockContextPruneUnusedSettingsNodes() to prune entire unused trees.
omar c0a89f8f4e ImPool: Added Reserve() helper function.
omar c6193d0605 Merge branch 'viewport' into docking
omar 6cc380fc41 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_win32.cpp
#	examples/imgui_impl_win32.h
#	imgui.cpp
omar 61d94ff88e Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
omar a7d3ae8937 BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack to the provided string to uniquely identify the child window. This was undoing an intentional change introduced in 1.50 and broken in 1.60. (, , ) + reworked the Begin/BeginChild comments in imgui.h.
omar 4053d9d638 Docking: Fixed tab order restoring (follow up to 67be485e, broken in 455dc6e2)
omar 45731cca19 Docking: Added DockBuilderForkNode() primitive for usage for user code to fork/copy entire layouts. This will probably need to be added to as I find ways to migrate patterns from user code to the library. Added IMGUI_DEBUG_DOCKING_INI helper to facilitate debugging. (+1 squashed commits)
omar dc92431328 Docking: Minor renaming. DockContextAddNode() uses 0 as marker for automatic ID selection + TODO update and moved docking entries to docs/TODO.txt
omar d3e8e5731a Docking: Renamed SetNextWindowDock() to SetNextWindowDockId(). Added GetWindowDockId().
omar 53a5d32df1 Docking: Reworked SetNextWindowUserType() as SetNextWindowDockFamily(), allowing multiple scene to be tagged with their scene id and not receive tabs from other scene + persistent storage for family id to allow for docking tree fork/remap.
omar 85e1e2b0c8 Docking: Added DockBuilderGetNode() wrapper for consistency.
omar 9960ccddb2 Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton.
omar 4021776d0f Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output.
omar fa0ce4b7d5 Docking: Some DockBuilder functions are applied on settings data if windows are not present. Added DockBuilderCreateNode which needs a size else if we can't split properly. DockNodeTreeSplit() doesn't clamp SizeRef. (+1 squashed commits)
omar 781a7950d7 ImVector: Fixed a oddly unqualified return type in the assignment operator (I assume C++ handles it nicely as this never warned anywhere, but it is completely unintentional).
omar 2a5ce1849a Docking, Viewport: Reworked viewport inheritance/transition so that extracting a dock node from a split node owning its viewport will have both viewports be in the expected OS z-order. (The lower window re-use the exiting viewport, the detached node uses a new viewport:
omar ae4b838840 Docking, Viewport: Rework ownership transfer/stealing to fix issues where non-child windows could be stick marked as not owning their viewport.
omar 79c075ca09 Docking+Viewport: Fixed PlatformRequestClose (e.g. ALT-F4) being redrected to the first window of the docking node instead of the selected one.
omar 1127804109 Viewport: Misc tweaks.
omar 788febf044 Examples: Vulkan: Fixed some minor discrepency in the SDL+Vulkan example to match the Glfw+Vulkan example. (cc )
omar 67be485e24 Docking: Fixed losing tab bar selection when extracting a whole docked node + reusing existing dock node when possible.
omar fda57f48d5 Merge branch 'viewport' into docking
# Conflicts:
#	examples/example_glfw_opengl2/main.cpp
#	examples/example_glfw_opengl3/main.cpp
#	examples/example_glfw_vulkan/main.cpp
#	examples/example_sdl_opengl2/main.cpp
#	examples/example_sdl_opengl3/main.cpp
#	examples/example_sdl_vulkan/main.cpp
#	examples/example_win32_directx10/main.cpp
#	examples/example_win32_directx11/main.cpp
#	examples/example_win32_directx12/main.cpp
#	examples/example_win32_directx9/main.cpp
omar 840652830d Docking: Fixed undocking on whole dock node from leaving undesirable empty node in the docking tree. Fixed calls to MarkIniSettingsDirty().
omar 5eabf44021 Nav: Use Platform_SetWindowFocus when CTRL+Tabbing to another viewport.
omar 599d5f185c TabBar: Recover if SelectedTabId doesn't exist anymore.
omar 5719b23e01 ImDrawList: Fixed AddConvexPolyFilled() undefined behavior when passing points_count smaller than 3, in particular, points_count==0 could lead to a memory stomp if the draw list was previously empty.
omar 7abc368927 Viewport: GLFW: Build fix for pre GLFW 3.2 ()
omar 7c3b9172ad Examples: Referring to missing gamepad support in back-end that are missing it.
omar b57baa5ba0 Viewport: Enabled viewports by default in more example apps.
omar 3d318a6577 ArrowButton(): Fixed arrow shape being horizontally misaligned by (FramePadding.y-FramePadding.x) if they are different.
Demo: Added extra usage of AlignTextToFramePadding() in a more visible section.
omar 3e47978a80 Docking: Renamed ImGuiDockSpaceFlags to ImGuiDockNodeFlags. Clarified in comments/demos that DockSpace creates a Node. Renamed IsExplicitRoot to IsDockSpace. Assert against explicitly calling DockSpace twice in a frame.
omar e647f89c33 Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great!
omar 82978fc88f Docking: Fix of title bar flicker during rebuild. Fixed dragging of DockNode always triggering BeginAsDockableDragDropSource() when io.ConfigDockingWithKeyMod is false.