ocornut
e0282347db
MultiSelect: remove ImGuiSelectionRequest/ImGuiMultiSelectIO details from public api to reduce confusion + comments.
2024-07-18 18:19:17 +02:00
ocornut
0af6fbb51d
MultiSelect: added support for nested/stacked BeginMultiSelect().
...
Mimicking table logic, reusing amortized buffers.
2024-07-18 18:19:17 +02:00
ocornut
aa4d64be92
MultiSelect: Box-Select: added scroll support.
2024-07-18 18:19:17 +02:00
ocornut
f904a6646c
MultiSelect: Box-Select: added support for ImGuiMultiSelectFlags_BoxSelect.
...
(v11)
FIXME: broken on clipping demo.
2024-07-18 18:19:17 +02:00
ocornut
90305c57e4
MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_ClearOnClickWindowVoid -> ImGuiMultiSelectFlags_ClearOnClickVoid. Added ImGuiMultiSelectFlags_ScopeWindow, ImGuiMultiSelectFlags_ScopeRect.
2024-07-18 18:19:17 +02:00
ocornut
6feff6ff05
MultiSelect: (Breaking) io contains a ImVector<ImGuiSelectionRequest> list.
2024-07-18 18:19:16 +02:00
ocornut
c3998b70cc
MultiSelect: clarified purpose and use of IsItemToggledSelection(). Added assert. Moved to multi-selection section of imgui.h.
2024-07-18 18:19:16 +02:00
ocornut
2765fdb43e
MultiSelect: removed seemingly unnecessary block in BeginMultiSelect().
...
- EndIO.RangeSelected always set along with EndIO.RequestSetRange
- Trying to assert for the assignment making a difference when EndIO.RequestSetRange is already set couldn't find a case (tests passing).
2024-07-18 18:19:16 +02:00
ocornut
82de6c470b
MultiSelect: Added ImGuiMultiSelectFlags_SelectOnClickRelease to allow dragging an unselected item without altering selection + update drag and drop demo.
2024-07-18 18:19:16 +02:00
ocornut
a6f43dfadd
MultiSelect: ImGuiMultiSelectIO's field are not used during loop anymore, stripping them out of comments.
2024-07-18 18:19:16 +02:00
ocornut
e1d2109208
MultiSelect: Demo: Deletion: Rework ApplyDeletionPreLoop to use adapter + fix PostLoop not using right value of RequestFocusItem.
...
Recovery made it transparent visually but user side selection would be empty for a frame before recovery.
2024-07-18 18:19:16 +02:00
ocornut
8fe6b31952
MultiSelect: (Breaking) Removed RangeSrcPassedBy in favor of favoring user to call IncludeByIndex(RangeSrcItem) which is easier/simpler to honor.
...
Especially as recent changes made it required to also update RangeSrcPassedBy after last clipper Step.
Should now be simpler.
2024-07-18 18:19:15 +02:00
ocornut
6ddc5f38af
MultiSelect: Demo: added simpler demo using Clipper. Clarify RangeSrcPassedBy doc.
2024-07-18 18:19:15 +02:00
ocornut
c3753809b1
MultiSelect: Demo: rework ExampleSelection names to map better to typical user code + variety of Comments tweaks.
2024-07-18 18:19:15 +02:00
ocornut
ff95fdb668
MultiSelect: (Breaking) RequestSetRange's parameter are RangeFirstItem...RangeLastItem (which was always ordered unlike RangeSrcItem...RangeDstItme). Removed RangeDstItem. Removed RangeDirection.
2024-07-18 18:19:15 +02:00
ocornut
e82b49d2d4
MultiSelect: (Breaking) Use ImGuiSelectionUserData (= ImS64) instead of void* for selection user data.
...
Less confusing for most users, less casting.
2024-07-18 18:19:15 +02:00
ocornut
140a2f0565
MultiSelect: Comments, tweaks.
...
+ Alignment to reduce noise on next commit.
2024-07-18 18:19:15 +02:00
ocornut
847b1dde8c
MultiSelect: (Breaking) Fix + Rename ImGuiMultiSelectFlags_NoMultiSelect to ImGuiMultiSelectFlags_SingleSelect as it seems easier to grasp.
...
Feature was broken by "Tidying up..." June 30 commit.
2024-07-18 18:19:15 +02:00
ocornut
0cf376348b
MultiSelect: Cleanup unused comments/code.
2024-07-18 18:19:14 +02:00
ocornut
c0035705ca
MultiSelect: Further simplication of user code to support Deletion.
...
Provide standard RequestFocusItem storage.
2024-07-18 18:19:14 +02:00
ocornut
df1eeb9a20
MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo.
2024-07-18 18:19:14 +02:00
ocornut
9223ffc255
MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo.
2024-07-18 18:19:14 +02:00
ocornut
1ea9ca748c
MultiSelect: Remove the need for using IsItemToggledSelection(). Update comments.
...
This is the simple version that past our tests. MultiSelectItemFooter() is in need of a cleanup.
2024-07-18 18:19:14 +02:00
ocornut
6ef70a97fd
MultiSelect: Remove ImGuiMultiSelectFlags_NoUnselect because I currently can't find use for this specific design.
...
And/or it seem partly broken.
2024-07-18 18:19:14 +02:00
ocornut
ccf43d6a96
MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments.
2024-07-18 18:19:14 +02:00
ocornut
a83326bc52
MultiSelect: (Breaking) Renamed 'RangeSrc -> 'RangeSrcItem', "RangeDst' -> 'RangeDstItem'
...
This is necessary to have consistent names in upcoming fields (NavIdItem etc.)
2024-07-18 18:19:13 +02:00
ocornut
a39f9e7661
MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks.
...
debug
2024-07-18 18:19:13 +02:00
ocornut
35b5ebc9b5
MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO.
2024-07-18 18:19:13 +02:00
ocornut
11bcae1ebd
MultiSelect: refactor before introducing persistant state pool and to facilitate adding recursion + debug log calls.
...
This is mostly the noisy/shallow stuff committed here, to get this out of the way.
2024-07-18 18:19:13 +02:00
ocornut
5d71314f71
MultiSelect: removed DragDropActive/preserve_existing_selection logic which seems unused + comments.
...
Can't find trace of early prototype for range-select but I couldn't find way to trigger this anymore. May be wrong. Will find out.
2024-07-18 18:19:13 +02:00
ocornut
d2f208a30c
MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo.
2024-07-18 18:19:13 +02:00
ocornut
78cb1661cb
MultiSelect: Shallow tweaks/refactors.
...
Including moving IsFocused back internally for now.
2024-07-18 18:19:13 +02:00
ocornut
35bbadcf0c
MultiSelect: Added ImGuiMultiSelectFlags_ClearOnClickWindowVoid. + Demo: showcase multiple selection scopes in same window.
2024-07-18 18:19:13 +02:00
ocornut
19086c1c48
MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts.
2024-07-18 18:19:12 +02:00
omar
0479b188d0
MultiSelect: Comments. Tweak demo.
2024-07-18 18:19:12 +02:00
omar
4afbfd5e71
MultiSelect: Renamed SetNextItemMultiSelectData() to SetNextItemSelectionUserData()
2024-07-18 18:19:12 +02:00
omar
17c4c2154a
MultiSelect: Demo sharing selection helper code. Fixed static analyzer warnings.
2024-07-18 18:19:12 +02:00
omar
57da88093f
MultiSelect: Added IMGUI_HAS_MULTI_SELECT define. Fixed right-click toggling selection without clearing active id, could lead to MarkItemEdited() asserting. Fixed demo.
2024-07-18 18:19:11 +02:00
ocornut
8947c35fa1
MultiSelect: Removed SelectableSpacing as I'm not sure it is of use for now (history insert)
2024-07-18 18:19:11 +02:00
omar
554db6bc0f
MultiSelect: WIP range-select ( #1861 ) (rebased six millions times)
2024-07-18 18:19:11 +02:00
ocornut
8bab3eab6a
Clipper: added SeekCursorForItem() function, for use when using ImGuiListClipper::Begin(INT_MAX). ( #1311 )
...
Tagging #3609 just in case we made a mistake introducing a regression (but tests are passing and have been extended).
2024-07-17 18:16:06 +02:00
ocornut
0e4dcfa552
Obsoleted PushTabStop()/PopTabStop() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop.
2024-07-15 18:57:46 +02:00
ocornut
3de75138d1
(Breaking) Renamed ImGuiSelectableFlags_DontClosePopups to ImGuiSelectableFlags_NoAutoClosePopups. ( #1379 , #1468 , #2200 , #4936 , #5216 , #7302 , #7573 )
2024-07-15 18:46:34 +02:00
ocornut
0de88a928d
Added ImGuiItemFlags_AutoClosePopups as a replacement for internal's ImGuiItemFlags_SelectableDontClosePopup. ( #1379 , #1468 , #2200 , #4936 , #5216 , #7302 , #7573 )
2024-07-15 18:46:34 +02:00
ocornut
b4ca869c40
(Breaking) Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat.
2024-07-15 18:38:18 +02:00
ocornut
7e0800e718
Added PushItemFlag(), PopItemFlag(), ImGuiItemFlags.
2024-07-15 18:38:18 +02:00
ocornut
bc9e5b62b6
Added ImGuiDataType_Bool for convenience.
2024-07-15 16:49:35 +02:00
ocornut
0ebf49b4c1
IO: amend PlatformOpenInShellFn specs to return a bool. ( #7660 )
...
Amend 8f36798
2024-07-02 19:03:40 +02:00
ocornut
5496050f5f
Added TextLink(), TextLinkOpenURL() hyperlink widgets. ( #7660 )
2024-07-02 17:21:44 +02:00
ocornut
0f63d3e916
Internals: added FontScale storage.
2024-07-02 17:21:10 +02:00
ocornut
ddd4c9d6b9
Commented out obsolete ImGuiModFlags and ImGuiModFlags_XXX values (renamed to ImGuiKeyChord and ImGuiMod_XXX in 1.89). ( #4921 , #456 )
2024-07-02 16:03:18 +02:00
ocornut
fb799bba7f
(Breaking) IO, IME: renamed platform IME hook io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() and added explicit context.
2024-07-02 15:48:32 +02:00
ocornut
8f36798035
IO: added io.PlatformOpenInShellFn handler to open a link/folder/file in OS shell, added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS. ( #7660 )
2024-07-02 15:36:08 +02:00
ocornut
a62794359a
Debug Tools: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. ( #5855 )
2024-07-02 12:00:55 +02:00
ocornut
84cc72f372
Version 1.91.0 WIP
2024-07-01 19:02:42 +02:00
ocornut
cb16be3a3f
Version 1.90.9
2024-07-01 17:03:21 +02:00
ocornut
c554c402d3
IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button which was pressed over void. ( #1392 )
2024-07-01 16:13:38 +02:00
ocornut
dd5c30d2d7
Disabled: Reworked 1.90.8 behavior of Begin() not inheriting current BeginDisabled() state. Only tooltip are clearing that state. ( #211 , #7640 )
2024-07-01 14:32:11 +02:00
Kevin Coghlan
372eebbeb2
Fix typo, rename ImGuisliderFlags_WrapAround flag to ImGuiSliderFlags_WrapAround. ( #7752 , #7749 )
2024-06-28 18:06:16 +02:00
ocornut
0403096a9d
Drags: added ImGuisliderFlags_WrapAround flag for DragInt(), DragFloat() etc. ( #7749 )
2024-06-28 15:59:36 +02:00
ocornut
953d40c929
Tables: moved TableGetHoveredColumn() to public API. ( #7715 , #3740 )
2024-06-27 17:17:54 +02:00
ocornut
fbb903e158
Inputs: fixed using Shortcut() or SetNextItemShortcut() within a disabled block bypassing the disabled state. ( #7726 )
2024-06-27 16:37:33 +02:00
ocornut
32f9dfc126
Viewports: Backported 'void* ImGuiViewport::PlatformHandle' from docking branch for use by backends.
2024-06-26 14:32:48 +02:00
cfillion
755bf2b8c2
(Breaking) Move ImGuiWindowFlags_NavFlattened to ImGuiChildFlags_NavFlattened. ( #7687 )
2024-06-21 16:00:57 -07:00
ocornut
e3971079cf
IO: added ImGuiConfigFlags_NoKeyboard for consistency and convenience. ( #4921 )
...
# Conflicts:
# imgui.h
# imgui_demo.cpp
2024-06-21 10:17:44 -07:00
ocornut
8067d05f74
IO: added ClearInputMouse(). made ClearInputKeys() not clear mouse data. ( #4921 )
...
Amend 6aa408c6a
2024-06-21 10:16:54 -07:00
ocornut
77d9f80754
Drag and Drop: Added ImGuiDragDropFlags_PayloadNoCrossContext and ImGuiDragDropFlags_PayloadNoCrossProcess flags.
2024-06-20 11:37:10 -07:00
ocornut
8c318dc770
Drag and Drop: (Breaking) renamed ImGuiDragDropFlags_SourceAutoExpirePayload to ImGuiDragDropFlags_PayloadAutoExpire. ( #1725 , #143 )
2024-06-20 11:36:45 -07:00
ocornut
21bda2ed99
TabBar, Style: added ImGuiTabBarFlags_DrawSelectedOverline and ImGuiCol_TabSelectedOverline, ImGuiCol_TabDimmedSelectedOverline.
2024-06-18 17:41:43 -07:00
ocornut
1b9593e889
Style: (Breaking) renamed ImGuiCol_TabActive -> ImGuiCol_TabSelected, ImGuiCol_TabUnfocused -> ImGuiCol_TabDimmed, ImGuiCol_TabUnfocusedActive -> ImGuiCol_TabDimmedSelected.
...
Amend #261 , #351
2024-06-18 17:37:29 -07:00
ocornut
22d65c7949
Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to ImGuiStoragePair (simpler for many languages).
2024-06-10 19:33:06 +02:00
ocornut
7260bb51cf
Version 1.90.9 WIP
2024-06-07 16:57:01 +02:00
ocornut
6f7b5d0ee2
Version 1.90.8
2024-06-06 17:45:40 +02:00
ocornut
67d886fd63
Removed ImGuiButtonFlags_MouseButtonDefault_.
2024-06-06 17:25:16 +02:00
ocornut
2a418f054d
InputText: reordered all flags. (ABI breaking)
2024-06-06 17:23:56 +02:00
ocornut
47db0698d2
InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal, ImGuiInputTextFlags_DisplayEmptyRefVal. ( #7305 )
2024-06-06 16:51:15 +02:00
korenkonder
209edcc247
Fixed incorrect order of arguments in IsMouseClicked(). ( #7657 , #456 )
...
Amend 85513de24
2024-06-04 17:29:59 +02:00
ocornut
6cefd4fd88
Scrollbar: fixed miscalculation of vertical scrollbar visibility when required solely by the presence of an horizontal scrollbar. ( #1574 )
...
Initially fixed by 2d9d7a10c
, and broken back by a0994d74c2
(v1.71, wow).
2024-06-03 16:41:29 +02:00
ocornut
f953ebf9ca
Disabled: nested tooltips or other non-child window within a BeginDisabled() block disable the disabled state. ( #211 , #7640 )
2024-05-31 18:13:25 +02:00
ocornut
868f444620
Debug: extracted debug log 0xXXXXXXX scanning into a helper function. ( #5855 )
2024-05-29 18:48:25 +02:00
ocornut
51823d117d
Misc: made ImGuiDir, ImGuiSortDirection, ImGuiMouseCursor stronger-typed enums + cater for possible warning in backends's switch()
...
Not making ImGuiMouseCursor one because of warnings for non-explicitly handled value (case default: is not enough).
2024-05-28 18:09:41 +02:00
ocornut
479c5f62fc
Style: make DisplayWindowPadding visible in style editor.
2024-05-28 15:47:19 +02:00
ocornut
1f9fc382c3
Version 1.90.8 WIP
...
Tidying up todo.txt
2024-05-28 10:09:31 +02:00
ocornut
00ad3c65bc
Version 1.90.7
2024-05-27 15:47:04 +02:00
ocornut
f814ef816f
Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
2024-05-27 14:41:02 +02:00
Christian Fillion
b9084949bd
Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. ( #7620 )
2024-05-25 14:36:48 +02:00
ocornut
ce4e210dcb
Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. ( #456 )
2024-05-24 16:07:58 +02:00
ocornut
5ce3d29955
Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. ( #456 )
2024-05-24 15:44:59 +02:00
ocornut
650cb51bf1
Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. ( #456 , #7618 )
...
Amend ef9d525
2024-05-24 15:27:48 +02:00
ocornut
ef9d525f02
Shortcuts: added ImGuiInputFlags_RouteActiveItem. ( #456 , #7618 ) + rearrange Changelog
2024-05-24 15:07:43 +02:00
ocornut
29439bdd27
Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. ( #1710 )
...
Calculation incorrectly didn't always account for scrollbar as it assumed the other axis would also be auto-fit.
2024-05-24 12:31:40 +02:00
ocornut
d5a600e9c6
Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
2024-05-23 17:22:44 +02:00
ocornut
c06e6340cd
Shortcuts: added ImGuiInputFlags_Tooltip. ( #456 )
2024-05-23 16:58:14 +02:00
ocornut
77e4171894
Shortcuts: added flags to SetNextItemShortcut(). ( #456 )
2024-05-23 16:57:19 +02:00
ocornut
fc512a2474
Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. ( #456 , #2637 )
2024-05-23 16:57:03 +02:00
ocornut
55748cdbe1
Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
...
Amend 4448d975
(#456 , #2637 , #2620 , #2891 , #3370 , #4828 , #5108 , #5242 , #5641 )
2024-05-23 16:57:03 +02:00
ocornut
28a283b460
Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
2024-05-21 11:06:40 +02:00
ocornut
25e279ee73
Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. ( #2343 )
2024-05-17 15:26:34 +02:00
ocornut
7747106647
Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. ( #2343 , #4084 , #5923 , #456 )
2024-05-16 19:16:55 +02:00
Hubert Maier
07dbcf1f70
Fixed typos. ( #7593 )
2024-05-16 16:13:01 +02:00