Commit Graph

  • 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 2018-09-26 13:09:41 +02:00
  • dc92431328 Docking: Minor renaming. DockContextAddNode() uses 0 as marker for automatic ID selection + TODO update and moved docking entries to docs/TODO.txt omar 2018-09-25 22:05:53 +02:00
  • d3e8e5731a Docking: Renamed SetNextWindowDock() to SetNextWindowDockId(). Added GetWindowDockId(). omar 2018-09-25 17:45:06 +02:00
  • 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 2018-09-25 15:57:47 +02:00
  • 85e1e2b0c8 Docking: Added DockBuilderGetNode() wrapper for consistency. omar 2018-09-25 14:12:16 +02:00
  • 9960ccddb2 Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton. omar 2018-09-24 23:16:19 +02:00
  • 4021776d0f Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output. omar 2018-09-24 17:13:08 +02:00
  • 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 2018-09-24 11:06:31 +02:00
  • 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 2018-09-24 11:33:26 +02:00
  • 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 2018-09-24 10:53:51 +02:00
  • ae4b838840 Docking, Viewport: Rework ownership transfer/stealing to fix issues where non-child windows could be stick marked as not owning their viewport. omar 2018-09-24 10:48:16 +02:00
  • 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 2018-09-21 18:50:45 +02:00
  • 1127804109 Viewport: Misc tweaks. omar 2018-09-21 17:54:00 +02:00
  • 788febf044 Examples: Vulkan: Fixed some minor discrepency in the SDL+Vulkan example to match the Glfw+Vulkan example. (cc #2097) omar 2018-09-24 10:13:01 +02:00
  • 67be485e24 Docking: Fixed losing tab bar selection when extracting a whole docked node + reusing existing dock node when possible. omar 2018-09-21 15:59:31 +02:00
  • fda57f48d5 Merge branch 'viewport' into docking omar 2018-09-21 11:52:32 +02:00
  • 840652830d Docking: Fixed undocking on whole dock node from leaving undesirable empty node in the docking tree. Fixed calls to MarkIniSettingsDirty(). omar 2018-09-21 11:48:22 +02:00
  • 5eabf44021 Nav: Use Platform_SetWindowFocus when CTRL+Tabbing to another viewport. omar 2018-09-21 11:11:38 +02:00
  • 599d5f185c TabBar: Recover if SelectedTabId doesn't exist anymore. omar 2018-09-21 11:02:03 +02:00
  • 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 2018-09-21 10:00:26 +02:00
  • 7abc368927 Viewport: GLFW: Build fix for pre GLFW 3.2 (#1542) omar 2018-09-20 18:46:36 +02:00
  • 7c3b9172ad Examples: Referring to missing gamepad support in back-end that are missing it. omar 2018-09-20 10:37:55 +02:00
  • b57baa5ba0 Viewport: Enabled viewports by default in more example apps. omar 2018-09-20 10:31:23 +02:00
  • 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 2018-09-20 10:24:29 +02:00
  • 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 2018-09-20 09:25:50 +02:00
  • e647f89c33 Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great! omar 2018-09-19 22:38:40 +02:00
  • 82978fc88f Docking: Fix of title bar flicker during rebuild. Fixed dragging of DockNode always triggering BeginAsDockableDragDropSource() when io.ConfigDockingWithKeyMod is false. omar 2018-09-19 18:45:18 +02:00
  • 95d49c3b98 Docking: Internals renaming LastExplicitSize to SizeRef (invalidate .ini data) + todo omar 2018-09-19 11:25:44 +02:00
  • 455dc6e229 Docking: Creating tab bar and adding window into tab bar immediately (not sure why I didn't do that before). Probably broke something subtle, will find out. *Edit* Initially broke restoring selected tab. omar 2018-09-17 22:35:30 +02:00
  • 291bfe6841 Docking: work to allow programmatic control of dock nodes, various refactor + assert fix. Probably broke something (but I haven't found what yet!) omar 2018-09-17 18:32:10 +02:00
  • 0b190f11b9 Contributing, Issue Template omar 2018-09-18 18:04:32 +02:00
  • 35032d41fa Docking: Internals: Transitioning some code toward consistently using ImGuiContext* ctx parameter instead of ImGuiDockContext omar 2018-09-17 17:06:52 +02:00
  • 28094b7cea Docking: Fixed central docking display with ImGuiDockSpaceFlags_NoSplit, affecting in particular with io.ConfigDockingWithKeyMod = false. + comments, asserts omar 2018-09-17 15:12:38 +02:00
  • 571676ebd2 Added Fonts readme details and links to Sweet16 font. (#2085) omar 2018-09-17 13:15:57 +02:00
  • 4b353ce482 Fix file names (#2083) Tesla Ice Zhang 2018-09-15 15:41:07 -04:00
  • b55b9aee9b Fixed bad merge (a82be53) where we lost the version number in Docking branch + moved Docking related API together for now. omar 2018-09-14 18:09:46 +02:00
  • 0f1c21a6c9 Docking: Changed DockSpace() signature to take an ID, as ID will frequently be used by other API it makes more sense to let the user compute it. omar 2018-09-14 18:02:54 +02:00
  • 175bab4f5f Docking: Removed SplitRatio from ImGuiDockNode and ImGuiDockNodeSettings, which we don't need anymore. omar 2018-09-14 17:51:30 +02:00
  • ba7b68798d Docking: Misc rework/rename toward being able to rebuild a branch selectively, so we can honor settings changes on a per Dockspace basis. + Comments omar 2018-09-14 14:56:36 +02:00
  • e32256b4b4 Merge branch 'viewport' into docking omar 2018-09-14 11:38:10 +02:00
  • 132d8c5a99 Viewport: Increased threshold for setting ImGuiViewportFlags_NoFocusOnAppearing. (#1542), 2 doesn't seem enough with some docking setup. omar 2018-09-14 11:37:17 +02:00
  • b85f345369 Merge branch 'master' into viewport omar 2018-09-14 11:32:55 +02:00
  • c12da2a607 BeginMenu(): Fixed menu popup horizontal offset being off the item in the menu bar when WindowPadding=0.0f. omar 2018-09-14 11:27:18 +02:00
  • ca5dc0c019 ColorPicker: Replaced the Separator with a Spacing call. (#2068) omar 2018-09-14 10:05:53 +02:00
  • 85a3fb3bef Viewport: Fix an issue introduced on ~August 16, which would assert when viewport are disabled. Also made the DestroyPlatformWindow process more sturdy. (#1542) omar 2018-09-13 17:11:06 +02:00
  • 6d91055462 Docking: Fixed floating->docking transition on a platform window mistakenly destroying the platform window because the upcoming tab isn't visible and triggers viewport GC. Fixed missing title bar data on recreate window. omar 2018-09-13 15:06:27 +02:00
  • 1afd29d382 Examples: Using "dear imgui" terminology in all examples headers/comments + fix minor typo. omar 2018-09-13 16:44:08 +02:00
  • 136fc56af0 Docking: Better handling of window losing its dock node or having its dock node not active. omar 2018-09-13 14:38:37 +02:00
  • c355ed1267 Docking: Flicker fix when clicking on a Tab leading of a new window, in particular would be noticeable when using nested tab bars. omar 2018-09-13 11:46:59 +02:00
  • ec04e8bb05 Fix MSVC's C4312 warning about casting user texture type to void* in ImageButton (#2080) Elias Daler 2018-09-12 23:58:45 +03:00
  • 9cc63ba279 Internals: Replace unsigned short with ImWchar when dealing with character storage (missing cases) + in imgui_impl_ file keep using neutral type everywhere, added missing explicit cast in three bindings. (#2078) omar 2018-09-11 22:00:39 +02:00
  • 201fcfd2e5 Internals: Replace unsigned short with ImWchar when dealing with character storage. (#2078) ice1000 2018-09-11 12:04:45 -04:00
  • 1cefc48f13 Docking: Internal renaming and comments. + Fixed DockNodeMoveChildNodes() to transfer the LastExplicitSize value (was inconsequential afaik). omar 2018-09-11 18:00:01 +02:00
  • 211a9c8fd2 Docking: Added ImGuiDockSpaceFlags_KeepAliveOnly, important for multiple level of tabs. (also renamed ImGuiDockFlags to ImGuiDockSpaceFlags.) omar 2018-09-11 16:04:02 +02:00
  • f29b3b4033 Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. (#1542, #787) omar 2018-09-10 22:19:54 +02:00
  • df65d4a14f Merge branch 'master' into viewport omar 2018-09-11 11:18:46 +02:00
  • d014d0285a DragFloat: Disabled using power curve when one edge is FLT_MAX (broken in 1.61). Disabled setting a default drag speed when one edge is FLT_MAX. (#2024) omar 2018-09-11 11:15:06 +02:00
  • af6cf25255 DragFloat: Fixed a situation where dragging with value rounding enabled or with a power curve erroneously wrapped the value to one of the min/max edge. (#2024, #708, #320, #2075). omar 2018-09-11 10:55:52 +02:00
  • c4e26f4b92 Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. (#1542, #787) omar 2018-09-10 22:19:54 +02:00
  • 416918429d Docking: Added Type enum in ImGuiDockRequest. Renamed fields. DockSpace() skips node update if already submitted (when transitioning from implicit -> explicit DockSpace). omar 2018-09-10 22:08:33 +02:00
  • e2436ca625 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. omar 2018-09-10 20:30:14 +02:00
  • d5692bff00 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. omar 2018-09-10 20:30:14 +02:00
  • dcef0c0237 Docking: Updating LastFrameActive earlier in Begin() because BeginDocked() will need to use it. Extracted some code into a DockNodeIsDropAllowedOne() function. Comments. omar 2018-09-10 15:40:05 +02:00
  • a68c98bb67 Docking: Added SetNextWindowUserType() + user type filtering in dockspace and window merging. Added DockSpace() flag ImGuiDockFlags_NoSplit. Renaming. Reworked the DockNodeUpdateFindOnlyNodeWithWindows code so DockNodeUpdate can access the first window. omar 2018-09-10 12:07:29 +02:00
  • b872aa5c8e Docking: io.ConfigResizeWindowsFromEdges default to true in Docking branch. Moved code in BeginTabItem(). omar 2018-09-07 19:17:30 +02:00
  • 7eadcf7d7d example_glfw_vulkan was missing a reference to imgui_widgets.cpp (#2071, #2036) MindSpunk 2018-09-09 22:32:57 +10:00
  • 062b1f0463 Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. (#2067) omar 2018-09-07 22:30:46 +02:00
  • 2eaf722fd7 Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. (#2066) omar 2018-09-07 17:23:55 +02:00
  • a82be53407 Merge branch 'docking2' into viewport_docking omar 2018-09-06 22:25:42 +02:00
  • 49533bc86e Examples: Enabled Docking + Nav by default in the branch. (#351) omar 2018-09-06 21:53:35 +02:00
  • e381f22ac1 Docking: Added Docking system. (Part 3) (#351) omar 2018-09-06 21:38:43 +02:00
  • 9ac1e93aa1 Docking: Added Docking system. (Part 2) (#351) omar 2018-09-06 21:23:15 +02:00
  • bd5b38e232 Docking: Added Docking system. Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable. (Part 1) (#351) omar 2018-09-06 21:19:22 +02:00
  • 5adcb9ce6d Docking: Added empty skeleton/sections to facilitate diff/patch of incoming code (otherwise git gives us a messier patch). omar 2018-09-06 20:51:27 +02:00
  • 2ec135c9f7 Docking: Added ImVec2[] non const operator. Added ImStrSkipBlank. Reseting some values earlier in Begin. Added IMGUI_DEBUG_LOG() helper. Added docking source code section. omar 2018-09-06 20:50:01 +02:00
  • 58d46e1fe6 Tabs: Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem() + demo. (#261, #351) omar 2018-09-06 15:35:03 +02:00
  • c039a77d21 Internals: Added ImPool helper structure. Moved ImVec1f. omar 2018-09-06 15:34:03 +02:00
  • 741bdf151a Added ImGuiWindowFlags_UnsavedDocument flags. omar 2018-06-17 21:10:10 +02:00
  • 5070c769b8 Internals: Windows hidden with HiddenFramesRegular (but NOT HiddenFramesForResize) preserve their SizeContents, so restoring a auto-resize window after it's been hidden by tabs won't reset its size for a frame. Arguable. Let's see how it goes. (Followup to b48e295bddbf965d7382ec5578ed05d2fe601114) omar 2018-07-02 22:53:59 +02:00
  • 52e0de84a9 Internals: Split RenderTextClipped into two functions. omar 2018-06-17 20:34:07 +02:00
  • eb7033e75b Version 1.66 WIP omar 2018-09-06 21:44:59 +02:00
  • b974fffea0 Merge branch 'master' into viewport omar 2018-09-06 15:59:35 +02:00
  • e0cab5664a Version 1.65 v1.65 omar 2018-09-06 15:58:58 +02:00
  • 5a679a45cc Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. (#1718, #2036) If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths. The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified. omar 2018-09-06 15:58:25 +02:00
  • a2616c79fe Merge branch 'master' into viewport omar 2018-09-06 11:42:11 +02:00
  • e58bc3d5b7 Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. (#2036) omar 2018-09-06 11:35:13 +02:00
  • 0b18c11440 Refactor: Moved ImFile functions. (#2036) omar 2018-09-06 11:09:55 +02:00
  • ab64e8f993 Refactor: Moved one indentation level in the bulk of the ShowMetricsWindow() function. Should appear as a small diff if whitespaces changes are ignored. (#2036) omar 2018-09-06 11:05:23 +02:00
  • 31b5b18611 Merge branch 'master' into viewport omar 2018-09-05 20:59:27 +02:00
  • bb3184af74 Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) (#2036) omar 2018-09-05 20:54:28 +02:00
  • cbdce80837 Internals: Refactor: Moved render functions to their own section. (#2036) omar 2018-09-05 20:36:36 +02:00
  • 8601c39571 Viewport: Making the code a little more sturdy (flag changes) + added descriptions. (#1542) omar 2018-09-05 17:50:55 +02:00
  • af27ec296b Merge branch 'master' into viewport + added viewport ConfigFlags/BackendFlags omar 2018-09-05 17:38:47 +02:00
  • 65876f348a Nav: Removed the [Beta] tag from various descriptions of the gamepad/keyboard navigation system. Although it is not perfect and will keep being improved, it is fairly functional and used by many. (#787) omar 2018-09-05 17:33:00 +02:00
  • 77ba883f23 Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. (#1427) + changed ImGuiIO layout. omar 2018-09-05 17:20:27 +02:00
  • bbcc976739 Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent. omar 2018-09-05 17:14:37 +02:00
  • b944aa623c Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';' omar 2018-09-05 11:52:48 +02:00
  • a848807847 Minor inconsequential merges from Master/Docking branches omar 2018-09-05 11:51:45 +02:00
  • bdb30d7145 Merge branch 'master' into viewport omar 2018-09-05 11:08:57 +02:00
  • 897e5c6231 Viewport: Moved code following refactor. (#2036, #1542) omar 2018-09-05 11:08:44 +02:00