|
@@ -901,13 +901,18 @@ static void ShowDemoWindowWidgets()
|
|
|
if (i == 0)
|
|
|
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::SameLine();
|
|
|
if (ImGui::SmallButton("button")) {}
|
|
|
ImGui::TreePop();
|
|
|
}
|
|
|
+ ImGui::PopID();
|
|
|
}
|
|
|
ImGui::TreePop();
|
|
|
}
|