Lines Matching refs:OpenPopupStack
3325 g.IO.MouseDownOwned[i] = (g.HoveredWindow != NULL) || (!g.OpenPopupStack.empty());
3343 g.IO.WantCaptureMouse = (mouse_avail_to_imgui && (g.HoveredWindow != NULL || mouse_any_down)) || (!g.OpenPopupStack.empty());
3601 g.OpenPopupStack.clear();
4148 return g.OpenPopupStack[g.BeginPopupStack.Size-1].OpenMousePos;
4910 ImGuiPopupRef& popup_ref = g.OpenPopupStack[g.BeginPopupStack.Size];
4924 ImGuiPopupRef& popup_ref = g.OpenPopupStack[g.BeginPopupStack.Size];
6727 return g.OpenPopupStack.Size > g.BeginPopupStack.Size && g.OpenPopupStack[g.BeginPopupStack.Size].PopupId == id;
6733 return g.OpenPopupStack.Size > g.BeginPopupStack.Size && g.OpenPopupStack[g.BeginPopupStack.Size].PopupId == g.CurrentWindow->GetID(str_id);
6739 for (int n = g.OpenPopupStack.Size-1; n >= 0; n--)
6740 if (ImGuiWindow* popup = g.OpenPopupStack.Data[n].Window)
6761 ImGuiPopupRef popup_ref; // Tagged as new ref as Window will be set back to NULL if we write this into OpenPopupStack.
6771 if (g.OpenPopupStack.Size < current_stack_size + 1)
6773 g.OpenPopupStack.push_back(popup_ref);
6780 if (g.OpenPopupStack[current_stack_size].PopupId == id && g.OpenPopupStack[current_stack_size].OpenFrameCount == g.FrameCount - 1)
6782 g.OpenPopupStack[current_stack_size].OpenFrameCount = popup_ref.OpenFrameCount;
6787 g.OpenPopupStack.resize(current_stack_size + 1);
6788 g.OpenPopupStack[current_stack_size] = popup_ref;
6793 //if (g.OpenPopupStack[current_stack_size].PopupId == id)
6814 if (g.OpenPopupStack.empty())
6823 for (; popup_count_to_keep < g.OpenPopupStack.Size; popup_count_to_keep++)
6825 ImGuiPopupRef& popup = g.OpenPopupStack[popup_count_to_keep];
6834 for (int m = popup_count_to_keep; m < g.OpenPopupStack.Size && !popup_or_descendent_has_focus; m++)
6835 if (g.OpenPopupStack[m].Window && g.OpenPopupStack[m].Window->RootWindow == ref_window->RootWindow)
6841 if (popup_count_to_keep < g.OpenPopupStack.Size) // This test is not required but it allows to set a convenient breakpoint on the statement below
6852 ImGuiWindow* focus_window = (remaining > 0) ? g.OpenPopupStack[remaining-1].Window : g.OpenPopupStack[0].ParentWindow;
6853 g.OpenPopupStack.resize(remaining);
6856 // Instead of using g.OpenPopupStack[remaining-1].Window etc. we should find the highest root window that is behind the popups we are closing.
6876 if (popup_idx < 0 || popup_idx >= g.OpenPopupStack.Size || g.BeginPopupStack[popup_idx].PopupId != g.OpenPopupStack[popup_idx].PopupId)
6882 ImGuiWindow* popup_window = g.OpenPopupStack[popup_idx].Window;
6883 ImGuiWindow* parent_popup_window = g.OpenPopupStack[popup_idx - 1].Window;
6927 if (g.OpenPopupStack.Size <= g.BeginPopupStack.Size) // Early out for performance
7685 else if (g.OpenPopupStack.Size > 0)
7688 if (!(g.OpenPopupStack.back().Window->Flags & ImGuiWindowFlags_Modal))
7689 ClosePopupToLevel(g.OpenPopupStack.Size - 1, true);
9455 if (ImGui::TreeNode("Popups", "Popups (%d)", g.OpenPopupStack.Size))
9457 for (int i = 0; i < g.OpenPopupStack.Size; i++)
9459 ImGuiWindow* window = g.OpenPopupStack[i].Window;
9460 ImGui::BulletText("PopupID: %08x, Window: '%s'%s%s", g.OpenPopupStack[i].PopupId, window ? window->Name : "NULL", window && (window->Flags & ImGuiWindowFlags_ChildWindow) ? " ChildWindow" : "", window && (window->Flags & ImGuiWindowFlags_ChildMenu) ? " ChildMenu" : "");