1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-11-24 07:40:22 +01:00

Demo: tweak TreeNode demo.

This commit is contained in:
ocornut 2024-04-24 18:20:02 +02:00
parent da18fcb7ae
commit baaaaea9e9

View File

@ -901,13 +901,18 @@ static void ShowDemoWindowWidgets()
if (i == 0) if (i == 0)
ImGui::SetNextItemOpen(true, ImGuiCond_Once); ImGui::SetNextItemOpen(true, ImGuiCond_Once);
if (ImGui::TreeNode((void*)(intptr_t)i, "Child %d", i)) // Here we use PushID() to generate a unique base ID, and then the "" used as TreeNode id won't conflict.
// An alternative to using 'PushID() + TreeNode("", ...)' to generate a unique ID is to use 'TreeNode((void*)(intptr_t)i, ...)',
// aka generate a dummy pointer-sized value to be hashed. The demo below uses that technique. Both are fine.
ImGui::PushID(i);
if (ImGui::TreeNode("", "Child %d", i))
{ {
ImGui::Text("blah blah"); ImGui::Text("blah blah");
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::SmallButton("button")) {} if (ImGui::SmallButton("button")) {}
ImGui::TreePop(); ImGui::TreePop();
} }
ImGui::PopID();
} }
ImGui::TreePop(); ImGui::TreePop();
} }