2795 Commits (8364d1ca6ca2b4f114f1f5e6de83f66e999df507)

Author SHA1 Message Date
omar 4ae5c7e227 Columns: Refactor: Moved ColumnsSet[] to window out of DC as they are persistent data for most + fix for pre C++11 compilers. (#125, #1499) 7 years ago
omar b016215c80 Columns: Refactor: Not using statestorage lookup anymore. (#125, #1499) 7 years ago
omar 3a31a75e3b Columns: Refactor: Renamed all members. (#125, #1499) 7 years ago
omar 78320aa633 Columns: Refactor: Moved columns data into their own data structure. Minimum changes now to ease diffing. (#125, #1499) 7 years ago
omar 027ffd91ea IsWindowFocused(): oops, that was bound to happen with loosely typed enums (this is sort of why I made both values identical - no direct side effects). 7 years ago
omar 16fb58984f Merge branch 'master' into navigation 7 years ago
omar 90d0b8b58b Navigation: minor sync to reduce drifts between changes 7 years ago
omar 8b59ed0708 Drag and Drop: Exposed some internals. 7 years ago
omar 7c7a7baf76 Merged miscellaneous small stuff (from nav/dock branches). 7 years ago
omar b174fcc9af Added IsAnyWindowFocused() (from Nav branch). 7 years ago
omar fa9327ccf8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_draw.cpp
#	imgui_internal.h
7 years ago
omar d0a1be0de0 Merge branch 'drag_and_drop' 7 years ago
omar ab049c6fc0 Drag and Drop: Fix merge for IMGUI_DISABLE_OBSOLETE_FUNCTIONS 7 years ago
omar 7faa5b16bb Tweak 7 years ago
omar 3ea5e67ba2 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
7 years ago
omar 02e0a078f4 Begin: Tidying up code to make it more readable. 7 years ago
omar 28bbf1ade6 Fixed ParentWindow setup which broke Modal windows (fix c65124f415) 7 years ago
omar d561a43a4d Drag and Drop: Drop target infer a fallback ID from the rectangle. Avoid Preview being accepted on drop frame when drop target has no ID. (#143) 7 years ago
omar e98df91dc4 Drag and Drop: Added ImGuiCol_DragDropTarget (#143, #707) 7 years ago
omar 7ec934f439 Drag and Drop: Comments 7 years ago
omar 052b6021dd Merge branch 'master' into drag_and_drop
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
7 years ago
omar 0a3db267c3 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
7 years ago
omar 6190ab0084 Renamed GetItemsLineHeightWithSpacing() to GetFrameHeightWithSpacing() 7 years ago
omar c22657985a Added GetFrameHeight() function (used to be SmallSquareSize internally) 7 years ago
omar ee7f1921e8 Internals: Added GetSmallSquareSize() 7 years ago
omar 08b72eb5c0 IsWindowFocused() refactor will flags. (#1382)
Marked IsRootWindowFocused() as obsolete in favor of using IsWindowFocused(ImGuiFocusedFlags_RootWindow).
Marked IsRootWindowOrAnyChildFocused() as obsolete in favor of using IsWindowFocused(ImGuiFocusedFlags_RootAndChildWindows).
7 years ago
omar c65124f415 Internals: ParentWindow is now NULL for non-child windows and means what everyone expects. 7 years ago
omar f42d7b89e2 Internals: Removed misleading GetWindowParent() function. + renaming to clear confusing. 7 years ago
omar 4a555d35f0 IsWindowHovered(): split ImGuiHoveredFlags_FlattenChild into separate ChildWindows and RootWindow flags. Allowing more combination and a better symetry with IsWindowFocused() flags. (#1382) 7 years ago
omar f93945540f Renamed ImGuiTreeNodeFlags_AllowOverlapMode to ImGuiTreeNodeFlags_AllowItemOverlap. (#600, #1330) 7 years ago
omar 45f440bb7d Internals: Renamed ImGuiButtonFlags_FlattenChilds -> ImGuiButtonFlags_FlattenChildren, ImGuiButtonFlags_AllowOverlapMode -> ImGuiButtonFlags_AllowItemOverlap 7 years ago
omar 2b9d8ab91d Merge branch 'master' into drag_and_drop
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar 38bfdb357e Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar 9fd15defe4 Added an implementation of SetItemDefaultFocus() in the master branch for combo patterns to use and be more forward-compatible. (#787) 7 years ago
omar d1db229907 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
7 years ago
omar e3e0326ea9 Exposed BeginCombo() publicly. 7 years ago
omar eab6333a0b SetNextWindowContentSize() adjust for client->window size, but the fate of borders isn't really clear for now (until now we always tried to make borders not affect layout, so if we want a 200x200 fully visible space with borders and zero window padding user need to include the borders) (#1490) 7 years ago
omar 7ac1583411 Scrollbar: Minor simplication of the code using InnerRect data. 7 years ago
omar a9b01600ac Internals: window->InnerRect includes removal of borders so it'll be easier to use from other locations. 7 years ago
omar b75acc21b0 Fix for border under title bar when WindowBorderSize == 0 and FrameBorderSize > 0 7 years ago
omar f72b002da8 Removed SetNextWindowContentWidth(), prefer using SetNextWindowContentSize(). Kept redirection function (will obsolete). (#246, #519, #1444) 7 years ago
Branimir Karadžić e23083a080 Fixed warning: logical ‘and’ of equal expressions 7 years ago
omar 0365c524a2 ColorPicker4: Fixed returning true when holding mouse button on the sat/value/alpha locations. (#1489) 7 years ago
omar a8c7b1a2a2 ColorEdit4: Made IsItemActive() return true when picker popup is active. (#1489) 7 years ago
omar 871a5cecc1 Merge branch 'master' into navigation 7 years ago
omar c9f0275e22 Combo: Removed ImGuiWindowFlags_ComboBox flag. Moved internal window flags. 7 years ago
omar 457011660e Mouse wheel scrolling doesn't change speed inside Combo box (uses to slow down from 5 to 3) but instead slow down on window that are smaller than the scroll speed. 7 years ago
omar a263dce2f2 Combo: Cleanup. Removed unrequired uses of the _ComboBox flag (the test in EndChild() is from commit no 1!). We could remove ImGuiWindowFlags_ComboBox soonish. 7 years ago
omar 9ce51ad9f6 Fix bad merge 7 years ago
omar a6f37287d8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 7ac5f11b29 Standardizing the casing/format of internal window names + Misc comments. 7 years ago
omar befc58771c Combo: Recycling windows by using a stack number instead of a unique id, wasitng less windows. 7 years ago
omar e998c7d3e3 Combo: Moved functions (untouched). 7 years ago
omar a5e9392140 Combo: Added flags to BeginCombo() new api, removed explicit height, default to 8 instead of 7 items, allow popup height constraints via SetNextWindowSizeConstraints(), width expand if contents doesn't fit, popup reposition policy if it doesn't fit. 7 years ago
omar d9d231dc6b Internals: Renamed CalcSizeFullWithConstraint() to CalcSizeAfterConstraint() which is more appropriate + added explicit parameter to CalcSizeAutoFit() so it can be used externally. 7 years ago
omar 74f42baf3e Fixed scrollbar issue, source size when explicit was read before applying custom size constraints (followup to cc2c023880 etc.) 7 years ago
omar 541dfd7901 Combo: Comments + fixed missing lower window padding. 7 years ago
omar 9872297a84 Internals: Renamed FindBestPopupWindowPos() to FindBestWindowPosForPopup() 7 years ago
omar 7bf85db6c4 Drag and drop: Added COL3F payload for color without alpha overwrite. Exposed standard color payload types in imgui.h (#143) 7 years ago
omar b6b940c8ee Merge branch 'master' into navigation + removed extraneous g.NavDisableMouseHover test in IsItemHovered()
# Conflicts:
#	imgui.cpp
7 years ago
omar e118239f69 IsItemHovered() comments (#1382) 7 years ago
omar 553b0fcf8f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar ca0bb000ad Begin: Factored out a bit of code to CalcSizeContents() 7 years ago
omar f658edc72a Begin: Remove unnecessary usage of window_is_new flag, as both fields are zero on window creation. 7 years ago
omar 45466a8cf9 Internals: BeginCombo() added dummy ImGuiComboFlags. 7 years ago
omar 97edd42fc0 Indent(), Unindent(): Allow passing negative values. 7 years ago
omar 7f2b9ea4c0 Begin: Minor refactor following fcf652f8ee7267055e331bf7a0133ed477816f27. Merging the if (Collapsed) block with the main one. 7 years ago
omar 8dcc1a8a20 Begin: Sizing fixes regarding uses SetNextWindowSize() on individual axises. 7 years ago
omar e045eddd77 Minor tweaks. Using ImGuiAxis defines. 7 years ago
omar 92f7bd3605 Fixed 64-bit warnings. 7 years ago
omar cc2c023880 Fixed scrollbar issue, followup to beda5fc5a0 and 2df8fa95df. 7 years ago
omar e6215b6ca0 Merge branch 'master' into navigation + merge fix
# Conflicts:
#	imgui.cpp
7 years ago
omar 3c9f9a455e Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended. FIXED TYPO. 7 years ago
omar 8959c64b33 Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended 7 years ago
omar 20c7aab60c Exposed GetOverlayDrawList(). (~#545, ~#530) 7 years ago
omar 6deb865f78 Nav: Merge fix. 7 years ago
omar 2fc6a82665 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar 8f41508c52 Begin: Move the code that update the Appearing flag above the BeginDocked() branch. 7 years ago
omar 2fc9a2e6e7 Fixed nav branch merge issue. 7 years ago
omar beda5fc5a0 Fixed scrollbar enable/disable calculation when size is modified programmatically. This is the generalization of the fix in 2df8fa95df. 7 years ago
omar ecacaf7f2d Lower-right resize grip only appears when hovered. (#822) 7 years ago
omar 3b7e4eaf38 Comments about ImGuiWindowFlags_ResizeFromAnySide. Removed hovering color. May need its own color. (#822) 7 years ago
omar 531e559e49 Windows can be resized from their borders when ImGuiWindowFlags_ResizeFromAnySide is set. (#822) The interaction is currently unsatisfying because we can only reach a window from its inner rectangle (because of HoveredWindow filtering). 7 years ago
omar e103fe8c1f Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. (#822) 7 years ago
omar 90ae1c59c4 Added ImGuiWindowFlags_ResizeFromAnySide flag and code to resize from any of the 4 corners (only 2 corners enabled). (#822) 7 years ago
omar 729333293c Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar 0f119865a6 Comments about ImGuiWindowFlags_ResizeFromAnySide. Removed hovering color. May need its own color. (#822) 7 years ago
omar 5686c72bbd Windows can be resized from their borders when ImGuiWindowFlags_ResizeFromAnySide is set. (#822) The interaction is currently unsatisfying because we can only reach a window from its inner rectangle (because of HoveredWindow filtering). 7 years ago
omar b9dc0caee3 Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. (#822) 7 years ago
omar 2ca4f9e862 Added ImGuiWindowFlags_ResizeFromAnySide flag and code to resize from any of the 4 corners (only 2 corners enabled). (#822) 7 years ago
omar 364251146b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 77d1a4b636 Fixed a one frame glitch, when window claiming focus themselves on appear, the title bar wouldn't use the focused color on that frame. 7 years ago
omar 16d9fa30b2 Merge branch 'master' into drag_and_drop 7 years ago
omar 5f7cd7fb1c Internals: Splitter Behavior doesn't show a border. (#319) 7 years ago
omar be6384eb2a Style: Tweaked default WindowRounding value from 9 to 7 (#707) 7 years ago
omar 6ea744d8f4 Drag and Drop: Added DragSource from color square. Added DragTarget on ColorEdit4 widget. (#143) 7 years ago
omar 81cbaef806 Merge branch 'master' into navigation 7 years ago
omar b513fdce48 Scrolling: SetScrollFromPosY() tweak to match change in a0d53fee81084a547bf21f46e736ea89f79fffb5 with similar desirable jump/discontinuity at each limit to skip the (ItemSpacing>WindowPadding) difference (followup to 0e5b64ecd2, #150) 7 years ago
omar c36e586cce Style, Scrolling: Fixed padding and scrolling asymetry where lower/right sides of a window wouldn't use WindowPadding properly + causing minor scrolling glitches. 7 years ago
omar 25c159fac8 Internals: Removed unnecessary duplicate scrolling code + added extra infos to Metrics window. 7 years ago
omar 52e475230f Settings: Internals: Renaming. 7 years ago
omar 2e1013a0c6 Settings: Internals: Simplifying code a bit. Creating Settings structure during first save. Windows where ImGuiWindowFlags_NoSavedSettings was late toggled will save settings correctly. (#1000) 7 years ago
omar 7ae71e4984 Settings: Internals: Added FindSettingsHandler() 7 years ago
omar 35eb5c5c99 Settings: Internals: Exposed FindWindowSettings(). Simplified some code. 7 years ago
omar 963259d128 Settings: Internals: Renamed ImGuiSettingsWindow to ImGuiWindowSettings. 7 years ago
omar 63712d5f5c Merge branch 'master' into drag_and_drop 7 years ago
omar 9191b17218 Merge branch 'master' into navigation 7 years ago
omar 4a43632163 Build fix 7 years ago
omar 1a8a7c9d17 Settings: Import old style .ini file 7 years ago
omar e5ebe42207 Settings: Make ImGuiWindow settings always first in the list. 7 years ago
omar f3ec608c19 Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h 7 years ago
omar 7e2d0d734c Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing. 7 years ago
omar d552cabd15 Settings: Internal renaming of structure and fields names. 7 years ago
Emmanuel Benoît 77a310736d Horizontal mouse wheel support
This patch adds support for the horizontal mouse wheel in ImGui. It
affects windows that can be scrolled, as long as the Ctrl key is not
being pressed.

The scrolling speed has been set empirically so that it matches the
scrolling speed on the Firefox browser when the horizontal wheel is
used.

Internally, it adds a MouseHorizWheel to ImGuiIO, which is then used in
NewFrame to scroll the current window.

The SDL/GL2, SDL/GL3, GLFW/GL2 and GLFW/GL3 examples has been modified
to use it.
7 years ago
omar ade09b9e3c Settings: Basic internal refactor to have functions for saving from/to memory (not exposed) 7 years ago
omar 532f564fd3 ImGuiTextBuffer: Renamed append() helper to appendf(), appendv() to appendfv(). Added reserve(). 7 years ago
omar d9c5d72962 ImGuiStorage: Added BuildSortByKey() helper to rebuild storage from stratch. 7 years ago
omar 46e994de4e Nav: Do not clear last navigation id stored in a hidden child window. (#787) 7 years ago
omar 4e3c7f1557 Nav: Exposed NavInitWindow() in imgui_internal (#787) 7 years ago
omar f5c47faee8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 6bd3b45b34 Sisyphus says: tweaked comments about not using old-style OpenGL examples (#1459, #1394 etc.) 7 years ago
stfx 6d3cfba834
Add Slider hover color just like Drag
I feel like there should be hover color options for each different control instead of the grouped frame color to make it usable for everyone. This also would not reduce performance as all controls already check for hover state as required by the ImGUI::IsHoveredItem() API.
7 years ago
omar 7763ab3fcc Menu bar: better software clipping to handle small windows, in particular child window don't have the minimum constraint added in e9a7e73bba so we need to render clipped menus better. 7 years ago
omar b618629d99 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 7d09a0ae99 Menu bar: better software clipping to handle small windows, in particular child window don't have the minimum constraint added in e9a7e73bba so we need to render clipped menus better. 7 years ago
omar aafa6cece5 Tweak expression to be less weird (how did that ever happen?) 7 years ago
Giuseppe Barbieri 21b456e567
Update imgui.cpp 7 years ago
omar 68b26b4867 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 176d8fbe74 Fixed unreferenced variable warnings. 7 years ago
omar 302757447a Internals: Added SplitterBehavior(). (#319) 7 years ago
omar 195abc3d17 Begin: Fix border size latch when rounding uses Child or Popup value. (#707) 7 years ago
omar 2543807e56 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 3f5b2a3fe3 Exposed ImDrawCornerFlags, replaced occurences of ~0 with an explicit ImDrawCornerFlags_All. Inversed BotLeft (prev 1<<3, now 1<<2) and BotRight (prev 1<<2, now 1<<3). 7 years ago
omar 7f447c8270 Color picker: Tweak vertex shading code, since we aren't shading between PrimReserve and PrimVert the code can be expressed more naturally. (#346) 7 years ago
omar dc2768503f Fix for drag and drop branch. 7 years ago
omar 92212b17aa Merge branch 'master' into drag_and_drop 7 years ago
omar 9848a7023b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
7 years ago
omar abbf836fd0 Style, Begin: removed ImGuiWindowFlags_ShowBorders window flag. Borders are now fully set up in the ImGuiStyle structure (see e.g. style.FrameBorderSize, style.WindowBorderSize). Use ImGui::ShowStyleEditor() to look them up. (#707, fix #819, #1031, ref #1019, ref #447) 7 years ago
omar c433bc971f Reorder fields for consistency. 7 years ago
omar 39137ccc3e Style: renamed ImGuiCol_ChildWindowBg to ImGuiCol_ChildBg. (#707) 7 years ago
omar 9a44d447cd NewFrame() now asserts if neither Render or EndFrame have been called. Exposed EndFrame(). Made it legal to call EndFrame() more than one. (#1423 etc.) 7 years ago
omar 538a704143 NewFrame(): using literal strings in the most-frequently firing IM_ASSERT expression to increase the odd of programmers seeing them (especially those who don't use a debugger). 7 years ago
omar d211a0e338 Merge branch 'master' into navigation (with style breakable)
# Conflicts:
#	imgui.cpp
#	imgui_draw.cpp
7 years ago
omar 4022ada843 Merge branch 'master' into drag_and_drop 7 years ago
omar 8a7f03cbf9 Combo: Offset popup position by border size so that a double border isn't so visible. (#707) 7 years ago
omar d7af1a218e Style: Added PopupRounding setting. (#1112) 7 years ago
omar 067605052d Fix IsItemHovered() returning true for non-title bar hidden items that are clipped due to window collapsing logic. Fix 27fd1b913b. (#823) 7 years ago
omar 6f7b1bf2e1 Internals: Renamed ImGuiWindow::Accessed to WriteAccessed. 7 years ago
omar 58345b11e1 Style: Removed ImGuiCol_ComboBg in favor of combo boxes using ImGuiCol_PopupBg for consistency. (#707) 7 years ago
omar 29e0078b66 Internals: Window minor internal renaming + added WindowRounding latch. 7 years ago
omar bd4bc929ce Style: renamed style.ChildWindowRounding to style.ChildRounding, ImGuiStyleVar_ChildWindowRounding to ImGuiStyleVar_ChildRounding. 7 years ago
omar da2be7bbdc Style: ScaleAllSizes() helper rounds down every values so they are aligned on integers. 7 years ago
omar 834fa52c8e Columns: Added ImGuiColumnsFlags_GrowParentContentsSize to internal API to restore old content sizes behavior. (#1444, #125) 7 years ago
omar 7746dd104c Merge branch 'master' into drag_and_drop 7 years ago
omar 44c590393c Merge branch 'master' into navigation 7 years ago
omar 29d962069d Internals: Updating condition/allow flags with a function. 7 years ago
omar 4ad414c8d4 Internals: Window: Store whether the windows has a close button (we need that info for window/tabs dropping preview calculation) 7 years ago
omar 7c4be0a000 Internals: Added BringWindowToFront(), BringWindowToBack() helpers. 7 years ago
omar 6817f3a3d9 Merge branch 'master' into navigation 7 years ago
omar e9a7e73bba Windows with MenuBar have a larger minimum height to avoid artefacts (I fixed most of the vertical/horizontal artefacts, but the ones in rounded corners were too hard to fix). 7 years ago
omar f36037b384 Menu: Fixed minor rendering issues on the right size with rounded window when resizing a window small. 7 years ago
omar 9b82d9fbef Scrollbar: Minor graphical fix for when scrollbar don't have enough visible space to display the full grab. 7 years ago
omar f5bdf443c9 Minor comments, tweaks 7 years ago
omar 5ea6e80da1 Make it possible to use SetNextWindowPos() on a child window. Useful internally. 7 years ago
omar 44b761b308 Merge branch 'master' into drag_and_drop 7 years ago
omar 27fd1b913b Made it guaranteed by API that after calling Begin() the last Item represent the title bar. (#823) 7 years ago
omar ae060b1d67 Merge branch 'master' into drag_and_drop 7 years ago
omar 64031852de Merge branch 'master' into navigation 7 years ago
omar 64e79035d5 Scrollbar flicker fix for menus/popups (fixes 4d00dd8326 and 2df8fa95df). Hopefully right this time. 7 years ago
omar 6001d9c7a4 Columns: Clipping columns borders on Y axis on CPU because some GPU drivers appears to be unhappy with triangle spanning large regions (not sure why tbh). (#125)
Demo: Columns: Adding a billion of extra lines and using clipper.
7 years ago
omar ffad688fc8 Drag and Drop: Added payload->IsPreview() to user can render their custom preview while handling overlapping drop targets. (#143) 7 years ago
omar 852ece3a0e Fixed build (3e06450d27 not meant for master branch, but ok) 7 years ago
omar 2275cb8b83 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 3e06450d27 Internals: Added ArrowButton() helper. 7 years ago
omar 7908cce25f Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. (#143) 7 years ago
omar 4d00dd8326 Fixed scrollbar flickering on/off when uncollapsing a window (fixes 2df8fa95df) 7 years ago
omar 30bf40195b io.OptNoCursorBlink -> io.OptCursorBlink (#1427) 7 years ago
omar 669498ff26 Added io.OptNoCursorBlink option to disable cursor blinking. (#1427). Renamed io.OSXBehaviors to io.OptMacOSXBehaviors. Should affect users as the compile-time default is usually enough. (#473, #650) 7 years ago
Branimir Karadžić 9daac64ff8 Clean g.WindowsById storage on shutdown. 7 years ago
omar 06075f20ba Merge branch 'master' into navigation 7 years ago
omar ba09de3a39 Begin: Fixed appending into a child window with a second Begin() from a different window stack querying the wrong window for the window->Collapsed test. 7 years ago
omar 8451855a30 ButtonBehavior: Fixed ImGuiButtonFlags_AllowOverlapMode to avoid temporarily activating widgets on click before they have been correctly double-hovered. (#319, #600) 7 years ago
omar 4b94738c7e Drag and Drop: Drop target rectangle goes out of clipping range (#143) 7 years ago
omar b1653cd361 Drag and Drop: Allow NULL payload (since type only can be useful). (#143) 7 years ago
omar a297cbafdb Merge branch 'master' into navigation 7 years ago
omar 2df8fa95df Fixed vertical scrollbar flickering/appearing, typically when manually resizing and using a pattern of filling available height (e.g. full sized BeginChild). THIS IS A GREAT FIX, this glitch was nasty and annoying (and yet somehow nobody reported it?). Hopefully haven't broken anything else... 7 years ago
omar a4cc3d4637 Minor tweaks/comments. Note that the reordering the one subtraction caused subtle havoc before the patch in 9ac8820ee2. 7 years ago
omar 9ac8820ee2 Fixed non-pixel aligned bounding box of window resize grip, / which triumphally led to any re-arrangement of operations inside the resize grip code outputting non-exact size_target values which led to unstable window position because clamping code uses size in a subtraction, etc etc. Lovely how a whole system can be made to act weird with a single bad input. 7 years ago
omar b6504b8eee Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations. 7 years ago
omar 2ab27be3de Child window with MenuBar use regular WindowPadding.y so layout look consistent in child or in a regular window. 7 years ago
omar 41862b8c0e ButtonBehavior: Fixed ImGuiButtonFlags_NoHoldingActiveID from incorrectly setting ActiveIdClickOffset, which probably have no known effect, but it is more correct this way. (#1418) 7 years ago
omar 1870738880 LowerBound() minor tweaks 7 years ago
omar 571b08f315 Internal: FindWindowByName() faster and doesn't touch every windows 7 years ago
omar 2c7ba21417 Fixed auto-resize allocating too much space for scrollbar when SizeContents is bigger than maximum window size (fixes c0547d358d) (#1417) 7 years ago
omar 0d4c320f88 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_draw.cpp
7 years ago
omar f0b4097c54 Begin: Simplified code and fixed a bug where appending into a window a second time (from a remote window) would incorrectly overwrite RootWindow with the current window in the stack. Our docking code uses this pattern. 7 years ago
omar de1e7dc088 Drag and Drop: Moved internal fields out of public sight. (#143) 7 years ago
omar 8b725c94cb Drag and Drop: Rework internal to allow overlapping targets (#143) 7 years ago
omar 16a5da9521 RenderTriangle() minor tweak to align Left/Right and Up/Down arrow extents visually 7 years ago
omar 553bdeedf7 Drag and Drop: Made it legal to not call SetDragDropPayload() between BeginDragDropSource() and EndDragDropSource(). (#143) 7 years ago
omar 3461a2f296 Merge branch 'master' into drag_and_drop 7 years ago
omar 982ce50b37 IsWindowHovered() returns true when moving window (#1382, #1404) 7 years ago
omar ff4d4ca651 IsWindowHovered(): Added ImGuiHoveredFlags_FlattenChilds flag. Made IsRootWindowOrAnyChildHovered() obsolete in favor of IsWindowHovered( ImGuiHoveredFlags_FlattenChilds) (#1382, #1404) 7 years ago
omar 803ac3a5c6 IsWindowHovered() Fix behavior when an item is active to use the same logic as IsItemHovered() (#1382, #1404) 7 years ago
omar 66f42324ad Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag. 7 years ago
omar 63f6f2dd13 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar 6ab20ff9bf Minor tweaks to the user guide. 7 years ago
omar e55caf0b95
Merge pull request #1402 from elect86/patch-1
Minor fix typo
7 years ago
omar 7f06d385a1 Added assertions and comments for incorrect use/understanding of IsWindowFocused() etc. functions 7 years ago
Giuseppe Barbieri 9e3f9fc2dd
Update imgui.cpp 7 years ago
omar 5956fff7e2 Drag and Drop: ImGuiButtonFlags_PressedOnDragDropHold focuses the target window. 7 years ago
omar a810619555 Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only! 7 years ago
omar 1d7d8f8574 Merge branch 'master' into drag_and_drop 7 years ago
omar b13d281356 Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets) 7 years ago
omar d46772b429 Comments 7 years ago
omar 0e775807b4 Drag and Drop: Added a mechanism to allow widgets with no identifiers (such as Text/Image) to be used with BeginDragDropSource() given the explicit ImGuiDragDropFlags_SourceAllowNullID flag. 7 years ago
omar b5f714e9f9 Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it. 7 years ago
omar c5536e49ef Drag and drop API experiment 7 years ago
omar 17dd8e7c30 Merge branch 'master' into navigation 7 years ago
omar b9ebb34a04 Nav: ColorButton: Fixed a case of not using local 'hovered' flag directly, messes with some of my drag and drop work, and I can't find/understand the reason why this was left as is (there _was_ a reason at the time but it appears to be obsolete now?) 7 years ago
omar f962ca0b01 ColorTooltip: Resize ColorButton to align better with text, now that ColorButton provides a text baseline (0260fdd1c6) 7 years ago
omar edafbcd630 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
7 years ago
omar c503a50cff Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function. 7 years ago
omar 77df1ba9e0 Version 1.53 WIP 7 years ago
omar b422f35872 IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns. 7 years ago
omar c0b366b316 Merge branch 'master' into navigation
# Conflicts:
#	imgui.h
7 years ago
omar 9f200d10d5 Version 1.52 7 years ago
omar cc78e9a213 Merge branch 'master' into navigation 7 years ago
omar 267ea506de Begin: Fix for unused "Debug" (fix for 3b83cd24f5 ) 7 years ago
omar 5afee1c6f3 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
7 years ago
omar 3b83cd24f5 Begin: Moved some code inside of the big if (first_begin_of_the_frame) scope 7 years ago
omar 3656f2c769 NewFrame: Allow MovedWindow setting the ImGuiWindowFlags_NoInputs after moving has started in order to be able to detect windows below it, which is useful for e.g. docking mechanisms. 7 years ago
omar a6edd10ee6 NewFrame: Removed unnecessary call to FindHoveredWindow() and simplified code (went through this multiple times, hopefully haven't broken anything) 7 years ago
omar 6243252d5a Internal: BeginTooltipEx() in imgui_internal.h 7 years ago
omar f10a1d7b9e Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar d42f6bb6cc Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch) 7 years ago
omar c432fcf2bb Minor renaming. 7 years ago
omar 549f9e3f03 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
7 years ago
omar daef33e268 Comments about mouse setup and clearing HoveredWindow when mouse down isn't owned by imgui (will affect some future hovered test and drag'n drop patterns) (#143, #1382, #1392) 7 years ago
omar 4faf99eff5 Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported (#211, #1012) 7 years ago
omar fc25881207 Merge branch 'master' into navigation 7 years ago
omar efcd53a0c3 Removed direct dependency on sprintf() in imgui.cpp (#1038)
(NB: imgui_demo stills uses it)
7 years ago
omar 1f3372b7f1 ImFormatString, ImFormatStringV(): clarifying specs so that passing a NULL buffer should return the desired length. (#1038) 7 years ago
omar 8fd5620277 Renamed IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS to IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS for consistency. (ref #238, #520, #738) 7 years ago
omar 7d2cd0e6ff Added IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS support in imconfig.h (#1038) 7 years ago
Patrick Doane 70cb427469 Add missing CloseClipboard call 7 years ago
omar d513546325 Merge branch 'master' into navigation 7 years ago
omar 5b062c4c29 Fixed typos 7 years ago
omar 0260fdd1c6 ColorButton: As a small convenience, provide a text baseline. 7 years ago
omar e9ff7162bc ColorButton: Fixed rendering color button with a checkerboard if the transparency comes from the global style.Alpha and not from the actual source color. 7 years ago
omar 97bf2131e2 Fixed calling SetNextTreeNodeOpen() on a collapsed window leaking to next frame. 7 years ago
omar 20983773f1 Nav: MainMenuBar now releases focus when user gets out of the menu layer. WindowingTarget when applying focus to a window with only menus automatically sets the layer. (#787)
This is enough for basic mouse/gamepad usage, but 1- previous window gets an unfocused title bar color temporarily, 2- generaly for gamepad and especially keyboard we need much more to get this done right
7 years ago
omar 025d4f0c97 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar e7922b3fa0 Factorized some code (+ declared as static function without namespace, a pattern with the Nav branch has started to use) 7 years ago
omar 2ef2c104a1 Begin: Minor tweaks 7 years ago
omar be12f8c55d Nav: Fixed handling of ImGuiNavInput_KeyMenu so it doesn't set g.NavWindowingTarget at all, reducing size effects + handling menu layer toggle on Alt Release (#787) 7 years ago
omar 6f0aa766e1 Nav: Added internal ImGuiNavReadMode_Released test for key releases. 7 years ago
omar d769e2515a Merge branch 'master' into navigation 7 years ago
omar 1bc1751670 MenuItem(): Tweaks to mimic exact spacing of BeginMenu() when inside a menu bar, which is a little misleading imho but may be useful. (#1387) 7 years ago
omar b177f2432d MenuItem(): Tweak to not draw over all horizontal space when in horizontal layout mode. (#1387) 7 years ago
omar 5fa81f2a26 Nav: Added ImGuiNavInput_KeyMenu aside from ImGuiNavInput_PadMenu as it is one differenciator between pad and keyboard that's very annoying with the keyboard.
Remove the move/resize behavior that appears than holding the button for a while. (#787)
7 years ago
omar 1c5b3fb1d2 Merge branch 'master' into navigation 7 years ago
omar f7259e60ee Comments 7 years ago
omar 23b9060468 Nav: Honoring ImGuiItemFlags_NoNav which is used by color picker (#787) 7 years ago
omar e4bb9102f9 Merge branch 'master' into navigation 7 years ago
omar 6ab737a4bb Popups: Fixed right-click to close popups not handling modal windows properly. (~#439) 7 years ago
omar aca23fd3f0 Popups: similarly to previous commit, we fix reopening a popup within a popup stack from truncating the whole stack. This is done by properly refocusing the lower level popup. (~#439) 7 years ago
omar 59a89774d7 Popups: fixed CloseInactivePopups() so that right-clicking to close one level of popups in a popups stack won't close the whole stack. This is done by properly refocusing the lower level popup. Fixes 87ae40843c (~#439) 7 years ago
omar 43df7eb5ea Added OpenPopupOnItemClick(); helper which mimic BeginPopupContextItem() but doesn't do the open.
Made the color popups uses this standard function so they handle reopening a context menu.
7 years ago
omar 0ea66dc260 Fixed bad merge from Master 7 years ago
omar 1172ff62e1 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
7 years ago
omar 3cc10d25a9 BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. (#439) (+1 squashed commits) 7 years ago
omar 695ea45fca IsWindowHovered(): Changed default behavior to now return false is a widget from another window is active + Added support for ImGuiHoveredFlags_AllowWhenBlockedByActiveItem. (relate to drag'n drop idoms: #143) 7 years ago
omar 564ff2dfd3 IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013, #143, #925)
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now.
Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup.
Demo: Added tests for those two functions.
7 years ago
omar d29a6a5a5a Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area. 7 years ago
omar e6f06627e9 Made the ImGuiWindowFlags_NoMove flag inherited from parent to child, so in a setup with RootWindow (no flag) -> Child (NoMove flag) -> SubChild (no flag) user won't be able to move the root window by clicking on SubChild. (#1381) 7 years ago
omar 3b485cda51 Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. (#1381)
broken by e56eba44fe (#1337)
7 years ago
omar 87ae40843c Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439) 7 years ago
omar 853018dd4d Popups: Fixed a bug introduced in 1a35766356 which made the BeginPopupContextXXX functions create popups without border. (nb: all that border mess is going away in styling clean up) 7 years ago
omar 5f7299e15a Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op. 7 years ago
omar 51eed2f257 Merge branch 'master' into navigation 7 years ago
omar 5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits) 7 years ago
omar 22977ffedb Documentation: Extra comments + tweaks to make usage of long-line more bearable. 7 years ago
omar 938f1b720f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
7 years ago
omar 370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir 7 years ago
omar a03093b2d4 CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. (#600, #787) 7 years ago
omar 29a652adee CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. (#600, #787) 7 years ago
omar a126c702d9 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
7 years ago
omar ef3f87eec5 Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later. 7 years ago
omar bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker. 7 years ago
omar d96b6ecf88 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
7 years ago
omar 03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen! 7 years ago
omar 78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4) 7 years ago
omar 2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3) 7 years ago
omar 4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2) 7 years ago
omar 55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1) 7 years ago
omar 1a35766356 BeginPopupContextItem() now supports a NULL string identifier and uses the last item ID if available. For interactive items (that have an ID) this works! For non interactive items we assert. 7 years ago
omar c76f014292 Fix IsItemHovered() issue on child by temporarily reverting 344d48be31. This is not the ideal solution. (Fix #1370) 7 years ago
omar af565ea828 Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. (#787) 7 years ago
omar 7ea52ac1e4 Nav: InputTextMultiline: Fixed navigation/selection. Disabled selecting all when activating a multi-line text editor. (#787) 7 years ago
omar 82a27fd3aa Nav: InputText: Fixed using Up/Down history callback feature when Nav is enabled (#787) 7 years ago
omar b70c2fa887 Nav: Internals: Moved some internal code to namespace, comments 7 years ago
omar ae1866c424 Nav: NavProcessItem() updates current NavLayer. Basically we're hearing toward rebuilidng nav info from an id. (#787). 7 years ago
omar 97851f7376 Nav: NavProcessItem() computes window-relative rectangle using own Window rather than NavWindow. Not sure what it may mean for child-flattened-nav (disabled). (#787) 7 years ago
omar 7d14262202 Nav: SetFocusID() update NavWindow and NavRectRel just as we get them. Needed by upcoming commit, committing separately as I'm curious if it has any side-effect. (#787) 7 years ago
omar 83416fa5da Merge branch 'master' into navigation 7 years ago
omar d761825cfb Nav: Renaming a field + Comments. 7 years ago
omar ce7b04e8b9 Removed apparently unncessary code in InputFloatN() and InputInt(). 7 years ago
omar db5f1b79cd Nav: ButtonBehavior() keep _displaying_ NavId item as howered when refocusing or moving window, which is consistent with IsItemHovered() and reduce noise/flicker (#787) 7 years ago
omar c42baf392a Reluctantly exposed GetActiveID(), GetHoveredID() in imgui_internal because the demo code will need it. 7 years ago
omar 53780a4fcc Nav: Shallow tweaks. 7 years ago
omar f852b9a52a Exposed Scrollbar() in imgui_internal.h and removed a bool arg 7 years ago
omar b667d5a9e7 Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() (#787) 7 years ago
omar 0371219222 Nav: Internals: Renamed SetActiveIDNoNav -> SetActiveID() and old SetActiveID() -> SetFocusID(), both functions needs to be called when both are desirabled. (#787)
May break code relying on imgui_internal.h, relying on nav and not calling ButtonBehavior().
7 years ago
omar 8b095e483b Internals: Moved SetNavID() and renamed casing to be consistent with stuff exposed in imgui_internal.h 7 years ago
omar 4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 7 years ago
omar 48498b337d Internals: SetActiveID window cannot be NULL 7 years ago
omar 4548bcb5c9 Nav: commiting shallow bits to reduce noise from working copy/upcoming commit. 7 years ago
omar 17519c313a Nav: Extract part of NavUpdate() into a saner NavUpdateWindowingTarget() (#787) 7 years ago
omar b05b31e690 Nav: Made NavWindow always refresh from NavId so we can lazily retrieve the window for user functions that don't have it. This is not required by current commit but I'd rather test it earlier. Idea: eventually if we switch to 64-bit identifiers we could reserve e.g. 20 bits to store a simplified window identifier so we can always retrieve a window from an id. (#787) 7 years ago
omar f0d437dd9c Nav: SetActiveId() uses SetActiveIDNoNav() to avoid duplicating logic. (#787) 7 years ago
omar 2047c58efb Nav: Extract part of NavUpdate() into a saner NavScrollToBringItemIntoView() (#787) 7 years ago
omar 7a14d7dfdc Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. (#787) 7 years ago
omar 3833f1f7a2 Merge branch 'master' into navigation 7 years ago
omar 43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). 7 years ago
omar c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag 7 years ago
omar 69dd895358 Nav: Renaming NavInitDefaultRequest -> NavInitRequest 7 years ago
omar 4d83078885 Nav: Moving code next to its peers 7 years ago
omar d2975115cd Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources) 7 years ago
omar d91b093be6 Nav: Minor tweaks in NavProcessItem() used by ItemAdd() 7 years ago
omar c3105919ba Nav: Minor tweaks also toward removing processing from ItemAdd() 7 years ago
omar d16309ca77 Internal: ItemAdd() minor shallow tweaks 7 years ago
omar 64ce83b9ed Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 7 years ago
omar acb6f12d2c Removed extraneous calls to GetCurrentWindowRead() when we already have a ImGuiContext. Internal RenderXXX functions also don't need to write into the Accessed field at all. 7 years ago
omar 6e1199c603 Merge branch 'master' into navigation 7 years ago
omar f451785c9e Nav: Shuffled code in ItemAdd() so that NavProcessItem() may have access to LastItemId (will be required by tabbing) 7 years ago
omar e12cfa9dfd Nav: Minor midying up and comments, 7 years ago
omar 40df7a5155 Nav: Removed possibly redundant test prior to calling NavProcessItem() from ItemAdd() 7 years ago
omar a77dd02e8a Nav: Moving code next to its peers 7 years ago
omar f5bd4663dd Nav: Moving the big chunk of code from ItemAdd() to NavProcessItem() 7 years ago
omar 59c6f35bf6 Added ActivateItem(), GetItemID() functions. 7 years ago
omar 80c4e2fe7b Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons. 7 years ago
omar d851775c80 ColorButton: Reduced bordering artefact that would be particularly visible with opaque Col_FrameBg and FrameRounding enabled. 7 years ago
omar 726dcf0dd2 TextUnformatted(): minor tweak 7 years ago
omar a0d724b450 Made AlignFirstTextHeightToWidgets() saner and faster (still disliking its name very much!) 7 years ago
omar a3d0755181 Merge branch 'master' into navigation 7 years ago
omar f326fac64a Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). (#787) 7 years ago
omar a8788e51a7 SetKeyboardFocusHere() added assert to prevent passing values smaller than -1 as we may have to outlaw them (I think nobody was using that) 7 years ago
omar 63cd2bf9b1 Removed obsolete comment. 7 years ago
omar 3ddcdcf6e7 Merge branch 'master' into navigation 7 years ago
omar 67ac7da30f Styles: Added ImGuiStyle::ScaleAllSizes(float) helper to make it easier to have application transition to e.g. High DPI with a matching style. 7 years ago
omar a56b71e866 Nav: Added code to render thin highlight type. (#787) 7 years ago
matiTechno b36a043bbf typo 7 years ago
omar 6ea90af6b7 Nav: Highlight clipped within host window then extruded out. (#787) 7 years ago
omar cb4e6c8212 Nav: Selectable(): activating selectable also sets NavId + removed the MouseDelta test (added in 43ee5d73e9, #323) as I don't think it is needed. (#787) 7 years ago
omar 64a51327d3 Nav: Added NavMoveResultParentId internal info to record when the parent/context of a given NavId. Useful for various algorithms (currently looking at range selection stuff) (#787) 7 years ago
omar 74da533c93 Nav: Added NavJustNavigatedId internal info to record when we land on a given item after a navigation request, useful for various algorithms (currently looking at range selection stuff) (#787) 7 years ago
omar 7f58bb03c1 Changed the internal name formatting of child windows to use slashes as separator, more readable. 7 years ago
omar cbc9730798 Metrics: Draw window bounding boxes when hovering Pos/Size. List all draw layers, trimming empty commands like Render() does. 7 years ago
omar 491edfd8d8 Nav: Fixed a crash introduced yesterday. 7 years ago
omar 0046c618b0 Nav: Allow to collapse tree nodes with NavLeft and open them with NavRight (#787, #1079) 7 years ago
omar ecd72cc0c7 Nav: Disabled the final axial check when considering candidates in most situations except menubars.
It's definitively undesirable inside Menu as we want to catch nav request failures reliably.
I think it may be considered as an option if we find this desirable i some circumstances. Right now ideally I'd remove it totally but with current scoring setup, without it we can't easily reach the Window Close button. (#787)
7 years ago
omar 88a354585a Nav: It's now possible to navigate sibling of a menu-bar while navigating inside one of their child. If a Left<>Right navigation request fails to find a match we forward the request to the root menu. (#787, #126)
Currently the sibling menu is isn't automatically opened, that's still left to it (and even that can be anoying in Windows when the first menu-item is a child menu)
7 years ago
omar f4e4c38705 BeginMenu(): fixed logic to distinguish vertical menu from one layed out in a menu bar. Makes MenuItem() in a regular window behave more consistently, and this will be also needed by upcoming menu-navigation changes in the nav branch. (#126, #787) 7 years ago
omar 9912f7eef8 BeginMenu(): fixed logic to distinguish vertical menu from one layed out in a menu bar. Makes MenuItem() in a regular window behave more consistently, and this will be also needed by upcoming menu-navigation changes in the nav branch. (#126, #787) 7 years ago
omar cf3b21179b Nav: Comments 7 years ago
omar 5a9ebeca9e Nav: Fix typo from 9712a81f85 7 years ago
omar bfaa426f7f Nav: Minor tidying up (adding local variables to be a little more sane). 7 years ago
omar 8a5a29f0be Nav: Renamed internal field. 7 years ago
omar 9712a81f85 Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data. 7 years ago
omar 54eb4c485e Nav: Marked misleading/broken code that will never execute. 7 years ago
omar e3c89aeb10 Nav: Fixed menuitems/selectable on menu layer (layer 1) from storing themselves in wrong layer of LastNavIds when hovered.causing inconsistencies and bugs when hovering menu with mouse then pressing ALT to return to layer 0).
NB: this is not a new bug introduced by the previous commit (which is related to nav layers), bug has been there for a while. (#787)
7 years ago
omar 9737efb2f1 Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. (#787) 7 years ago
omar 8a814487fe Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar fba9353c60 BeginMenu: Shuffling braces around to clarify flow 7 years ago
omar cf308f4039 Nav: Fixed SetItemDefaultFocus from stealing default focus when we are initializing default focus for a menu bar layer (#787) 7 years ago
omar f4398226cc Nav: Support for fallback horizontal scrolling with PadLeft/PadRight (nb: fallback scrolling is only used to navigate windows that have no interactive items). (#787) 7 years ago
omar 30b1d85962 Nav: Commiting some better organized Debug helper because this going to stay for a bit. 7 years ago
omar 1f7f54e196 Removed extraneous test. 7 years ago
omar df366b230e ColorPicker4: Use nav flag to provide a slighly better experience when using navigation (#787, #346) 7 years ago
omar 2d859dee4e Nav: Added ImGuiItemFlags_NoNav item flag 7 years ago
omar 878fa96896 Nav: Re-arranged ItemAdd() to maximize early out (#787) 7 years ago
omar dd0855de5c ButtonBehavior: Tidying up. 7 years ago
omar 4b4e455c40 Nav: Internal nenaming 7 years ago
omar e0a2a832cd Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent (#787) 7 years ago
omar af38749ea1 Nav: Fixed ButtonBehavior mistakenly setting active id when the Activate button is held and we have a new NavId, which affected browsing some popups (#787) 7 years ago
omar ca4db8c905 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar e8f7c83138 Begin: Shallow tweak to minimize diff with nav branch 7 years ago
omar 926c1cf9a4 Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag 7 years ago
omar f99348711b Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that. 7 years ago
omar 9142002121 Separator(): Tweak Logging so that the separator text is aligned according to tree padding. 7 years ago
omar d394c7ad0b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
7 years ago
omar 0106dcbd02 Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily. 7 years ago
omar 2a8eb618dc Nav: Fixed NavDown to open menu from a menu bar (#787) 7 years ago
omar 35f65e05ed Merge branch 'master' into navigation 7 years ago
omar fafe65a8fc Refactor to move the responsability of SetHovered() to ItemHoverable() - previously IsHovered(). Simpler and the parallel to ItemAdd is clearer with the new name. 7 years ago
omar 2159629e9e Removed another msileading difference between the hovered functions (IsWindowContentHoverable() uses the root window already). Sorry for the commit spam! (making small commit to easily be able to Bisect those in case I make a mistake) 7 years ago
omar eca74d55c7 IsItemHovered(), IsHovered(): Shallow tweaks, eventually removed all the braces. 7 years ago
omar 2b7d4c713e Internals: Moved IsWindowContentHoverable() in the file 7 years ago