Commit 285bc1047c766537617f84d1630080fa16616625

Authored by tatiana
1 parent 7298b429

FIX: Check item on surface list ctrl on notebook

Showing 1 changed file with 17 additions and 11 deletions   Show diff stats
invesalius/gui/data_notebook.py
@@ -255,11 +255,9 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -255,11 +255,9 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
255 def OnEditLabel(self, evt): 255 def OnEditLabel(self, evt):
256 ps.Publisher().sendMessage('Change mask name', (evt.GetIndex(), evt.GetLabel())) 256 ps.Publisher().sendMessage('Change mask name', (evt.GetIndex(), evt.GetLabel()))
257 evt.Skip() 257 evt.Skip()
258 - 258 +
259 def OnItemActivated(self, evt): 259 def OnItemActivated(self, evt):
260 self.ToggleItem(evt.m_itemIndex) 260 self.ToggleItem(evt.m_itemIndex)
261 -  
262 -  
263 261
264 def OnCheckItem(self, index, flag): 262 def OnCheckItem(self, index, flag):
265 if flag: 263 if flag:
@@ -344,7 +342,8 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -344,7 +342,8 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
344 new_dict[i-1] = old_dict[i] 342 new_dict[i-1] = old_dict[i]
345 self.mask_list_index = new_dict 343 self.mask_list_index = new_dict
346 self.DeleteItem(index) 344 self.DeleteItem(index)
347 - 345 +
  346 +#-------------------------------------------------
348 class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): 347 class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
349 348
350 def __init__(self, parent, ID=-1, pos=wx.DefaultPosition, 349 def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
@@ -373,20 +372,24 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -373,20 +372,24 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
373 'Set surface colour') 372 'Set surface colour')
374 ps.Publisher().subscribe(self.OnCloseProject, 'Close project data') 373 ps.Publisher().subscribe(self.OnCloseProject, 'Close project data')
375 374
  375 + def __bind_events_wx(self):
  376 + self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
  377 + self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel)
  378 + self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected_)
  379 +
376 def OnCloseProject(self, pubsub_evt): 380 def OnCloseProject(self, pubsub_evt):
377 self.DeleteAllItems() 381 self.DeleteAllItems()
378 self.surface_list_index = {} 382 self.surface_list_index = {}
379 self.surface_bmp_idx_to_name = {} 383 self.surface_bmp_idx_to_name = {}
380 384
381 - def __bind_events_wx(self):  
382 - self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)  
383 - self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel)  
384 - self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)  
385 -  
386 - def OnItemSelected(self, evt): 385 + def OnItemSelected_(self, evt):
  386 + # Note: DON'T rename to OnItemSelected!!!
  387 + # Otherwise the parent's method will be overwritten and other
  388 + # things will stop working, e.g.: OnCheckItem
387 last_surface_index = evt.m_itemIndex 389 last_surface_index = evt.m_itemIndex
388 ps.Publisher().sendMessage('Change surface selected', 390 ps.Publisher().sendMessage('Change surface selected',
389 last_surface_index) 391 last_surface_index)
  392 + evt.Skip()
390 393
391 def __init_columns(self): 394 def __init_columns(self):
392 395
@@ -427,9 +430,11 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -427,9 +430,11 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
427 def OnItemActivated(self, evt): 430 def OnItemActivated(self, evt):
428 self.ToggleItem(evt.m_itemIndex) 431 self.ToggleItem(evt.m_itemIndex)
429 #ps.Publisher().sendMessage('Change surface selected',index) 432 #ps.Publisher().sendMessage('Change surface selected',index)
  433 + evt.Skip()
  434 +
430 435
431 def OnCheckItem(self, index, flag): 436 def OnCheckItem(self, index, flag):
432 - ps.Publisher().sendMessage('Show surface', (index, flag)) 437 + ps.Publisher().sendMessage('Show surface', (index, flag))
433 438
434 def AddSurface(self, pubsub_evt): 439 def AddSurface(self, pubsub_evt):
435 440
@@ -510,6 +515,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -510,6 +515,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
510 self.imagelist.Replace(image_index, image) 515 self.imagelist.Replace(image_index, image)
511 self.Refresh() 516 self.Refresh()
512 517
  518 +#-------------------------------------------------
513 519
514 class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): 520 class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
515 # TODO: Change edimixin to affect third column also 521 # TODO: Change edimixin to affect third column also