From b6de7acbdb1cb0f9db0c270d0e584ef8f9050cec Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Mon, 25 Nov 2024 17:25:55 -0800 Subject: [PATCH] [sim] GUI: Don't show Window menu if it has no contents (#7432) --- glass/src/lib/native/include/glass/WindowManager.h | 5 +++++ simulation/halsim_gui/src/main/native/cpp/main.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/glass/src/lib/native/include/glass/WindowManager.h b/glass/src/lib/native/include/glass/WindowManager.h index 0ccace2d68..02e680dd37 100644 --- a/glass/src/lib/native/include/glass/WindowManager.h +++ b/glass/src/lib/native/include/glass/WindowManager.h @@ -121,6 +121,11 @@ class WindowManager { */ void EraseWindows() { m_windows.clear(); } + /** + * Get window count. + */ + size_t GetNumWindows() const { return m_windows.size(); } + protected: /** * Removes existing window (by index) diff --git a/simulation/halsim_gui/src/main/native/cpp/main.cpp b/simulation/halsim_gui/src/main/native/cpp/main.cpp index 21fe17404f..de3eae4bab 100644 --- a/simulation/halsim_gui/src/main/native/cpp/main.cpp +++ b/simulation/halsim_gui/src/main/native/cpp/main.cpp @@ -148,7 +148,7 @@ __declspec(dllexport) gPlotProvider->DisplayMenu(); ImGui::EndMenu(); } - if (ImGui::BeginMenu("Window")) { + if (HALSimGui::manager->GetNumWindows() > 0 && ImGui::BeginMenu("Window")) { HALSimGui::manager->DisplayMenu(); ImGui::EndMenu(); }