#define IMGUI_HAS_MULTI_SELECT // Multi-Select/Range-Select WIP branch // <-- This is currently _not_ in the top of imgui.h to prevent merge conflicts.
// Flags for BeginMultiSelect().
// This system is designed to allow mouse/keyboard multi-selection, including support for range-selection (SHIFT+click),
// This system is designed to allow mouse/keyboard multi-selection, including support for range-selection (SHIFT+click and SHIFT+keyboard),
// which is difficult to re-implement manually. If you disable multi-selection with ImGuiMultiSelectFlags_NoMultiSelect
// (which is provided for consistency and flexibility), the whole BeginMultiSelect() system becomes largely overkill as
// you can handle single-selection in a simpler manner by just calling Selectable() and reacting on clicks yourself.
@ -2735,6 +2735,7 @@ enum ImGuiMultiSelectFlags_
ImGuiMultiSelectFlags_NoMultiSelect=1<<0,
ImGuiMultiSelectFlags_NoUnselect=1<<1,// Disable unselecting items with CTRL+Click, CTRL+Space etc.
ImGuiMultiSelectFlags_NoSelectAll=1<<2,// Disable CTRL+A shortcut to set RequestSelectAll
ImGuiMultiSelectFlags_ClearOnEscape=1<<3,// Enable ESC shortcut to clear selection
};
// Abstract:
@ -2773,6 +2774,7 @@ enum ImGuiMultiSelectFlags_
// If you submit all items (no clipper), Step 2 and 3 and will be handled by Selectable() on a per-item basis.
structImGuiMultiSelectData
{
boolIsFocused;// Begin // Set if currently focusing the selection scope (any item of the selection). May be used if you have custom shortcut associated to selection.
boolRequestClear;// Begin, End // Request user to clear selection
boolRequestSelectAll;// Begin, End // Request user to select all
boolRequestSetRange;// End // Request user to set or clear selection in the [RangeSrc..RangeDst] range