Commit Graph

  • 955210ae5b MultiSelect: Demo: use Shortcut(). ocornut 2024-05-23 18:56:31 +0200
  • 0be238ec58 MultiSelect: Box-Select: fix preventing focus. amend determination of scope_hovered for decorated/non-child windows + avoid stealing NavId. (#7424) ocornut 2024-04-18 15:35:29 +0200
  • e7a734f78d MultiSelect: added ImGuiMultiSelectFlags_NoAutoSelect, ImGuiMultiSelectFlags_NoAutoClear features + added Checkbox Demo ocornut 2024-03-07 16:26:22 +0100
  • a639346fba MultiSelect: Demo: make various child windows resizable, with synched heights for the dual list box demo. ocornut 2024-03-07 15:52:30 +0100
  • 2111e3597b MultiSelect: Comments + tweaked location for widgets to test ImGuiItemFlags_IsMultiSelect to avoid misleading into thinking doing it before ItemAdd() is necessary. ocornut 2024-03-06 15:33:50 +0100
  • dbc67bbf23 MultiSelect: Simplified ImGuiSelectionBasicStorage by using a single SetItemSelected() entry point. ocornut 2024-03-06 15:04:03 +0100
  • f36a03c317 MultiSelect: (Breaking) merge ImGuiSelectionRequestType_Clear and ImGuiSelectionRequestType_SelectAll into ImGuiSelectionRequestType_SetAll., rename ImGuiSelectionRequest::RangeSelected to Selected. ocornut 2024-03-06 14:22:38 +0100
  • b13a78e6b2 MultiSelect: Fixed ImGuiMultiSelectFlags_SelectOnClickRelease over tree node arrow. ocornut 2024-01-12 12:05:03 +0100
  • 9337151a01 MultiSelect: Box-Select: Fixed initial drag from not claiming hovered id, preventing window behind to move for a frame. ocornut 2024-01-04 20:05:05 +0100
  • 3141d87ef8 MultiSelect: Box-Select: Fixed CTRL+drag from void clearing items. ocornut 2024-01-04 19:13:42 +0100
  • 8312c75fef MultiSelect: Added ImGuiMultiSelectFlags_NoRangeSelect. Fixed ImGuiMultiSelectFlags_ScopeRect not querying proper window hover. ocornut 2024-01-04 18:41:20 +0100
  • d439f590ab MultiSelect: Comments + Assets Browser : Tweak colors. ocornut 2023-12-21 15:12:17 +0100
  • 6c4bf8e56e MultiSelect: Fixed ImGuiSelectionBasicStorage::ApplyRequests() incorrectly maintaining selection size on SelectAll. ocornut 2023-12-21 14:29:01 +0100
  • f3d77d8e71 MultiSelect: Box-Select: Further refactor to extra mode code away from multi-select function into box-select funcitons. ocornut 2023-12-20 22:34:50 +0100
  • 907268a430 MultiSelect: Box-Select: Fixed scrolling on high framerates. ocornut 2023-12-20 22:31:07 +0100
  • 5d9de14493 MultiSelect: Box-Select: Refactor: Renames. ocornut 2023-12-20 22:19:55 +0100
  • 75bac1aac6 MultiSelect: Box-Select: Refactor into its own structure, designed for single-instance but closer to being reusable outside Multi-Select. ocornut 2023-12-20 22:07:28 +0100
  • 15391762dd MultiSelect: Box-Select: Added ImGuiMultiSelectFlags_BoxSelect2d support. Enabled in Asset Browser. Selectable() supports it. ocornut 2023-12-20 21:14:09 +0100
  • 1ac469b50f MultiSelect: Box-Select: Fixed holes when using with clipper (in 1D list.) ocornut 2023-12-20 11:34:25 +0100
  • 7546a2d345 MultiSelect: Demo: Assets Browser: track scrolling target so we can roughly land on hovered item. ocornut 2023-12-12 17:26:02 +0100
  • 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. ocornut 2023-12-06 16:55:55 +0100
  • 51fe0bfcf6 MultiSelect: reworked comments in imgui.h now that we have our own section. ocornut 2023-12-05 18:36:00 +0100
  • 0f633c1d99 MultiSelect: move demo's ExampleSelection to main api as a convenient ImGuiSelectionBasicStorage for basic users. ocornut 2023-12-01 17:49:47 +0100
  • e0282347db MultiSelect: remove ImGuiSelectionRequest/ImGuiMultiSelectIO details from public api to reduce confusion + comments. ocornut 2023-12-01 15:03:43 +0100
  • 0af6fbb51d MultiSelect: added support for nested/stacked BeginMultiSelect(). ocornut 2023-10-26 17:20:33 +0200
  • b747d6fe59 MultiSelect: Demo: rework and move selection adapter inside ExampleSelection. ocornut 2023-10-06 17:10:52 +0200
  • aa4d64be92 MultiSelect: Box-Select: added scroll support. ocornut 2023-09-26 13:44:10 +0200
  • f904a6646c MultiSelect: Box-Select: added support for ImGuiMultiSelectFlags_BoxSelect. ocornut 2023-08-29 16:27:31 +0200
  • 90305c57e4 MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_ClearOnClickWindowVoid -> ImGuiMultiSelectFlags_ClearOnClickVoid. Added ImGuiMultiSelectFlags_ScopeWindow, ImGuiMultiSelectFlags_ScopeRect. ocornut 2023-09-25 19:53:02 +0200
  • bf01795483 Demo: Assets Browser: add hit spacing, requierd for box-select patterns. ocornut 2023-09-25 17:21:19 +0200
  • 3d41994a63 MultiSelect: simplify clearing ImGuiMultiSelectTempData. ocornut 2023-09-27 14:24:23 +0200
  • 33fc61a091 MultiSelect: use a single ImGuiMultiSelectIO buffer. ocornut 2023-09-22 15:34:25 +0200
  • 5941edd9f7 MultiSelect: added support for recovery in ErrorCheckEndWindowRecover(). ocornut 2023-09-22 15:28:04 +0200
  • c527cba470 MultiSelect: we don't need to ever write to EndIO.RangeSrcItem as this is not meant to be used. ocornut 2023-09-22 15:05:38 +0200
  • 6feff6ff05 MultiSelect: (Breaking) io contains a ImVector<ImGuiSelectionRequest> list. ocornut 2023-09-22 14:23:40 +0200
  • a6adfb2b49 MultiSelect: added missing call on Shutdown(). Better reuse selection buffer. ocornut 2023-09-22 14:30:56 +0200
  • c3998b70cc MultiSelect: clarified purpose and use of IsItemToggledSelection(). Added assert. Moved to multi-selection section of imgui.h. ocornut 2023-09-21 20:40:21 +0200
  • 2765fdb43e MultiSelect: removed seemingly unnecessary block in BeginMultiSelect(). ocornut 2023-09-20 19:10:08 +0200
  • 88df590145 Demo: Assets Browser: store items, sorting, type overlay. ocornut 2023-09-01 14:54:28 +0200
  • d18e57e673 Demo: Assets Browser: Added assets browser demo. ocornut 2023-08-31 20:06:22 +0200
  • 82de6c470b MultiSelect: Added ImGuiMultiSelectFlags_SelectOnClickRelease to allow dragging an unselected item without altering selection + update drag and drop demo. ocornut 2023-08-31 15:50:01 +0200
  • 5628dda5a5 MultiSelect: move shared logic to MultiSelectItemHeader(). ocornut 2023-08-31 15:03:51 +0200
  • 9da4efed2a MultiSelect: moved RequestClear output so it'll match request list version better. Use Storage->RangeSrcItem in EndMultiSelect(). ocornut 2023-08-29 18:53:58 +0200
  • a6f43dfadd MultiSelect: ImGuiMultiSelectIO's field are not used during loop anymore, stripping them out of comments. ocornut 2023-08-29 18:18:24 +0200
  • dce02f5c4b Demo: Dual List Box: Added a dual list box (6648) ocornut 2023-08-23 15:53:50 +0200
  • ba698df7bb MultiSelect: Demo: Deletion: Various renames to clarify. Use adapter and item list in both ApplyDeletion functions. ocornut 2023-08-28 16:33:30 +0200
  • e1d2109208 MultiSelect: Demo: Deletion: Rework ApplyDeletionPreLoop to use adapter + fix PostLoop not using right value of RequestFocusItem. ocornut 2023-08-23 16:48:04 +0200
  • fa516c3d76 MultiSelect: Demo: Make ExampleSelection use ImGuiID. More self-explanatory. ocornut 2023-08-28 17:36:59 +0200
  • 530155d85a MultiSelect: Demo: Remove UserDataToIndex from ExampleSelectionAdapter. ocornut 2023-09-01 16:09:41 +0200
  • 8c1f659b3d MultiSelect: Demo: rework ExampleSelection with an ExampleSelectionAdapter layer, allowing to share more code accross examples using different storage systems. ocornut 2023-08-23 15:53:20 +0200
  • 8fe6b31952 MultiSelect: (Breaking) Removed RangeSrcPassedBy in favor of favoring user to call IncludeByIndex(RangeSrcItem) which is easier/simpler to honor. ocornut 2023-08-23 20:45:02 +0200
  • 6ddc5f38af MultiSelect: Demo: added simpler demo using Clipper. Clarify RangeSrcPassedBy doc. ocornut 2023-08-23 19:47:24 +0200
  • c3753809b1 MultiSelect: Demo: rework ExampleSelection names to map better to typical user code + variety of Comments tweaks. ocornut 2023-08-22 17:46:19 +0200
  • ff95fdb668 MultiSelect: (Breaking) RequestSetRange's parameter are RangeFirstItem...RangeLastItem (which was always ordered unlike RangeSrcItem...RangeDstItme). Removed RangeDstItem. Removed RangeDirection. ocornut 2023-08-21 19:20:51 +0200
  • af83a3eea4 MultiSelect: clear selection when leaving a scope with a nav directional request. ocornut 2023-08-15 18:11:14 +0200
  • 6821401a3f MultiSelect: Tweak debug log to print decimal+hex values for item data. ocornut 2023-08-08 14:47:50 +0200
  • c9eb3714e8 MultiSelect: move HasSelectionData to ImGuiItemFlags to facilitate copying around in standardized fieds. ocornut 2023-08-07 18:53:57 +0200
  • e82b49d2d4 MultiSelect: (Breaking) Use ImGuiSelectionUserData (= ImS64) instead of void* for selection user data. ocornut 2023-08-07 12:38:24 +0200
  • 140a2f0565 MultiSelect: Comments, tweaks. ocornut 2023-08-07 12:34:20 +0200
  • 847b1dde8c MultiSelect: (Breaking) Fix + Rename ImGuiMultiSelectFlags_NoMultiSelect to ImGuiMultiSelectFlags_SingleSelect as it seems easier to grasp. ocornut 2023-08-04 10:23:44 +0200
  • 0cf376348b MultiSelect: Cleanup unused comments/code. ocornut 2023-06-08 15:01:10 +0200
  • ab9326f4ae MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused. ocornut 2023-06-07 17:40:59 +0200
  • e3616e151f MultiSelect: Demo: Delete items from menu. ocornut 2023-06-07 17:28:22 +0200
  • c0035705ca MultiSelect: Further simplication of user code to support Deletion. ocornut 2023-06-02 15:29:55 +0200
  • df1eeb9a20 MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo. ocornut 2023-06-02 15:17:01 +0200
  • 9223ffc255 MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo. ocornut 2023-06-02 14:34:22 +0200
  • 564dde0ee3 MultiSelect: Demo: first-draft of user-side deletion idioms. ocornut 2023-06-02 14:22:13 +0200
  • 387fc13894 MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value. ocornut 2023-06-07 16:25:19 +0200
  • 961b81c362 MultiSelect: Tidying up/simpllifying MultiSelectItemFooter(). ocornut 2023-06-30 14:17:16 +0200
  • 1ea9ca748c MultiSelect: Remove the need for using IsItemToggledSelection(). Update comments. ocornut 2023-06-29 17:00:43 +0200
  • 6ef70a97fd MultiSelect: Remove ImGuiMultiSelectFlags_NoUnselect because I currently can't find use for this specific design. ocornut 2023-06-08 15:03:24 +0200
  • ccf43d6a96 MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments. ocornut 2023-06-02 16:19:24 +0200
  • a83326bc52 MultiSelect: (Breaking) Renamed 'RangeSrc -> 'RangeSrcItem', "RangeDst' -> 'RangeDstItem' ocornut 2023-06-02 15:49:17 +0200
  • a39f9e7661 MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks. ocornut 2023-06-01 17:49:33 +0200
  • c61ada200f MultiSelect: Demo tweak. Removed multi-scope from Advanced (too messy), made it a seperate mini-demo. ocornut 2023-05-24 16:31:00 +0200
  • 35b5ebc9b5 MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO. ocornut 2023-05-24 15:16:17 +0200
  • 11bcae1ebd MultiSelect: refactor before introducing persistant state pool and to facilitate adding recursion + debug log calls. ocornut 2023-05-23 19:36:11 +0200
  • 5d71314f71 MultiSelect: removed DragDropActive/preserve_existing_selection logic which seems unused + comments. ocornut 2023-05-22 10:28:40 +0200
  • 85954c845e MultiSelect: Enter can alter selection if current item is not selected. ocornut 2023-05-20 15:59:30 +0200
  • d2f208a30c MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo. ocornut 2023-05-20 15:51:39 +0200
  • 815c61b82e MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper. ocornut 2023-04-12 22:14:32 +0200
  • 78cb1661cb MultiSelect: Shallow tweaks/refactors. ocornut 2023-04-12 19:48:58 +0200
  • a05700e327 MultiSelect: Enter doesn't alter selection (unlike Space). ocornut 2023-04-12 19:44:41 +0200
  • 35bbadcf0c MultiSelect: Added ImGuiMultiSelectFlags_ClearOnClickWindowVoid. + Demo: showcase multiple selection scopes in same window. ocornut 2023-04-11 19:40:02 +0200
  • b91ae122e1 MultiSelect: Demo: Added pointer indirection and indent level. ocornut 2023-04-11 19:33:38 +0200
  • 19086c1c48 MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts. ocornut 2023-04-11 17:59:06 +0200
  • 919cac1482 MultiSelect: Demo: Add a simpler version. ocornut 2023-04-11 17:38:23 +0200
  • ad5d3c9bff MultiSelect: Fixed issue with Ctrl+click on TreeNode + amend demo to test drag and drop. ocornut 2022-06-17 15:55:59 +0200
  • b9721c1ed7 MultiSelect: Temporary fix/work-around for child/popup to not inherit MultiSelectEnabled flag, until we make mulit-select data stackable. ocornut 2020-08-20 20:46:57 +0200
  • 00c4b8f2a3 MultiSelect: Fix testing key mods from after the nav request (remove need to hold the mod longer) omar 2020-04-02 16:46:53 +0200
  • 3ba3f0d905 MultiSelect: Fix Selectable() ambiguous return value, clarify need to use IsItemToggledSelection(). omar 2020-04-01 20:34:30 +0200
  • 0479b188d0 MultiSelect: Comments. Tweak demo. omar 2020-04-01 20:14:51 +0200
  • 9aeebd24f7 MultiSelect: Fixed CTRL+A not testing focus scope id. Fixed CTRL+A not testing active id. Added demo code. omar 2020-03-20 12:34:52 +0100
  • 7abda179af MultiSelect: Fix for TreeNode following merge of 011d4755. Demo: basic test for tree nodes. ocornut 2020-03-11 21:57:18 +0100
  • 9c7183dd04 MultiSelect: Transition to use FocusScope bits merged in master. omar 2020-01-13 15:05:53 +0100
  • 4afbfd5e71 MultiSelect: Renamed SetNextItemMultiSelectData() to SetNextItemSelectionUserData() omar 2020-01-14 16:18:55 +0100
  • 17c4c2154a MultiSelect: Demo sharing selection helper code. Fixed static analyzer warnings. omar 2019-12-21 23:21:23 +0100
  • 57da88093f MultiSelect: Added IMGUI_HAS_MULTI_SELECT define. Fixed right-click toggling selection without clearing active id, could lead to MarkItemEdited() asserting. Fixed demo. omar 2019-04-15 19:13:36 +0200
  • 8947c35fa1 MultiSelect: Removed SelectableSpacing as I'm not sure it is of use for now (history insert) ocornut 2020-12-09 19:36:04 +0100
  • 554db6bc0f MultiSelect: WIP range-select (#1861) (rebased six millions times) omar 2019-02-01 12:22:57 +0100