ocornut
7c6b4f5892
Demo: Assets Browser: store items, sorting, type overlay.
ago%!(EXTRA string=11 months)
ocornut
738af3ea80
Demo: Assets Browser: Added assets browser demo.
ago%!(EXTRA string=11 months)
ocornut
c9d8068bbe
RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_SelectOnClickRelease to allow dragging an unselected item without altering selection + update drag and drop demo.
ago%!(EXTRA string=11 months)
ocornut
6f9d36c6f2
RangeSelect/MultiSelect: move shared logic to MultiSelectItemHeader().
...
No logic change AFAIK but added an indent level in MultiSelectItemHeader(). Logic changes will come in next commit.
ago%!(EXTRA string=11 months)
ocornut
4b15ee88a0
RangeSelect/MultiSelect: moved RequestClear output so it'll match request list version better. Use Storage->RangeSrcItem in EndMultiSelect().
ago%!(EXTRA string=11 months)
ocornut
79b3439fda
RangeSelect/MultiSelect: ImGuiMultiSelectIO's field are not used during loop anymore, stripping them out of comments.
ago%!(EXTRA string=11 months)
ocornut
ea8d15cfa1
Demo: Dual List Box: Added a dual list box (6648)
ago%!(EXTRA string=11 months)
ocornut
7355e7c895
RangeSelect/MultiSelect: Demo: Deletion: Various renames to clarify. Use adapter and item list in both ApplyDeletion functions.
...
This also minify the patch for an alternative/wip attmept at redesgining pre/post deletion logic. But turns out current attempt may be easier to grasp.
ago%!(EXTRA string=11 months)
ocornut
723973a8b3
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
c2ac70973e
RangeSelect/MultiSelect: Demo: Make ExampleSelection use ImGuiID. More self-explanatory.
ago%!(EXTRA string=11 months)
ocornut
7c44b46456
RangeSelect/MultiSelect: Demo: Remove UserDataToIndex from ExampleSelectionAdapter.
...
Seems to make a better demo this way.
ago%!(EXTRA string=11 months)
ocornut
1fdb880118
RangeSelect/MultiSelect: Demo: rework ExampleSelection with an ExampleSelectionAdapter layer, allowing to share more code accross examples using different storage systems.
...
Not ideal way to showcase this demo but this is really more flexible.
ago%!(EXTRA string=11 months)
ocornut
157efbb7ad
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
d55eb33491
RangeSelect/MultiSelect: Demo: added simpler demo using Clipper. Clarify RangeSrcPassedBy doc.
ago%!(EXTRA string=11 months)
ocornut
f4644bce0e
RangeSelect/MultiSelect: Demo: rework ExampleSelection names to map better to typical user code + variety of Comments tweaks.
ago%!(EXTRA string=11 months)
ocornut
e26dc83071
RangeSelect/MultiSelect: (Breaking) RequestSetRange's parameter are RangeFirstItem...RangeLastItem (which was always ordered unlike RangeSrcItem...RangeDstItme). Removed RangeDstItem. Removed RangeDirection.
ago%!(EXTRA string=11 months)
ocornut
4db4912d35
RangeSelect/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?
ago%!(EXTRA string=11 months)
ocornut
17b1bf2c5c
RangeSelect/MultiSelect: Tweak debug log to print decimal+hex values for item data.
...
Struggled to get standard PRIX64 to work on CI.
ago%!(EXTRA string=11 months)
ocornut
9b778ae71e
RangeSelect/MultiSelect: move HasSelectionData to ImGuiItemFlags to facilitate copying around in standardized fieds.
...
Required/motivated to simplify support for ImGuiTreeNodeFlags_NavLeftJumpsBackHere (bc3c0ce
) in this branch.
ago%!(EXTRA string=11 months)
ocornut
d0f6c7a9ce
RangeSelect/MultiSelect: (Breaking) Use ImGuiSelectionUserData (= ImS64) instead of void* for selection user data.
...
Less confusing for most users, less casting.
ago%!(EXTRA string=11 months)
ocornut
27300e95e5
RangeSelect/MultiSelect: Comments, tweaks.
...
+ Alignment to reduce noise on next commit.
ago%!(EXTRA string=11 months)
ocornut
ec228c2c71
RangeSelect/MultiSelect: (Breaking) Fix + Rename ImGuiMultiSelectFlags_NoMultiSelect to ImGuiMultiSelectFlags_SingleSelect as it seems easier to grasp.
...
Feature was broken by "Tidying up..." June 30 commit.
ago%!(EXTRA string=11 months)
ocornut
ecba972102
RangeSelect/MultiSelect: Cleanup unused comments/code.
ago%!(EXTRA string=11 months)
ocornut
1c7f3590a2
RangeSelect/MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused.
ago%!(EXTRA string=11 months)
ocornut
4141d6fba6
RangeSelect/MultiSelect: Demo: Delete items from menu.
ago%!(EXTRA string=11 months)
ocornut
3d962dd5a5
RangeSelect/MultiSelect: Further simplication of user code to support Deletion.
...
Provide standard RequestFocusItem storage.
ago%!(EXTRA string=11 months)
ocornut
a1d829eaf7
RangeSelect/MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo.
ago%!(EXTRA string=11 months)
ocornut
1392cd3b9d
RangeSelect/MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo.
ago%!(EXTRA string=11 months)
ocornut
2e38a62a63
RangeSelect/MultiSelect: Demo: first-draft of user-side deletion idioms.
...
(will need support from lib)
ago%!(EXTRA string=11 months)
ocornut
4ba6dc2a3f
RangeSelect/MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value.
ago%!(EXTRA string=11 months)
ocornut
8a31490921
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
59971d5aed
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
107ea818de
RangeSelect/MultiSelect: Remove ImGuiMultiSelectFlags_NoUnselect because I currently can't find use for this specific design.
...
And/or it seem partly broken.
ago%!(EXTRA string=11 months)
ocornut
11a6d47b38
RangeSelect/MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments.
ago%!(EXTRA string=11 months)
ocornut
8790b8136d
RangeSelect/MultiSelect: (Breaking) Renamed 'RangeSrc -> 'RangeSrcItem', "RangeDst' -> 'RangeDstItem'
...
This is necessary to have consistent names in upcoming fields (NavIdItem etc.)
ago%!(EXTRA string=11 months)
ocornut
de974955e6
RangeSelect/MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks.
...
debug
ago%!(EXTRA string=11 months)
ocornut
20e46d4180
RangeSelect/MultiSelect: Demo tweak. Removed multi-scope from Advanced (too messy), made it a seperate mini-demo.
ago%!(EXTRA string=11 months)
ocornut
507790eeaa
RangeSelect/MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO.
ago%!(EXTRA string=11 months)
ocornut
826b23fa5f
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
7c81fc8bab
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
ebbca15bde
RangeSelect/MultiSelect: Enter can alter selection if current item is not selected.
ago%!(EXTRA string=11 months)
ocornut
94adf6b2ba
RangeSelect/MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo.
ago%!(EXTRA string=11 months)
ocornut
85a7202129
RangeSelect/MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper.
ago%!(EXTRA string=11 months)
ocornut
aca7304ab5
RangeSelect/MultiSelect: Shallow tweaks/refactors.
...
Including moving IsFocused back internally for now.
ago%!(EXTRA string=11 months)
ocornut
72e5526676
RangeSelect/MultiSelect: Enter doesn't alter selection (unlike Space).
...
Fix for changes done in 5606.
ago%!(EXTRA string=11 months)
ocornut
7762093e40
RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_ClearOnClickWindowVoid. + Demo: showcase multiple selection scopes in same window.
ago%!(EXTRA string=11 months)
ocornut
e401194989
RangeSelect/MultiSelect: Demo: Added pointer indirection and indent level.
...
This is to reduce noise for upcoming commits, ahead of adding a loop here.
ago%!(EXTRA string=11 months)
ocornut
b08f438669
RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts.
ago%!(EXTRA string=11 months)
ocornut
3e91dc82a0
RangeSelect/MultiSelect: Demo: Add a simpler version.
ago%!(EXTRA string=11 months)
ocornut
3953aae1ec
RangeSelect/MultiSelect: Fixed issue with Ctrl+click on TreeNode + amend demo to test drag and drop.
ago%!(EXTRA string=11 months)