Commit Graph

1148 Commits

Author SHA1 Message Date
ocornut
1b63522446 MultiSelect: Box-Select: handle Esc to disable box-select.
This avoid remove a one-frame delay when finishing box-select, where Esc wouldn't be routed to selection but to child.
2024-07-18 18:19:22 +02:00
ocornut
2697cfe354 MultiSelect: Box-Select: uses SetActiveIdUsingAllKeyboardKeys() to avoid nav interference, much like most drag operations. 2024-07-18 18:19:22 +02:00
ocornut
7d4de84ee3 MultiSelect: added courtesy ImGuiMultiSelectFlags_NavWrapX flag so we can demo this until a nav api is designed. 2024-07-18 18:19:22 +02:00
ocornut
d411c9054a MultiSelect: minor tidying up.
Checkbox() was reworked in master effectively fixing render clipping when culled by BoxSelect2d's UnclipMode.
2024-07-18 18:19:22 +02:00
ocornut
3f34c83bc6 MultiSelect: added ImGuiMultiSelectFlags_NoAutoClearOnReselect + tweak flags comments. (#7424) 2024-07-18 18:19:21 +02:00
ocornut
529c73ba21 MultiSelect: Shift+Tab doesn't enable Shift select on landing item. 2024-07-18 18:19:21 +02:00
ocornut
a8a1f29512 MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_BoxSelect -> ImGuiMultiSelectFlags_BoxSelect2d. Which include not assuming one flag imply the other.
Amend 2024/05/31 commit.
2024-07-18 18:19:21 +02:00
ocornut
c52346850d MultiSelect: ImGuiSelectionBasicStorage: added PreserveOrder, maintain implicit order data in storage.
Little tested but provided for completeness.
2024-07-18 18:19:21 +02:00
ocornut
df664329cb MultiSelect: provide RangeDirection to allow selection handler to handler backward shift+click. 2024-07-18 18:19:21 +02:00
ocornut
3ac367ff41 MultiSelect: ImGuiSelectionBasicStorage: (breaking) rework GetNextSelectedItem() api to avoid ambiguity/failure when user uses a zero id. 2024-07-18 18:19:21 +02:00
ocornut
c07864f64a MultiSelect: ImGuiSelectionBasicStorage: move function bodies to cpp file.
+ make ImGuiStorage::BuildSortByKey() less affected by msvc debug mode.
2024-07-18 18:19:21 +02:00
ocornut
2af3b2ac81 MultiSelect: ImGuiSelectionBasicStorage: simplify by removing compacting code (compacting may be opt-in?).
GetNextSelectedItem() wrapper gives us more flexibility to work on this kind of stuff now.
2024-07-18 18:19:21 +02:00
ocornut
e61612a687 MultiSelect: ImGuiSelectionBasicStorage: rework to accept massive selections requests without flinching.
Batch modification + storage only keeps selected items.
2024-07-18 18:19:21 +02:00
ocornut
e1fd25051e MultiSelect: ImGuiSelectionBasicStorage: added GetNextSelectedItem() to abstract selection storage from user. Amend Assets Browser demo to handle drag and drop correctly. 2024-07-18 18:19:21 +02:00
ocornut
c3d7aa252b MultiSelect: comments, header tweaks., simplication (some of it on wiki). 2024-07-18 18:19:21 +02:00
ocornut
db4898cb91 MultiSelect: added ImGuiSelectionExternalStorage helper. Simplify bool demo. 2024-07-18 18:19:20 +02:00
ocornut
c94cf6f01f MultiSelect: added ImGuiSelectionBasicStorage::GetStorageIdFromIndex() indirection to be easier on the reader.
Tempting to make it a virtual.
2024-07-18 18:19:20 +02:00
ocornut
ab995d3d4f MultiSelect: (breaking) Added 'items_count' parameter to BeginMultiSelect(). Will enable extra features, and remove equivalent param from ImGuiSelectionBasicStorage::ApplyRequests(. 2024-07-18 18:19:20 +02:00
ocornut
443b034895 MultiSelect: mark parent child window as navigable into, with highlight. Assume user will always submit interactive items. 2024-07-18 18:19:20 +02:00
ocornut
f6b5caf82c MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_BoxSelect -> ImGuiMultiSelectFlags_BoxSelect1d, ImGuiMultiSelectFlags_BoxSelect2d -> ImGuiMultiSelectFlags_BoxSelect.
ImGuiMultiSelectFlags_BoxSelect1d being an optimization it is the optional flag.
2024-07-18 18:19:20 +02:00
ocornut
7bbbbea200 MultiSelect: Box-Select: fixes for checkboxes support. Comments. 2024-07-18 18:19:20 +02:00
ocornut
2f56df4839 MultiSelect: (breaking) renamed ImGuiSelectionBasicStorage::AdapterData to UserData. 2024-07-18 18:19:20 +02:00
ocornut
1113f13f83 MultiSelect: Box-Select: fixed "when dragging from void" implementation messing with calling BeginMultiSelect() without a selection size. 2024-07-18 18:19:20 +02:00
ocornut
81548cb6bf MultiSelect: added GetMultiSelectState() + store LastSelectionSize as provided by user, convenient for quick debugging and testing. 2024-07-18 18:19:20 +02:00
ocornut
dc0a1682e3 MultiSelect: Box-Select: when dragging from void, first hit item sets NavId by simulating a press, so navigation can resume from that spot. 2024-07-18 18:19:20 +02:00
ocornut
65ebc0513b MultiSelect: Box-Select: minor refactor, tidying up. 2024-07-18 18:19:20 +02:00
ocornut
9435a3185a RangeSelect/MultiSelect: (Breaking) Added current_selection_size to BeginMultiSelect().
Required for shortcut routing so we can e.g. have Escape be used to clear selection THEN to exit child window.
2024-07-18 18:19:19 +02:00
ocornut
0be238ec58 MultiSelect: Box-Select: fix preventing focus. amend determination of scope_hovered for decorated/non-child windows + avoid stealing NavId. (#7424) 2024-07-18 18:19:19 +02:00
ocornut
e7a734f78d MultiSelect: added ImGuiMultiSelectFlags_NoAutoSelect, ImGuiMultiSelectFlags_NoAutoClear features + added Checkbox Demo
Refer to "widgets_multiselect_checkboxes" in imgui_test_suite.
2024-07-18 18:19:19 +02:00
ocornut
2111e3597b MultiSelect: Comments + tweaked location for widgets to test ImGuiItemFlags_IsMultiSelect to avoid misleading into thinking doing it before ItemAdd() is necessary. 2024-07-18 18:19:19 +02:00
ocornut
dbc67bbf23 MultiSelect: Simplified ImGuiSelectionBasicStorage by using a single SetItemSelected() entry point. 2024-07-18 18:19:19 +02:00
ocornut
f36a03c317 MultiSelect: (Breaking) merge ImGuiSelectionRequestType_Clear and ImGuiSelectionRequestType_SelectAll into ImGuiSelectionRequestType_SetAll., rename ImGuiSelectionRequest::RangeSelected to Selected.
The reasoning is that it makes it easier/faster to write an adhoc ImGuiMultiSelectIO handler (e.g. trying to apply multi-select to checkboxes)
2024-07-18 18:19:19 +02:00
ocornut
b13a78e6b2 MultiSelect: Fixed ImGuiMultiSelectFlags_SelectOnClickRelease over tree node arrow. 2024-07-18 18:19:19 +02:00
ocornut
9337151a01 MultiSelect: Box-Select: Fixed initial drag from not claiming hovered id, preventing window behind to move for a frame. 2024-07-18 18:19:19 +02:00
ocornut
3141d87ef8 MultiSelect: Box-Select: Fixed CTRL+drag from void clearing items. 2024-07-18 18:19:18 +02:00
ocornut
8312c75fef MultiSelect: Added ImGuiMultiSelectFlags_NoRangeSelect. Fixed ImGuiMultiSelectFlags_ScopeRect not querying proper window hover. 2024-07-18 18:19:18 +02:00
ocornut
d439f590ab MultiSelect: Comments + Assets Browser : Tweak colors. 2024-07-18 18:19:18 +02:00
ocornut
6c4bf8e56e MultiSelect: Fixed ImGuiSelectionBasicStorage::ApplyRequests() incorrectly maintaining selection size on SelectAll. 2024-07-18 18:19:18 +02:00
ocornut
f3d77d8e71 MultiSelect: Box-Select: Further refactor to extra mode code away from multi-select function into box-select funcitons. 2024-07-18 18:19:18 +02:00
ocornut
907268a430 MultiSelect: Box-Select: Fixed scrolling on high framerates. 2024-07-18 18:19:18 +02:00
ocornut
5d9de14493 MultiSelect: Box-Select: Refactor: Renames.
Split into two commits to facilite looking into previous one if needed.
2024-07-18 18:19:18 +02:00
ocornut
75bac1aac6 MultiSelect: Box-Select: Refactor into its own structure, designed for single-instance but closer to being reusable outside Multi-Select.
Kept same member names.
2024-07-18 18:19:18 +02:00
ocornut
15391762dd MultiSelect: Box-Select: Added ImGuiMultiSelectFlags_BoxSelect2d support. Enabled in Asset Browser. Selectable() supports it. 2024-07-18 18:19:18 +02:00
ocornut
1ac469b50f MultiSelect: Box-Select: Fixed holes when using with clipper (in 1D list.)
Clipper accounts for Selectable() layout oddity as BoxSelect is sensitive to it.
Also tweaked scroll triggering region inward.
Rename ImGuiMultiSelectFlags_NoBoxSelectScroll to ImGuiMultiSelectFlags_BoxSelectNoScroll.
Fixed use with ImGuiMultiSelectFlags_SinglaSelect.
2024-07-18 18:19:18 +02:00
ocornut
51fe0bfcf6 MultiSelect: reworked comments in imgui.h now that we have our own section. 2024-07-18 18:19:17 +02:00
ocornut
0f633c1d99 MultiSelect: move demo's ExampleSelection to main api as a convenient ImGuiSelectionBasicStorage for basic users. 2024-07-18 18:19:17 +02:00
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
3d41994a63 MultiSelect: simplify clearing ImGuiMultiSelectTempData. 2024-07-18 18:19:17 +02:00
ocornut
33fc61a091 MultiSelect: use a single ImGuiMultiSelectIO buffer.
+ using local storage var in EndMultiSelect(), should be no-op.
2024-07-18 18:19:17 +02:00
ocornut
c527cba470 MultiSelect: we don't need to ever write to EndIO.RangeSrcItem as this is not meant to be used. 2024-07-18 18:19:16 +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
5628dda5a5 MultiSelect: move shared logic to MultiSelectItemHeader().
No logic change AFAIK but added an indent level in MultiSelectItemHeader(). Logic changes will come in next commit.
2024-07-18 18:19:16 +02:00
ocornut
9da4efed2a MultiSelect: moved RequestClear output so it'll match request list version better. Use Storage->RangeSrcItem in EndMultiSelect(). 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
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
af83a3eea4 MultiSelect: clear selection when leaving a scope with a nav directional request.
May need to clarify how to depends on actions being performed (e.g. click doesn't).
May become optional?
2024-07-18 18:19:15 +02:00
ocornut
6821401a3f MultiSelect: Tweak debug log to print decimal+hex values for item data.
Struggled to get standard PRIX64 to work on CI.
2024-07-18 18:19:15 +02:00
ocornut
c9eb3714e8 MultiSelect: move HasSelectionData to ImGuiItemFlags to facilitate copying around in standardized fieds.
Required/motivated to simplify support for ImGuiTreeNodeFlags_NavLeftJumpsBackHere (bc3c0ce) in this branch.
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
ab9326f4ae MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused. 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
387fc13894 MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value. 2024-07-18 18:19:14 +02:00
ocornut
961b81c362 MultiSelect: Tidying up/simpllifying MultiSelectItemFooter().
Intended to be entirely a no-op, merely a transform of source code for simplification. But committing separatey from behavior change in previous change.
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
85954c845e MultiSelect: Enter can alter selection if current item is not selected. 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
815c61b82e MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper. 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
a05700e327 MultiSelect: Enter doesn't alter selection (unlike Space).
Fix for changes done in 5606.
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
ocornut
919cac1482 MultiSelect: Demo: Add a simpler version. 2024-07-18 18:19:12 +02:00
ocornut
ad5d3c9bff MultiSelect: Fixed issue with Ctrl+click on TreeNode + amend demo to test drag and drop. 2024-07-18 18:19:12 +02:00
ocornut
b9721c1ed7 MultiSelect: Temporary fix/work-around for child/popup to not inherit MultiSelectEnabled flag, until we make mulit-select data stackable. 2024-07-18 18:19:12 +02:00
omar
00c4b8f2a3 MultiSelect: Fix testing key mods from after the nav request (remove need to hold the mod longer) 2024-07-18 18:19:12 +02:00
omar
3ba3f0d905 MultiSelect: Fix Selectable() ambiguous return value, clarify need to use IsItemToggledSelection(). 2024-07-18 18:19:12 +02:00
omar
0479b188d0 MultiSelect: Comments. Tweak demo. 2024-07-18 18:19:12 +02:00
omar
9aeebd24f7 MultiSelect: Fixed CTRL+A not testing focus scope id. Fixed CTRL+A not testing active id. Added demo code.
Comments.
2024-07-18 18:19:12 +02:00
ocornut
7abda179af MultiSelect: Fix for TreeNode following merge of 011d4755. Demo: basic test for tree nodes. 2024-07-18 18:19:12 +02:00
omar
9c7183dd04 MultiSelect: Transition to use FocusScope bits merged in master.
Preserve ability to shift+arrow into an item that is part of FocusScope but doesn't carry a selection without breaking selection.
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
070c046cd1 Internals: rename recently added TreeNodeIsOpen() -> TreeNodeGetOpen(). (#7553, #1131, #2958, #2079, #722)
Amend ac7d6fb
2024-07-17 20:01:55 +02:00
ocornut
7c6d4ff28d TreeNode: Internals: facilitate dissociating item ID from storage ID (useful for 1861) 2024-07-17 19:20:39 +02:00
ocornut
669021be4c Style: close button and collapse/window-menu button hover highlight made rectangular instead of round.
The reason they were round in the first place was to work better with rounded windows/frames.
However since the 4a8142449 rework #6749 we can naturally use a tigher bounding box and it seems to work ok either way.
2024-07-17 15:56:34 +02:00
ocornut
4247f190c2 Demo: Property Editor: rearrange code + replace use of bool to proper ImGuiChildFlags.
Amend 46691d1
2024-07-17 13:52:30 +02:00
ocornut
9c1f922b02 Fixed pvs-studio warning. 2024-07-16 17:19:12 +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
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
ac7d6fb5ca Internals: Added TreeNodeIsOpen() to facilitate discoverability. (#7553, #1131, #2958, #2079, #722) 2024-07-15 11:31:00 +02:00
ocornut
2d0baaabe6 TreeNode: rename/rework ImGuiNavTreeNodeData system to be usable by more features. (#2920, #1131, #7553)
Reworked to it is easier during TreeNode code to request extra data to be stored.
2024-07-03 18:59:26 +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
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
c47928ffc0 Checkbox: minor tidying up to simplify work on multi-select branch. 2024-06-28 18:33:57 +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
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
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
f1eaf8d7c0 Internals: added SetNextItemRefVal(). (#7305) 2024-06-06 17:01:02 +02:00
ocornut
47db0698d2 InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal, ImGuiInputTextFlags_DisplayEmptyRefVal. (#7305) 2024-06-06 16:51:15 +02:00
ocornut
3460014e05 Internals: avoid using bitfields in ImGuiNextItemData as it leads to extraneous packing. rename ImGuiDataTypeTempStorage to ImGuiDataTypeStorage. moved DataType section above Widgets. 2024-06-06 16:50:32 +02:00
ocornut
109a8632d7 Combo: simplified Combo() API uses a list clipper.
Wasn't as trivial before supporting IncludeItemByIndex().
2024-05-28 18:24:01 +02:00
ocornut
5cbc34a10c Scrollbar: clicking above or below the grab scrolls by one page, holding mouse button repeats scrolling. (#7328, #150)
Remove absolute seeking entirely. Amend f02108085.
2024-05-28 16:28:20 +02:00
ocornut
ed9eb880b5 Windows: Fixed altering FramePadding mid-frame not correctly affecting logic responsible for honoring io.ConfigWindowsMoveFromTitleBarOnly. (#7576, #899)
Latching TitleBarHeight, MenuBarHeight in window.
2024-05-28 15:35:36 +02:00
ocornut
7f5d5c80b2 Internals, Tabbar: fixed TabBarGetCurrentTab() with tab_idx == 0. (#7629)
Thanks @VerySmallRoach. Amend 3d8885cbb (#5853, #5997)
2024-05-28 10:11:01 +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
85513de247 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
For several reasons those changes makes sense. They are being made because making some of those API public.
Only past users of imgui_internal.h with the extra parameters will be affected.
Added asserts for valid flags in various functions to detect _some_ misuses, BUT NOT ALL.
Amend 4448d975 (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
2024-05-23 16:57:03 +02:00
ocornut
900b29055c Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
Amend 4448d975 (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
2024-05-23 16:57:03 +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
ocornut
ac90e1bd5b Backends: Win32: replace bd != nullptr assert with early out. (#6275)
+ fixed inconsistent use of break vs return 0 in WndProcHandler (had no tangible effect).
2024-05-14 12:18:10 +02:00
ocornut
d06b8b58d8 Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
Broken by 8b8a61bd + Comments (#7570)
2024-05-13 19:03:04 +02:00
ocornut
f48aae600a Version 1.90.7 WIP 2024-05-13 14:47:37 +02:00
ocornut
6ccc561a2a Version 1.90.6 2024-05-08 15:38:33 +02:00
ocornut
558c57a086 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice. 2024-04-30 11:00:57 +02:00
gan74
c895e987ad ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901) 2024-04-24 19:40:26 +02:00
diego.mateos
b8a44b198c TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937) 2024-04-24 19:00:58 +02:00
ocornut
da18fcb7ae Internals: ensure ButtonBehavior() is called with non 0 id. 2024-04-23 18:39:40 +02:00
ocornut
361432a0bb TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
Also adjust some of the interact_bb padding, arbitrary interact padding not meaningful as empty label is likely to be followed by extra item. User likely to use ImGuiTreeNodeFlags_SpanAvailWidth.
2024-04-18 20:50:00 +02:00
ocornut
3caa79c8a5 Version 1.90.6 WIP 2024-04-15 11:27:07 +02:00
ocornut
f790d51665 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal! 2024-04-12 16:55:32 +02:00