From fb13bb2393224020cf14958beb456c32b77b2a69 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Sat, 23 Jan 2021 09:10:58 -0800 Subject: [PATCH] [sim] GUI: Add right click popup for keyboard joystick settings (#3119) --- .../src/main/native/cpp/DriverStationGui.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp b/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp index 386fb9ec79..8aadd0c9c2 100644 --- a/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp +++ b/simulation/halsim_gui/src/main/native/cpp/DriverStationGui.cpp @@ -1348,7 +1348,19 @@ static void DisplaySystemJoysticks() { DisplaySystemJoystick(*gGlfwJoysticks[i], i); } for (size_t i = 0; i < gKeyboardJoysticks.size(); ++i) { - DisplaySystemJoystick(*gKeyboardJoysticks[i], i + GLFW_JOYSTICK_LAST + 1); + auto joy = gKeyboardJoysticks[i].get(); + DisplaySystemJoystick(*joy, i + GLFW_JOYSTICK_LAST + 1); + if (ImGui::BeginPopupContextItem()) { + char buf[64]; + std::snprintf(buf, sizeof(buf), "%s Settings", joy->GetName()); + if (ImGui::MenuItem(buf)) { + if (auto win = DriverStationGui::dsManager.GetWindow(buf)) { + win->SetVisible(true); + } + ImGui::CloseCurrentPopup(); + } + ImGui::EndPopup(); + } } }