ocornut
b507b33509
RangeSelect/MultiSelect: Box-Select: when dragging from void, first hit item sets NavId by simulating a press, so navigation can resume from that spot.
ago%!(EXTRA string=11 months)
ocornut
348561f99f
RangeSelect/MultiSelect: Comments + tweaked location for widgets to test ImGuiItemFlags_IsMultiSelect to avoid misleading into thinking doing it before ItemAdd() is necessary.
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
4fb97db4af
RangeSelect/MultiSelect: Box-Select: Further refactor to extra mode code away from multi-select function into box-select funcitons.
ago%!(EXTRA string=11 months)
ocornut
3c20d552da
RangeSelect/MultiSelect: Box-Select: Fixed scrolling on high framerates.
ago%!(EXTRA string=11 months)
ocornut
a2c287ce58
RangeSelect/MultiSelect: Box-Select: Refactor: Renames.
...
Split into two commits to facilite looking into previous one if needed.
ago%!(EXTRA string=11 months)
ocornut
a5d6cf872e
RangeSelect/MultiSelect: Box-Select: Refactor into its own structure, designed for single-instance but closer to being reusable outside Multi-Select.
...
Kept same member names.
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
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
f5fac870e1
RangeSelect/MultiSelect: simplify clearing ImGuiMultiSelectTempData.
ago%!(EXTRA string=11 months)
ocornut
84600712d5
RangeSelect/MultiSelect: use a single ImGuiMultiSelectIO buffer.
...
+ using local storage var in EndMultiSelect(), should be no-op.
ago%!(EXTRA string=11 months)
ocornut
a882002c0b
RangeSelect/MultiSelect: (Breaking) io contains a ImVector<ImGuiSelectionRequest> list.
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
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
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
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
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
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
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
3e91dc82a0
RangeSelect/MultiSelect: Demo: Add a simpler version.
ago%!(EXTRA string=11 months)
ocornut
21b2691e55
RangeSelect/MultiSelect: Temporary fix/work-around for child/popup to not inherit MultiSelectEnabled flag, until we make mulit-select data stackable.
ago%!(EXTRA string=11 months)
omar
25f49eaf42
RangeSelect/MultiSelect: Fix testing key mods from after the nav request (remove need to hold the mod longer)
ago%!(EXTRA string=11 months)
omar
5528bc2369
RangeSelect/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.
ago%!(EXTRA string=11 months)
omar
ef3c860ae3
RangeSelect/MultiSelect: Renamed SetNextItemMultiSelectData() to SetNextItemSelectionData()
ago%!(EXTRA string=11 months)
omar
4e5d65bc07
RangeSelect/MultiSelect: Added IMGUI_HAS_MULTI_SELECT define. Fixed right-click toggling selection without clearing active id, could lead to MarkItemEdited() asserting. Fixed demo.
ago%!(EXTRA string=11 months)
omar
e8ae391bc4
RangeSelect/MultiSelect: WIP range-select (ref 1861) [rebased]
...
Internals: Rename ImGuiSelectableFlags_PressedOnXXX to ImGuiSelectableFlags_SelectOnXXX, ImGuiButtonFlags_NoHoveredOnNav to ImGuiButtonFlags_NoHoveredOnFocus.
Rebased 2023/05/20 (reworked demo locations), 2023/05/23 (rename some local to reduce noise in future commits)
Major rebase 2023/09/12 since master added ImGuiSelectionUserData + SetNextItemSelectionUserData() + add ImGuiItemFlags_IsMultiSelect.
ago%!(EXTRA string=11 months)
ocornut
8caf7afbad
Internals: made ImLowerBound() accessible in internals + take a span. + rearrange child/popup/tooltips section.
...
Because upcoming rework of ImGuiSelectionBasicStorage will want to do a lower bound on a span.
ago%!(EXTRA string=11 months)
ocornut
d46a0aa069
Internals: renamed HoveredIdDisabled to HoveredIdIsDisabled for consistency.
ago%!(EXTRA string=11 months)
ocornut
7260bb51cf
Version 1.90.9 WIP
ago%!(EXTRA string=11 months)
ocornut
6f7b5d0ee2
Version 1.90.8
ago%!(EXTRA string=11 months)
ocornut
f1eaf8d7c0
Internals: added SetNextItemRefVal(). ( #7305 )
ago%!(EXTRA string=11 months)
ocornut
47db0698d2
InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal, ImGuiInputTextFlags_DisplayEmptyRefVal. ( #7305 )
ago%!(EXTRA string=11 months)
ocornut
3460014e05
Internals: avoid using bitfields in ImGuiNextItemData as it leads to extraneous packing. rename ImGuiDataTypeTempStorage to ImGuiDataTypeStorage. moved DataType section above Widgets.
ago%!(EXTRA string=11 months)
SleekZ
8ab8965713
Improved clarity in comment. ( #7642 )
ago%!(EXTRA string=11 months)
ocornut
9aec6d7217
Internals: Added ItemUnclipByLog for use by ItemAdd(), as we expected to add more.
ago%!(EXTRA string=11 months)
ocornut
854e21d4b4
Disabled: move field to ImGuiWindowStackData. ( #7640 )
...
Amend f953ebf
ago%!(EXTRA string=11 months)
ocornut
f953ebf9ca
Disabled: nested tooltips or other non-child window within a BeginDisabled() block disable the disabled state. ( #211 , #7640 )
ago%!(EXTRA string=11 months)