Commit 4b9937f4f5ab6b2b4d562c1e882bc4325c67e5be

Authored by Thiago Franco de Moraes
1 parent 6d45778d
Exists in ffill_gui

Ok and cancel button in select parts dialog

invesalius/data/styles.py
@@ -1904,20 +1904,28 @@ class SelectMaskPartsInteractorStyle(DefaultInteractorStyle): @@ -1904,20 +1904,28 @@ class SelectMaskPartsInteractorStyle(DefaultInteractorStyle):
1904 self.dlg.Show() 1904 self.dlg.Show()
1905 1905
1906 def CleanUp(self): 1906 def CleanUp(self):
1907 - if (self.dlg is not None) and (self.config.dlg_visible): 1907 + if self.dlg is None:
  1908 + return
  1909 +
  1910 + dialog_return = self.dlg.button_clicked
  1911 +
  1912 + if self.config.dlg_visible:
1908 self.config.dlg_visible = False 1913 self.config.dlg_visible = False
1909 self.dlg.Destroy() 1914 self.dlg.Destroy()
1910 self.dlg = None 1915 self.dlg = None
1911 1916
1912 if self.config.mask: 1917 if self.config.mask:
1913 - self.config.mask.name = self.config.mask_name  
1914 - self.viewer.slice_._add_mask_into_proj(self.config.mask)  
1915 - self.viewer.slice_.SelectCurrentMask(self.config.mask.index)  
1916 - Publisher.sendMessage('Change mask selected', self.config.mask.index)  
1917 - self.config.mask = None 1918 + if dialog_return == wx.OK:
  1919 + self.config.mask.name = self.config.mask_name
  1920 + self.viewer.slice_._add_mask_into_proj(self.config.mask)
  1921 + self.viewer.slice_.SelectCurrentMask(self.config.mask.index)
  1922 + Publisher.sendMessage('Change mask selected', self.config.mask.index)
  1923 +
1918 del self.viewer.slice_.aux_matrices['SELECT'] 1924 del self.viewer.slice_.aux_matrices['SELECT']
1919 self.viewer.slice_.to_show_aux = '' 1925 self.viewer.slice_.to_show_aux = ''
1920 Publisher.sendMessage('Reload actual slice') 1926 Publisher.sendMessage('Reload actual slice')
  1927 + self.config.mask = None
  1928 +
1921 1929
1922 def OnSelect(self, obj, evt): 1930 def OnSelect(self, obj, evt):
1923 if (self.viewer.slice_.buffer_slices[self.orientation].mask is None): 1931 if (self.viewer.slice_.buffer_slices[self.orientation].mask is None):
invesalius/gui/dialogs.py
@@ -2024,6 +2024,8 @@ class SelectPartsOptionsDialog(wx.Dialog): @@ -2024,6 +2024,8 @@ class SelectPartsOptionsDialog(wx.Dialog):
2024 2024
2025 self.config = config 2025 self.config = config
2026 2026
  2027 + self.button_clicked = wx.CANCEL
  2028 +
2027 self._init_gui() 2029 self._init_gui()
2028 2030
2029 def _init_gui(self): 2031 def _init_gui(self):
@@ -2097,10 +2099,21 @@ class SelectPartsOptionsDialog(wx.Dialog): @@ -2097,10 +2099,21 @@ class SelectPartsOptionsDialog(wx.Dialog):
2097 sizer.Fit(self) 2099 sizer.Fit(self)
2098 self.Layout() 2100 self.Layout()
2099 2101
  2102 + self.btn_ok.Bind(wx.EVT_BUTTON, self.OnOk)
  2103 + self.btn_cancel.Bind(wx.EVT_BUTTON, self.OnCancel)
  2104 +
2100 self.target_name.Bind(wx.EVT_CHAR, self.OnChar) 2105 self.target_name.Bind(wx.EVT_CHAR, self.OnChar)
2101 self.Bind(wx.EVT_RADIOBUTTON, self.OnSetRadio) 2106 self.Bind(wx.EVT_RADIOBUTTON, self.OnSetRadio)
2102 self.Bind(wx.EVT_CLOSE, self.OnClose) 2107 self.Bind(wx.EVT_CLOSE, self.OnClose)
2103 2108
  2109 + def OnOk(self, evt):
  2110 + self.button_clicked = wx.OK
  2111 + self.Close()
  2112 +
  2113 + def OnCancel(self, evt):
  2114 + self.button_clicked = wx.CANCEL
  2115 + self.Close()
  2116 +
2104 def OnChar(self, evt): 2117 def OnChar(self, evt):
2105 evt.Skip() 2118 evt.Skip()
2106 self.config.mask_name = self.target_name.GetValue() 2119 self.config.mask_name = self.target_name.GetValue()