MultiSelect: Cleanup unused comments/code.
This commit is contained in:
parent
ab9326f4ae
commit
0cf376348b
2
imgui.h
2
imgui.h
@ -2777,7 +2777,7 @@ struct ImGuiMultiSelectIO
|
|||||||
bool RequestClear; // ms:w, app:r / / ms:w, app:r // 1. Request app/user to clear selection.
|
bool RequestClear; // ms:w, app:r / / ms:w, app:r // 1. Request app/user to clear selection.
|
||||||
bool RequestSelectAll; // ms:w, app:r / / ms:w, app:r // 2. Request app/user to select all.
|
bool RequestSelectAll; // ms:w, app:r / / ms:w, app:r // 2. Request app/user to select all.
|
||||||
bool RequestSetRange; // / / ms:w, app:r // 3. Request app/user to select/unselect [RangeSrcItem..RangeDstItem] items, based on RangeSelected. In practice, only EndMultiSelect() request this, app code can read after BeginMultiSelect() and it will always be false.
|
bool RequestSetRange; // / / ms:w, app:r // 3. Request app/user to select/unselect [RangeSrcItem..RangeDstItem] items, based on RangeSelected. In practice, only EndMultiSelect() request this, app code can read after BeginMultiSelect() and it will always be false.
|
||||||
void* RequestFocusItem; // app:w / app:r / app:r // (If using deletion) 4. Request user to focus item. This is actually only manipulated in user-space, but we provide storage to facilitate implemention of deletion idiom (see demo).
|
void* RequestFocusItem; // app:w / app:r / app:r // (If using deletion) 4. Request user to focus item. This is actually only manipulated in user-space, but we provide storage to facilitate implementing a deletion idiom (see demo).
|
||||||
// STATE/ARGUMENTS ---------// BEGIN / LOOP / END
|
// STATE/ARGUMENTS ---------// BEGIN / LOOP / END
|
||||||
void* RangeSrcItem; // ms:w / app:r / ms:w, app:r // Begin: Last known SetNextItemSelectionUserData() value for RangeSrcItem. End: parameter from RequestSetRange request.
|
void* RangeSrcItem; // ms:w / app:r / ms:w, app:r // Begin: Last known SetNextItemSelectionUserData() value for RangeSrcItem. End: parameter from RequestSetRange request.
|
||||||
void* RangeDstItem; // / / ms:w, app:r // End: parameter from RequestSetRange request.
|
void* RangeDstItem; // / / ms:w, app:r // End: parameter from RequestSetRange request.
|
||||||
|
@ -2818,7 +2818,7 @@ struct ExampleSelection
|
|||||||
// Call after BeginMultiSelect().
|
// Call after BeginMultiSelect().
|
||||||
// - Calculate and set ms_io->RequestFocusItem, which we will focus during the loop.
|
// - Calculate and set ms_io->RequestFocusItem, which we will focus during the loop.
|
||||||
// - We cannot provide this logic in core Dear ImGui because we don't have access to selection data.
|
// - We cannot provide this logic in core Dear ImGui because we don't have access to selection data.
|
||||||
// - Essentially this would be a ms_io->RequestNextFocusBeforeDeletion
|
// - Return value is stored into 'ms_io->RequestFocusItem' which is provided as a convenience for this idiom (but not used by core imgui)
|
||||||
// - Important: This only works if the item ID are stable: aka not depend on their index, but on e.g. item id/ptr.
|
// - Important: This only works if the item ID are stable: aka not depend on their index, but on e.g. item id/ptr.
|
||||||
template<typename ITEM_TYPE>
|
template<typename ITEM_TYPE>
|
||||||
int ApplyDeletionPreLoop(ImGuiMultiSelectIO* ms_io, ImVector<ITEM_TYPE>& items)
|
int ApplyDeletionPreLoop(ImGuiMultiSelectIO* ms_io, ImVector<ITEM_TYPE>& items)
|
||||||
@ -3132,7 +3132,6 @@ static void ShowDemoWindowMultiSelect()
|
|||||||
|
|
||||||
// FIXME-MULTISELECT: Shortcut(). Hard to demo this? May be helpful to send a helper/optional "delete" signal.
|
// FIXME-MULTISELECT: Shortcut(). Hard to demo this? May be helpful to send a helper/optional "delete" signal.
|
||||||
// FIXME-MULTISELECT: may turn into 'ms_io->RequestDelete' -> need HasSelection passed.
|
// FIXME-MULTISELECT: may turn into 'ms_io->RequestDelete' -> need HasSelection passed.
|
||||||
// FIXME-MULTISELECT: Test with intermediary modal dialog.
|
|
||||||
const bool want_delete = selection.QueueDeletion || ((selection.GetSize() > 0) && ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGuiKey_Delete));
|
const bool want_delete = selection.QueueDeletion || ((selection.GetSize() > 0) && ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGuiKey_Delete));
|
||||||
if (want_delete)
|
if (want_delete)
|
||||||
selection.ApplyDeletionPreLoop(ms_io, items);
|
selection.ApplyDeletionPreLoop(ms_io, items);
|
||||||
|
@ -7158,7 +7158,6 @@ ImGuiMultiSelectIO* ImGui::BeginMultiSelect(ImGuiMultiSelectFlags flags)
|
|||||||
storage->Window = window;
|
storage->Window = window;
|
||||||
ms->Storage = storage;
|
ms->Storage = storage;
|
||||||
|
|
||||||
// FIXME-MULTISELECT: Set for the purpose of user calling RangeSrcPassedBy
|
|
||||||
// FIXME-MULTISELECT: Index vs Pointers.
|
// FIXME-MULTISELECT: Index vs Pointers.
|
||||||
// We want EndIO's NavIdItem/NavIdSelected to match BeginIO's one, so the value never changes after EndMultiSelect()
|
// We want EndIO's NavIdItem/NavIdSelected to match BeginIO's one, so the value never changes after EndMultiSelect()
|
||||||
ms->BeginIO.RangeSrcItem = ms->EndIO.RangeSrcItem = storage->RangeSrcItem;
|
ms->BeginIO.RangeSrcItem = ms->EndIO.RangeSrcItem = storage->RangeSrcItem;
|
||||||
@ -7168,14 +7167,6 @@ ImGuiMultiSelectIO* ImGui::BeginMultiSelect(ImGuiMultiSelectFlags flags)
|
|||||||
if (!ms->IsFocused)
|
if (!ms->IsFocused)
|
||||||
return &ms->BeginIO; // This is cleared at this point.
|
return &ms->BeginIO; // This is cleared at this point.
|
||||||
|
|
||||||
/*
|
|
||||||
if ((flags & ImGuiMultiSelectFlags_NoMultiSelect) == 0)
|
|
||||||
{
|
|
||||||
ms->BeginIO.RangeSrcItem = ms->EndIO.RangeSrcItem = range_ref;
|
|
||||||
ms->BeginIO.RangeSelected = ms->EndIO.RangeSelected = range_ref_is_selected;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Auto clear when using Navigation to move within the selection
|
// Auto clear when using Navigation to move within the selection
|
||||||
// (we compare FocusScopeId so it possible to use multiple selections inside a same window)
|
// (we compare FocusScopeId so it possible to use multiple selections inside a same window)
|
||||||
if (g.NavJustMovedToId != 0 && g.NavJustMovedToFocusScopeId == ms->FocusScopeId && g.NavJustMovedToHasSelectionData)
|
if (g.NavJustMovedToId != 0 && g.NavJustMovedToFocusScopeId == ms->FocusScopeId && g.NavJustMovedToHasSelectionData)
|
||||||
|
Loading…
Reference in New Issue
Block a user