Commit 0c9ee0bd1230f607be04e59a1ebf55988a1677fa

Authored by tfmoraes
1 parent 8baa3296

ENH: Cancel button working in import panel

Showing 1 changed file with 21 additions and 16 deletions   Show diff stats
invesalius/gui/import_panel.py
@@ -92,11 +92,11 @@ class InnerPanel(wx.Panel): @@ -92,11 +92,11 @@ class InnerPanel(wx.Panel):
92 92
93 self.btn_ok = wx.Button(panel, wx.ID_OK) 93 self.btn_ok = wx.Button(panel, wx.ID_OK)
94 self.btn_ok.SetDefault() 94 self.btn_ok.SetDefault()
95 - btn_cancel = wx.Button(panel, wx.ID_CANCEL) 95 + self.btn_cancel = wx.Button(panel, wx.ID_CANCEL)
96 96
97 btnsizer = wx.StdDialogButtonSizer() 97 btnsizer = wx.StdDialogButtonSizer()
98 btnsizer.AddButton(self.btn_ok) 98 btnsizer.AddButton(self.btn_ok)
99 - btnsizer.AddButton(btn_cancel) 99 + btnsizer.AddButton(self.btn_cancel)
100 btnsizer.Realize() 100 btnsizer.Realize()
101 101
102 self.combo_interval = wx.ComboBox(panel, -1, "", choices=const.IMPORT_INTERVAL, 102 self.combo_interval = wx.ComboBox(panel, -1, "", choices=const.IMPORT_INTERVAL,
@@ -133,8 +133,9 @@ class InnerPanel(wx.Panel): @@ -133,8 +133,9 @@ class InnerPanel(wx.Panel):
133 self.Bind(EVT_SELECT_SERIE, self.OnSelectSerie) 133 self.Bind(EVT_SELECT_SERIE, self.OnSelectSerie)
134 self.Bind(EVT_SELECT_SLICE, self.OnSelectSlice) 134 self.Bind(EVT_SELECT_SLICE, self.OnSelectSlice)
135 self.Bind(EVT_SELECT_PATIENT, self.OnSelectPatient) 135 self.Bind(EVT_SELECT_PATIENT, self.OnSelectPatient)
136 - self.btn_ok.Bind(wx.EVT_BUTTON, self.OnLoadDicom)  
137 - self.text_panel.Bind(EVT_SELECT_SERIE_TEXT, self.OnLoadDicom) 136 + self.btn_ok.Bind(wx.EVT_BUTTON, self.OnClickOk)
  137 + self.btn_cancel.Bind(wx.EVT_BUTTON, self.OnClickCancel)
  138 + self.text_panel.Bind(EVT_SELECT_SERIE_TEXT, self.OnDblClickTextPanel)
138 139
139 def ShowDicomPreview(self, pubsub_evt): 140 def ShowDicomPreview(self, pubsub_evt):
140 dicom_groups = pubsub_evt.data 141 dicom_groups = pubsub_evt.data
@@ -156,10 +157,21 @@ class InnerPanel(wx.Panel): @@ -156,10 +157,21 @@ class InnerPanel(wx.Panel):
156 def OnSelectPatient(self, evt): 157 def OnSelectPatient(self, evt):
157 print "You've selected the patient", evt.GetSelectID() 158 print "You've selected the patient", evt.GetSelectID()
158 159
159 - def OnLoadDicom(self, evt): 160 + def OnDblClickTextPanel(self, evt):
  161 + group = evt.GetItemData()
  162 + self.LoadDicom(group)
  163 +
  164 + def OnClickOk(self, evt):
160 group = self.text_panel.GetSelection() 165 group = self.text_panel.GetSelection()
161 - interval = self.combo_interval.GetSelection() 166 + self.LoadDicom(group)
  167 +
  168 + def OnClickCancel(self, evt):
  169 + ps.Publisher().sendMessage("Cancel DICOM load")
162 170
  171 + def LoadDicom(self, group):
  172 + interval = self.combo_interval.GetSelection()
  173 + if not isinstance(group, dcm.DicomGroup):
  174 + group = max(group.GetGroups(), key=lambda g: g.nslices)
163 ps.Publisher().sendMessage('Open DICOM group', (group, interval)) 175 ps.Publisher().sendMessage('Open DICOM group', (group, interval))
164 176
165 177
@@ -284,7 +296,6 @@ class TextPanel(wx.Panel): @@ -284,7 +296,6 @@ class TextPanel(wx.Panel):
284 def OnSelChanged(self, evt): 296 def OnSelChanged(self, evt):
285 item = self.tree.GetSelection() 297 item = self.tree.GetSelection()
286 if self._selected_by_user: 298 if self._selected_by_user:
287 - print "Yes, I'm here"  
288 group = self.tree.GetItemPyData(item) 299 group = self.tree.GetItemPyData(item)
289 if isinstance(group, dcm.DicomGroup): 300 if isinstance(group, dcm.DicomGroup):
290 ps.Publisher().sendMessage('Load group into import panel', 301 ps.Publisher().sendMessage('Load group into import panel',
@@ -306,15 +317,9 @@ class TextPanel(wx.Panel): @@ -306,15 +317,9 @@ class TextPanel(wx.Panel):
306 def OnActivate(self, evt): 317 def OnActivate(self, evt):
307 item = evt.GetItem() 318 item = evt.GetItem()
308 group = self.tree.GetItemPyData(item) 319 group = self.tree.GetItemPyData(item)
309 - if isinstance(group, dcm.DicomGroup):  
310 - my_evt = SelectEvent(myEVT_SELECT_SERIE_TEXT, self.GetId())  
311 - my_evt.SetItemData(group)  
312 - self.GetEventHandler().ProcessEvent(my_evt)  
313 - else:  
314 - if self.tree.IsExpanded(item):  
315 - self.tree.Collapse(item)  
316 - else:  
317 - self.tree.Expand(item) 320 + my_evt = SelectEvent(myEVT_SELECT_SERIE_TEXT, self.GetId())
  321 + my_evt.SetItemData(group)
  322 + self.GetEventHandler().ProcessEvent(my_evt)
318 323
319 def OnSize(self, evt): 324 def OnSize(self, evt):
320 self.tree.SetSize(self.GetSize()) 325 self.tree.SetSize(self.GetSize())