MCPcopy Create free account
hub / github.com/cinder/Cinder / ApplySelectionRequests

Method ApplySelectionRequests

src/imgui/imgui_demo.cpp:3064–3083  ·  view source on GitHub ↗

Apply multi-selection requests

Source from the content-addressed store, hash-verified

3062
3063 // Apply multi-selection requests
3064 static void ApplySelectionRequests(ImGuiMultiSelectIO* ms_io, ExampleTreeNode* tree, ImGuiSelectionBasicStorage* selection)
3065 {
3066 for (ImGuiSelectionRequest& req : ms_io->Requests)
3067 {
3068 if (req.Type == ImGuiSelectionRequestType_SetAll)
3069 {
3070 if (req.Selected)
3071 TreeSetAllInOpenNodes(tree, selection, req.Selected);
3072 else
3073 selection->Clear();
3074 }
3075 else if (req.Type == ImGuiSelectionRequestType_SetRange)
3076 {
3077 ExampleTreeNode* first_node = (ExampleTreeNode*)(intptr_t)req.RangeFirstItem;
3078 ExampleTreeNode* last_node = (ExampleTreeNode*)(intptr_t)req.RangeLastItem;
3079 for (ExampleTreeNode* node = first_node; node != NULL; node = TreeGetNextNodeInVisibleOrder(node, last_node))
3080 selection->SetItemSelected((ImGuiID)node->UID, req.Selected);
3081 }
3082 }
3083 }
3084
3085 static void TreeSetAllInOpenNodes(ExampleTreeNode* node, ImGuiSelectionBasicStorage* selection, bool selected)
3086 {

Callers

nothing calls this directly

Calls 2

SetItemSelectedMethod · 0.80
ClearMethod · 0.45

Tested by

no test coverage detected