|
@@ -2186,7 +2186,7 @@ static void ShowDemoWindowWidgets()
|
|
|
ImGui::TreePop();
|
|
|
}
|
|
|
|
|
|
- if (ImGui::TreeNode("Querying Status (Edited/Active/Hovered etc.)"))
|
|
|
+ if (ImGui::TreeNode("Querying Item Status (Edited/Active/Hovered etc.)"))
|
|
|
{
|
|
|
// Select an item type
|
|
|
const char* item_names[] =
|
|
@@ -2272,43 +2272,63 @@ static void ShowDemoWindowWidgets()
|
|
|
if (item_disabled)
|
|
|
ImGui::EndDisabled();
|
|
|
|
|
|
+ char buf[1] = "";
|
|
|
+ ImGui::InputText("unused", buf, IM_ARRAYSIZE(buf), ImGuiInputTextFlags_ReadOnly);
|
|
|
+ ImGui::SameLine();
|
|
|
+ HelpMarker("This widget is only here to be able to tab-out of the widgets above and see e.g. Deactivated() status.");
|
|
|
+
|
|
|
+ ImGui::TreePop();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ImGui::TreeNode("Querying Window Status (Focused/Hovered etc.)"))
|
|
|
+ {
|
|
|
static bool embed_all_inside_a_child_window = false;
|
|
|
- ImGui::Checkbox("Embed everything inside a child window (for additional testing)", &embed_all_inside_a_child_window);
|
|
|
+ ImGui::Checkbox("Embed everything inside a child window for testing _RootWindow flag.", &embed_all_inside_a_child_window);
|
|
|
if (embed_all_inside_a_child_window)
|
|
|
ImGui::BeginChild("outer_child", ImVec2(0, ImGui::GetFontSize() * 20.0f), true);
|
|
|
|
|
|
// Testing IsWindowFocused() function with its various flags.
|
|
|
- // Note that the ImGuiFocusedFlags_XXX flags can be combined.
|
|
|
ImGui::BulletText(
|
|
|
"IsWindowFocused() = %d\n"
|
|
|
"IsWindowFocused(_ChildWindows) = %d\n"
|
|
|
+ "IsWindowFocused(_ChildWindows|_NoPopupHierarchy) = %d\n"
|
|
|
"IsWindowFocused(_ChildWindows|_RootWindow) = %d\n"
|
|
|
+ "IsWindowFocused(_ChildWindows|_RootWindow|_NoPopupHierarchy) = %d\n"
|
|
|
"IsWindowFocused(_RootWindow) = %d\n"
|
|
|
+ "IsWindowFocused(_RootWindow|_NoPopupHierarchy) = %d\n"
|
|
|
"IsWindowFocused(_AnyWindow) = %d\n",
|
|
|
ImGui::IsWindowFocused(),
|
|
|
ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows),
|
|
|
+ ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows | ImGuiFocusedFlags_NoPopupHierarchy),
|
|
|
ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows | ImGuiFocusedFlags_RootWindow),
|
|
|
+ ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows | ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_NoPopupHierarchy),
|
|
|
ImGui::IsWindowFocused(ImGuiFocusedFlags_RootWindow),
|
|
|
+ ImGui::IsWindowFocused(ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_NoPopupHierarchy),
|
|
|
ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow));
|
|
|
|
|
|
// Testing IsWindowHovered() function with its various flags.
|
|
|
- // Note that the ImGuiHoveredFlags_XXX flags can be combined.
|
|
|
ImGui::BulletText(
|
|
|
"IsWindowHovered() = %d\n"
|
|
|
"IsWindowHovered(_AllowWhenBlockedByPopup) = %d\n"
|
|
|
"IsWindowHovered(_AllowWhenBlockedByActiveItem) = %d\n"
|
|
|
"IsWindowHovered(_ChildWindows) = %d\n"
|
|
|
+ "IsWindowHovered(_ChildWindows|_NoPopupHierarchy) = %d\n"
|
|
|
"IsWindowHovered(_ChildWindows|_RootWindow) = %d\n"
|
|
|
- "IsWindowHovered(_ChildWindows|_AllowWhenBlockedByPopup) = %d\n"
|
|
|
+ "IsWindowHovered(_ChildWindows|_RootWindow|_NoPopupHierarchy) = %d\n"
|
|
|
"IsWindowHovered(_RootWindow) = %d\n"
|
|
|
+ "IsWindowHovered(_RootWindow|_NoPopupHierarchy) = %d\n"
|
|
|
+ "IsWindowHovered(_ChildWindows|_AllowWhenBlockedByPopup) = %d\n"
|
|
|
"IsWindowHovered(_AnyWindow) = %d\n",
|
|
|
ImGui::IsWindowHovered(),
|
|
|
ImGui::IsWindowHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup),
|
|
|
ImGui::IsWindowHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem),
|
|
|
ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows),
|
|
|
+ ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_NoPopupHierarchy),
|
|
|
ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow),
|
|
|
- ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_AllowWhenBlockedByPopup),
|
|
|
+ ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_NoPopupHierarchy),
|
|
|
ImGui::IsWindowHovered(ImGuiHoveredFlags_RootWindow),
|
|
|
+ ImGui::IsWindowHovered(ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_NoPopupHierarchy),
|
|
|
+ ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_AllowWhenBlockedByPopup),
|
|
|
ImGui::IsWindowHovered(ImGuiHoveredFlags_AnyWindow));
|
|
|
|
|
|
ImGui::BeginChild("child", ImVec2(0, 50), true);
|
|
@@ -2317,9 +2337,6 @@ static void ShowDemoWindowWidgets()
|
|
|
if (embed_all_inside_a_child_window)
|
|
|
ImGui::EndChild();
|
|
|
|
|
|
- static char unused_str[] = "This widget is only here to be able to tab-out of the widgets above.";
|
|
|
- ImGui::InputText("unused", unused_str, IM_ARRAYSIZE(unused_str), ImGuiInputTextFlags_ReadOnly);
|
|
|
-
|
|
|
// Calling IsItemHovered() after begin returns the hovered status of the title bar.
|
|
|
// This is useful in particular if you want to create a context menu associated to the title bar of a window.
|
|
|
static bool test_window = false;
|