Multiselection system for Selectable(), Checkbox(), TreeNode() functions BETA
This enables standard multiselection/rangeselection idioms (CTRL+Mouse/Keyboard, SHIFT+Mouse/Keyboard, etc.) in a way that also allow a clipper to be used.
ImGuiSelectionUserData is often used to store your item index within the current view (but may store something else).
Read comments near ImGuiMultiSelectIO for instructions/details and see 'Demo>Widgets>Selection State
&
MultiSelect' for demo.
TreeNode() is technically supported but... using this correctly is more complicated. You need some sort of linear/random access to your tree,
which is suited to advanced trees setups already implementing filters and clipper. We will work simplifying the current demo.
'selection_size' and 'items_count' parameters are optional and used by a few features. If they are costly for you to compute, you may avoid them.
Multiselection system for Selectable(), Checkbox(), TreeNode() functions BETA This enables standard multiselection/rangeselection idioms (CTRL+Mouse/Keyboard, SHIFT+Mouse/Keyboard, etc.) in a way that also allow a clipper to be used. ImGuiSelectionUserData is often used to store your item index within the current view (but may store something else). Read comments near ImGuiMultiSelectIO for instructions/details and see 'Demo>Widgets>Selection State & MultiSelect' for demo. TreeNode() is technically supported but... using this correctly is more complicated. You need some sort of linear/random access to your tree, which is suited to advanced trees setups already implementing filters and clipper. We will work simplifying the current demo. 'selection_size' and 'items_count' parameters are optional and used by a few features. If they are costly for you to compute, you may avoid them.