3414 Commits (66cfbbff5e0ae04f7a182678e09692a18adafe6f)

Author SHA1 Message Date
omar d3e8e5731a Docking: Renamed SetNextWindowDock() to SetNextWindowDockId(). Added GetWindowDockId(). 6 years ago
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. 6 years ago
omar 85e1e2b0c8 Docking: Added DockBuilderGetNode() wrapper for consistency. 6 years ago
omar 9960ccddb2 Docking: Added DockBuilderRemoveNode() + various tweaks. Fixed dragging/undocking dock node from CollapseButton. 6 years ago
omar 4021776d0f Docking: Fix for undocking node where the dockspace node is attached to an immovable parent window. + Tweak .ini output. 6 years ago
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) 6 years ago
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: 6 years ago
omar ae4b838840 Docking, Viewport: Rework ownership transfer/stealing to fix issues where non-child windows could be stick marked as not owning their viewport. 6 years ago
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. 6 years ago
omar 1127804109 Viewport: Misc tweaks. 6 years ago
omar 67be485e24 Docking: Fixed losing tab bar selection when extracting a whole docked node + reusing existing dock node when possible. 6 years ago
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
6 years ago
omar 840652830d Docking: Fixed undocking on whole dock node from leaving undesirable empty node in the docking tree. Fixed calls to MarkIniSettingsDirty(). 6 years ago
omar 5eabf44021 Nav: Use Platform_SetWindowFocus when CTRL+Tabbing to another viewport. 6 years ago
omar 599d5f185c TabBar: Recover if SelectedTabId doesn't exist anymore. 6 years ago
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. 6 years ago
omar e647f89c33 Docking: Added undocking of whole dock node by dragging from the Collapse button. Super useful and works great! 6 years ago
omar 82978fc88f Docking: Fix of title bar flicker during rebuild. Fixed dragging of DockNode always triggering BeginAsDockableDragDropSource() when io.ConfigDockingWithKeyMod is false. 6 years ago
omar 95d49c3b98 Docking: Internals renaming LastExplicitSize to SizeRef (invalidate .ini data) + todo 6 years ago
omar 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. 6 years ago
omar 291bfe6841 Docking: work to allow programmatic control of dock nodes, various refactor + assert fix. Probably broke something (but I haven't found what yet!) 6 years ago
omar 35032d41fa Docking: Internals: Transitioning some code toward consistently using ImGuiContext* ctx parameter instead of ImGuiDockContext 6 years ago
omar 28094b7cea Docking: Fixed central docking display with ImGuiDockSpaceFlags_NoSplit, affecting in particular with io.ConfigDockingWithKeyMod = false. + comments, asserts 6 years ago
omar b55b9aee9b Fixed bad merge (a82be53) where we lost the version number in Docking branch + moved Docking related API together for now. 6 years ago
omar 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. 6 years ago
omar 175bab4f5f Docking: Removed SplitRatio from ImGuiDockNode and ImGuiDockNodeSettings, which we don't need anymore. 6 years ago
omar 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 6 years ago
omar e32256b4b4 Merge branch 'viewport' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui_demo.cpp
#	imgui_internal.h
6 years ago
omar 132d8c5a99 Viewport: Increased threshold for setting ImGuiViewportFlags_NoFocusOnAppearing. (#1542), 2 doesn't seem enough with some docking setup. 6 years ago
omar 85a3fb3bef Viewport: Fix an issue introduced on ~August 16, which would assert when viewport are disabled. Also made the DestroyPlatformWindow process more sturdy. (#1542) 6 years ago
omar 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. 6 years ago
omar 136fc56af0 Docking: Better handling of window losing its dock node or having its dock node not active. 6 years ago
omar c355ed1267 Docking: Flicker fix when clicking on a Tab leading of a new window, in particular would be noticeable when using nested tab bars. 6 years ago
omar 1cefc48f13 Docking: Internal renaming and comments. + Fixed DockNodeMoveChildNodes() to transfer the LastExplicitSize value (was inconsequential afaik). 6 years ago
omar 211a9c8fd2 Docking: Added ImGuiDockSpaceFlags_KeepAliveOnly, important for multiple level of tabs. (also renamed ImGuiDockFlags to ImGuiDockSpaceFlags.) 6 years ago
omar f29b3b4033 Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. (#1542, #787) 6 years ago
omar df65d4a14f Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar c4e26f4b92 Nav: Added a way for code to cancel Alt for menu toggle (ImGuiNavInput_KeyMenu_). Cancelling out on platform window. close request. (#1542, #787) 6 years ago
omar 416918429d Docking: Added Type enum in ImGuiDockRequest. Renamed fields. DockSpace() skips node update if already submitted (when transitioning from implicit -> explicit DockSpace). 6 years ago
omar e2436ca625 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. 6 years ago
omar d5692bff00 Nav, Focus: Fixed ImGuiWindowFlags_NoBringToFrontOnFocus windows not being restoring focus properly after the main menu bar or last focused window is deactivated. 6 years ago
omar dcef0c0237 Docking: Updating LastFrameActive earlier in Begin() because BeginDocked() will need to use it. Extracted some code into a DockNodeIsDropAllowedOne() function. Comments. 6 years ago
omar 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. 6 years ago
omar b872aa5c8e Docking: io.ConfigResizeWindowsFromEdges default to true in Docking branch. Moved code in BeginTabItem(). 6 years ago
omar 062b1f0463 Fixed calling SetNextWindowSize()/SetWindowSize() with non-integer values leading to accidental alteration of window position. We now round the provided size. (#2067) 6 years ago
omar 2eaf722fd7 Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. (#2066) 6 years ago
omar a82be53407 Merge branch 'docking2' into viewport_docking
# Conflicts:
#	examples/example_glfw_opengl2/main.cpp
#	examples/example_glfw_opengl3/main.cpp
#	examples/example_glfw_vulkan/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
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
6 years ago
omar e381f22ac1 Docking: Added Docking system. (Part 3) (#351) 6 years ago
omar 9ac1e93aa1 Docking: Added Docking system. (Part 2) (#351) 6 years ago
omar 5adcb9ce6d Docking: Added empty skeleton/sections to facilitate diff/patch of incoming code (otherwise git gives us a messier patch). 6 years ago
omar 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. 6 years ago
omar 58d46e1fe6 Tabs: Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem() + demo. (#261, #351) 6 years ago
omar 741bdf151a Added ImGuiWindowFlags_UnsavedDocument flags. 6 years ago
omar 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) 6 years ago
omar 52e0de84a9 Internals: Split RenderTextClipped into two functions. 6 years ago
omar eb7033e75b Version 1.66 WIP 6 years ago
omar b974fffea0 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
6 years ago
omar e0cab5664a Version 1.65 6 years ago
omar 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.
6 years ago
omar a2616c79fe Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
6 years ago
omar e58bc3d5b7 Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. (#2036) 6 years ago
omar 0b18c11440 Refactor: Moved ImFile functions. (#2036) 6 years ago
omar 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) 6 years ago
omar 31b5b18611 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
6 years ago
omar bb3184af74 Refactor: moved low-layout helpers to imgui_widgets.cpp (Spacing, Dummy, NewLine, Separator, etc.) (#2036) 6 years ago
omar cbdce80837 Internals: Refactor: Moved render functions to their own section. (#2036) 6 years ago
omar 8601c39571 Viewport: Making the code a little more sturdy (flag changes) + added descriptions. (#1542) 6 years ago
omar af27ec296b Merge branch 'master' into viewport + added viewport ConfigFlags/BackendFlags
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
omar 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) 6 years ago
omar 77ba883f23 Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. (#1427) + changed ImGuiIO layout. 6 years ago
omar bbcc976739 Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent. 6 years ago
omar b944aa623c Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';' 6 years ago
omar a848807847 Minor inconsequential merges from Master/Docking branches 6 years ago
omar bdb30d7145 Merge branch 'master' into viewport 6 years ago
omar 897e5c6231 Viewport: Moved code following refactor. (#2036, #1542) 6 years ago
omar 40db2ca098 Fixed a build issue with non-Cygwin GCC under Windows. 6 years ago
omar 1007873d94 Misc: merge minor/inconsequential stuff from Docking branch to reduce drift. 6 years ago
omar bcb1441ce7 Version 1.65 WIP 6 years ago
omar fd201a90f1 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
6 years ago
omar 5d40d295b3 Comments, readme updates 6 years ago
omar fd90afef43 Refactor: Internals: Moved Viewport functions in imgui.cpp in their own section. (part 3) (#2036, #1542) 6 years ago
omar 5207afa0dd Refactor: Internals: Moved Viewport functions in imgui.cpp in their own section. (part 2) (#2036, #1542) 6 years ago
omar 0c24fe276c Merge branch 'master_164' into viewport_164
# Conflicts:
#	imgui.cpp
#	imgui_draw.cpp
#	imgui_widgets.cpp
6 years ago
omar 48db5713d6 Version 1.64 6 years ago
omar 38cfcf9fbc Tweak comments and indexes 6 years ago
omar c83391262e Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. (#2036) 6 years ago
omar 00262d51ad Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) (#2036) 6 years ago
omar d7c04ccbfb Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) (#2036) 6 years ago
omar b1f263b34b Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) (#2036) 6 years ago
omar a58e4dfd0f Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index (#2036) 6 years ago
omar 8a216fe756 Refactor: Internals: Moved Tooltip functions in imgui.cpp in their own section + comments. (#2036) 6 years ago
omar fd2bfb7e07 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 3) (#2036) 6 years ago
omar 064b949bc2 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 2) (#2036) 6 years ago
omar 2a0d26e603 Refactor: Internals: Moved Popup functions in imgui.cpp in their own section. (part 1) (#2036) 6 years ago
omar df37a156e8 Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index (#2036) 6 years ago
omar 346f83e014 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) (#2036, #787) 6 years ago
omar fefcc77f13 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) (#2036, #787) 6 years ago
omar b6cdfef442 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) (#2036, #787) 6 years ago
omar 172e426ba9 Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) (#2036, #787) 6 years ago
omar f74d9ec7f7 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (moved NavUpdate which would not diff properly unless empty lines were removed, hence the previous patch). (part 5) (#2036, #787) 6 years ago
omar 9093166eea Refactor: Internals: Removing new lines from NavUpdate solely because I couldn't find another way to get a neat diff/patch when moving it. (part 4) (#2036, #787) 6 years ago
omar f5ed5478e1 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (extracted some code out of NavUpdate()). (part 3) (#2036, #787) 6 years ago
omar 9a4234ea8e Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) (#2036, #787) 6 years ago
omar af002dc861 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) (#2036, #787) 6 years ago
omar adeb993122 Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. (#2036) 6 years ago
omar 81bc4265e5 Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. (#2036) 6 years ago
omar a44c5f7afe Refactor: Internals: Moved various functions in imgui.cpp (#2036) 6 years ago
omar 728b2ef026 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. DONE! (part 9) (#2036, #787) 6 years ago
omar cda45737ab Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 8) (#2036, #787) 6 years ago
omar acf3cc4c3f Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 7) (#2036, #787) 6 years ago
omar 8a6fd237f6 Refactor: Internals: Restored new lines in NavUpdate() ... (part 6) (#2036, #787) 6 years ago
omar 84eb2682b7 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (moved NavUpdate which would not diff properly unless empty lines were removed, hence the previous patch). (part 5) (#2036, #787) 6 years ago
omar 73052dc00c Refactor: Internals: Removing new lines from NavUpdate solely because I couldn't find another way to get a neat diff/patch when moving it. (part 4) (#2036, #787) 6 years ago
omar 6bda59e5b7 Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section (extracted some code out of NavUpdate()). (part 3) (#2036, #787) 6 years ago
omar 60ee4de56d Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 2) (#2036, #787) 6 years ago
omar ce58795bdf Refactor: Internals: Moved Navigation functions in imgui.cpp in their own section. (part 1) (#2036, #787) 6 years ago
omar f2926f910f Refactor: Internals: Moved Logging functions in imgui.cpp in their own section. (#2036) 6 years ago
omar 15172f0742 Refactor: Internals: Moved Settings functions in imgui.cpp in their own section. (#2036) 6 years ago
omar 98f618ed18 Refactor: Internals: Moved various functions in imgui.cpp (#2036) 6 years ago
omar 521405488b Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 24dfa0c957 Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 158a65c98f Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 6caf074bd5 Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 905e14f384 Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 4be79a8955 Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 2d952504ed Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 43219d36a6 Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 99b27488e7 Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 6c34bffbb5 Version 1.64 WIP 6 years ago
omar 2714f8fa23 Refactor: Moved Slider/Drag/Input functions + support DataType stuff from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar c25f48b902 Refactor: Moved InputText functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar ad0bfdcd95 Refactor: Moved ColorEdit/ColorPicker/ColorButton/etc. functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 5dc954f5d7 Refactor: Moved Tree/Selectable functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar a265c62636 Refactor: Moved Plot/Value functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 0e9577d0da Refactor: Moved Menu functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar f26b8c1e07 Refactor: Moved Combo/ListBox functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 6468a3c0ce Refactor: Moved Button/Image/Checkbox/RadioButton/Bullet/ProgressBar functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar 3eaa063984 Refactor: Moved Text functions from imgui.cpp to imgui_widgets.cpp (#2036) 6 years ago
omar f2aa124eb8 Version 1.64 WIP 6 years ago
omar 36b2f64051 Merge branch 'master' into viewport
# Conflicts:
#	examples/example_glfw_opengl3/main.cpp
#	examples/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui_internal.h
6 years ago
omar 9e0f24dcb6 Version 1.63 6 years ago
omar 92edb7a4e3 Internals: Tidying up, moving helpers to imgui_internal.h (in prevision of 1.64 refactor) 6 years ago
omar 2598d26c73 ColorEdit4: Fixed a bug when text input or drag and drop leading to unsaturated HSL values would erroneously alter the resulting color. (#2050) 6 years ago
omar f9634feb66 Internals: Merged some changes to facilitate 1D->2D transition for some elements, and merging the stack layout PR (#846) 6 years ago
omar f81caac459 Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui.h
6 years ago
omar e9c849884a Viewport: Fixed warnings due to bad merge. 6 years ago
omar 06e917f135 Internals: Renaming of non-user facing parts from ValueChanged to Edited terminology. (#2034, #820, #956, #1875) 6 years ago
omar 0810d57819 Renamed IsItemDeactivatedAfterChange() to IsItemDeactivatedAfterEdit() for consistency with new IsItemEdited() API. Kept redirection function (will obsolete fast as IsItemDeactivatedAfterChange() is very recent). (#820, #956, #1875, #2034) 6 years ago
omar e28b1078f5 Added IsItemEdited() to query if the last item modified its value (or was pressed). This is equivalent to the bool returned by most widgets. It is useful in some situation e.g. using InputText() with ImGuiInputTextFlags_EnterReturnsTrue. (#2034) 6 years ago
omar abaa274592 Internals: Wired a ImGuiItemStatusFlags_ValueChanged into ItemStatusFlags, for an hypothetical IsItemValueChanged() function. (#2034) 6 years ago