Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
diff --git a/imgui_demo.cpp b/imgui_demo.cpp
index 560b086..435c368 100644
--- a/imgui_demo.cpp
+++ b/imgui_demo.cpp
@@ -3438,11 +3438,14 @@
// and BeginPopupContextItem() will use the last item ID as the popup ID.
{
const char* names[5] = { "Label1", "Label2", "Label3", "Label4", "Label5" };
+ static int selected = -1;
for (int n = 0; n < 5; n++)
{
- ImGui::Selectable(names[n]);
+ if (ImGui::Selectable(names[n], selected == n))
+ selected = n;
if (ImGui::BeginPopupContextItem()) // <-- use last item id as popup id
{
+ selected = n;
ImGui::Text("This a popup for \"%s\"!", names[n]);
if (ImGui::Button("Close"))
ImGui::CloseCurrentPopup();