diff options
| author | Kaalleen <36401965+kaalleen@users.noreply.github.com> | 2024-08-04 18:34:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-04 18:34:50 +0200 |
| commit | 17b88ce2c14a0802e18e90d8dd142224013dfb15 (patch) | |
| tree | 688d78c639698345bb692f09c74328873571dc8d /lib/gui/simulator/view_panel.py | |
| parent | 1a0bb1b8fff89b22ea1cbe53bc6a59ed95de691b (diff) | |
Simulator: toggle info and preferences dialog (#3115)
Co-authored-by: Lex Neva
Diffstat (limited to 'lib/gui/simulator/view_panel.py')
| -rw-r--r-- | lib/gui/simulator/view_panel.py | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/lib/gui/simulator/view_panel.py b/lib/gui/simulator/view_panel.py index 90d4fe9c..9cfe3331 100644 --- a/lib/gui/simulator/view_panel.py +++ b/lib/gui/simulator/view_panel.py @@ -47,19 +47,19 @@ class ViewPanel(ScrolledPanel): self.btnColorChange.SetBitmap(self.control_panel.load_icon('color_change')) self.btnColorChange.Bind(wx.EVT_TOGGLEBUTTON, lambda event: self.on_marker_button('color_change', event)) - self.btnInfo = wx.BitmapButton(self, -1, style=self.button_style) + self.btnInfo = wx.BitmapToggleButton(self, -1, style=self.button_style) self.btnInfo.SetToolTip(_('Open info dialog')) self.btnInfo.SetBitmap(self.control_panel.load_icon('info')) - self.btnInfo.Bind(wx.EVT_BUTTON, self.on_info_button) + self.btnInfo.Bind(wx.EVT_TOGGLEBUTTON, self.on_info_button) self.btnBackgroundColor = wx.ColourPickerCtrl(self, -1, colour='white', size=((40, -1))) self.btnBackgroundColor.SetToolTip(_("Change background color")) self.btnBackgroundColor.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_update_background_color) - self.btnSettings = wx.BitmapButton(self, -1, style=self.button_style) + self.btnSettings = wx.BitmapToggleButton(self, -1, style=self.button_style) self.btnSettings.SetToolTip(_('Open settings dialog')) self.btnSettings.SetBitmap(self.control_panel.load_icon('settings')) - self.btnSettings.Bind(wx.EVT_BUTTON, self.on_settings_button) + self.btnSettings.Bind(wx.EVT_TOGGLEBUTTON, self.on_settings_button) if self.detach_callback: self.btnDetachSimulator = wx.BitmapButton(self, -1, style=self.button_style) @@ -128,9 +128,27 @@ class ViewPanel(ScrolledPanel): self.drawing_panel.Refresh() def on_settings_button(self, event): - settings_panel = SimulatorPreferenceDialog(self, title=_('Simulator Preferences')) - settings_panel.Show() + if event.GetEventObject().GetValue(): + self.settings_panel = SimulatorPreferenceDialog(self, title=_('Simulator Preferences')) + self.settings_panel.Bind(wx.EVT_CLOSE, self.settings_panel_closed) + self.settings_panel.Show() + else: + self.settings_panel.Close() def on_info_button(self, event): - self.info_panel = DesignInfoDialog(self, title=_('Design Info')) - self.info_panel.Show() + if event.GetEventObject().GetValue(): + self.info_panel = DesignInfoDialog(self, title=_('Design Info')) + self.info_panel.Bind(wx.EVT_CLOSE, self.info_panel_closed) + self.info_panel.Show() + else: + self.info_panel.Close() + + def info_panel_closed(self, event): + self.info_panel.Destroy() + self.info_panel = None + self.btnInfo.SetValue(False) + + def settings_panel_closed(self, event): + self.settings_panel.Destroy() + self.settings_panel = None + self.btnSettings.SetValue(False) |
