ocornut
bd5620b11f
RangeSelect/MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_BoxSelect -> ImGuiMultiSelectFlags_BoxSelect1d, ImGuiMultiSelectFlags_BoxSelect2d -> ImGuiMultiSelectFlags_BoxSelect.
...
ImGuiMultiSelectFlags_BoxSelect1d being an optimization it is the optional flag.
ago%!(EXTRA string=11 months)
ocornut
35b4a502aa
RangeSelect/MultiSelect: Box-select: fixes for checkboxes support. Comments.
ago%!(EXTRA string=11 months)
ocornut
5c7e4350bc
RangeSelect/MultiSelect: (breaking) renamed ImGuiSelectionBasicStorage::AdapterData to UserData.
ago%!(EXTRA string=11 months)
ocornut
78494c92a2
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.
ago%!(EXTRA string=11 months)
ocornut
83de5e25ad
RangeSelect/MultiSelect: Demo: use Shortcut().
...
Got rid of suggestion to move Delete signal processing to BeginMultiSelect(), seems unnecessary.
ago%!(EXTRA string=11 months)
ocornut
e3df9e8a7a
RangeSelect/MultiSelect: added ImGuiMultiSelectFlags_NoAutoSelect, ImGuiMultiSelectFlags_NoAutoClear features + added Checkbox Demo
...
Refer to "widgets_multiselect_checkboxes" in imgui_test_suite.
ago%!(EXTRA string=11 months)
ocornut
408e62dbfe
RangeSelect/MultiSelect: Simplified ImGuiSelectionBasicStorage by using a single SetItemSelected() entry point.
ago%!(EXTRA string=11 months)
ocornut
80c6bc8738
RangeSelect/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)
ago%!(EXTRA string=11 months)
ocornut
130714fba3
RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_NoRangeSelect. Fixed ImGuiMultiSelectFlags_ScopeRect not querying proper window hover.
ago%!(EXTRA string=11 months)
ocornut
4cdc7bf150
RangeSelect/MultiSelect: Comments + Assets Browser : Tweak colors.
ago%!(EXTRA string=11 months)
ocornut
44bab4ab28
RangeSelect/MultiSelect: Box-Select: Added ImGuiMultiSelectFlags_BoxSelect2d support. Enabled in Asset Browser. Selectable() supports it.
ago%!(EXTRA string=11 months)
ocornut
08d540fc5c
RangeSelect/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.
ago%!(EXTRA string=11 months)
ocornut
c2a09cb30a
RangeSelect/MultiSelect: Demo: Assets Browser: added deletion support. Store ID in selection. Moved QueueDeletion to local var to emphasis that this is a user extension.
ago%!(EXTRA string=11 months)
ocornut
0ce1418295
RangeSelect/MultiSelect: reworked comments in imgui.h now that we have our own section.
ago%!(EXTRA string=11 months)
ocornut
4d4d30510b
RangeSelect/MultiSelect: move demo's ExampleSelection to main api as a convenient ImGuiSelectionBasicStorage for basic users.
...
FIXME-WIP: Less comments in imgui.
ago%!(EXTRA string=11 months)
ocornut
b066d839e8
RangeSelect/MultiSelect: remove ImGuiSelectionRequest/ImGuiMultiSelectIO details from public api to reduce confusion + comments.
ago%!(EXTRA string=11 months)
ocornut
4a11a9b0b9
RangeSelect/MultiSelect: support for nested/stacked BeginMultiSelect().
...
Mimicking table logic, reusing buffers.
ago%!(EXTRA string=11 months)
ocornut
de8a6d0722
RangeSelect/MultiSelect: Box-Select: added scroll support.
ago%!(EXTRA string=11 months)
ocornut
b642c88a30
RangeSelect/MultiSelect: Box-Select: added support for ImGuiMultiSelectFlags_BoxSelect.
...
(v11)
FIXME: broken on clipping demo.
ago%!(EXTRA string=11 months)
ocornut
fd6d5d6703
RangeSelect/MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_ClearOnClickWindowVoid -> ImGuiMultiSelectFlags_ClearOnClickVoid. Added ImGuiMultiSelectFlags_ScopeWindow, ImGuiMultiSelectFlags_ScopeRect.
ago%!(EXTRA string=11 months)
ocornut
a882002c0b
RangeSelect/MultiSelect: (Breaking) io contains a ImVector<ImGuiSelectionRequest> list.
ago%!(EXTRA string=11 months)
ocornut
0416519d80
RangeSelect/MultiSelect: clarified purpose and use of IsItemToggledSelection(). Added assert. Moved to multi-selection section of imgui.h.
ago%!(EXTRA string=11 months)
ocornut
084fdc054f
RangeSelect/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).
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
79b3439fda
RangeSelect/MultiSelect: ImGuiMultiSelectIO's field are not used during loop anymore, stripping them out of comments.
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
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
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
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
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
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
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
aca7304ab5
RangeSelect/MultiSelect: Shallow tweaks/refactors.
...
Including moving IsFocused back internally for now.
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
b08f438669
RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts.
ago%!(EXTRA string=11 months)
omar
4b78376f45
RangeSelect/MultiSelect: Comments. Tweak demo.
ago%!(EXTRA string=11 months)