ocornut
b20f62b162
Obsoleted GetContentRegionMax().
2024-07-25 16:20:44 +02:00
ocornut
055b2e80fb
Moved everyone's best friend GetContentRegionAvail() to a more prominent position.
2024-07-25 16:09:46 +02:00
ocornut
aad86b8756
Obsoleted GetWindowContentRegionMin() and GetWindowContentRegionMax().
...
You should never need those functions. You can do everything with GetCursorScreenPos() and GetContentRegionAvail().
2024-07-25 15:53:55 +02:00
ocornut
e3da939b86
Groups, Tables: fixed EndGroup() failing to correctly capture current table occupied size. ( #7543 )
...
See "layout_group_endtable" test.
2024-07-24 18:41:51 +02:00
ocornut
97ff9bd370
Nav: fixed c licking window decorations (e.g. resize borders) from losing focused item when within a child window using ImGuiChildFlags_NavFlattened.
...
In essence, using ImGuiFocusRequestFlags_RestoreFocusedChild here is a way to reduce changes caused by FocusWindow(), but it could be done more neatly.
See amended "nav_flattened" test.
2024-07-22 15:04:25 +02:00
ocornut
c3dca77a19
Demo: rework Property Editor.
2024-07-22 14:49:16 +02:00
Thomas Stehle
da36336321
TabBar, Style: added style option for the size of the Tab-Bar Overline ( #7804 )
...
Amend 21bda2e
.
2024-07-22 10:58:16 +02:00
ocornut
f9cda1fa24
Inputs: added SetItemKeyOwner(ImGuiKey key) in public API. ( #456 , #2637 , #2620 , #2891 , #3370 , #3724 , #4828 , #5108 , #5242 , #5641 )
2024-07-19 18:39:07 +02:00
ocornut
b6e313bc05
MultiSelect: using ImGuiMultiSelectFlags_NoRangeSelect ensure never having to interpolate between two ImGuiSelectionUserData.
2024-07-19 16:42:14 +02:00
ocornut
02c31a8dd1
MultiSelect: added Changelog for the feature. Removed IMGUI_HAS_MULTI_SELECT.
2024-07-18 18:19:22 +02:00
ocornut
2688562fd2
MultiSelect: Better document how TreeNode() is not trivially usable yet.
...
Will revert when the time is right.
2024-07-18 18:19:22 +02:00
ocornut
7814518049
MultiSelect: ImGuiSelectionBasicStorage: optimized for smaller insertion amounts in larger sets + fix caling batch select with same value.
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
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
f9caf4447a
MultiSelect: fixed ImGuiSelectionBasicStorage::Swap() helper.
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
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
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
955210ae5b
MultiSelect: Demo: use Shortcut().
...
Got rid of suggestion to move Delete signal processing to BeginMultiSelect(), seems unnecessary.
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
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
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
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
750e23998f
MultiSelect: Demo: Assets Browser: added deletion support. Store ID in selection. Moved QueueDeletion to local var to emphasis that this is a user extension.
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
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