Commit 685ff1d7580e3dfa3cc9ab41768e135970119048

Authored by Thiago Franco de Moraes
1 parent 306f8ac6
Exists in master

Fixed the problem with checkbox in listctrl in datanotebook

(cherry picked from commit ee26bb89f728518ae0ff586c61b687b94ea7e962)
Showing 1 changed file with 29 additions and 4 deletions   Show diff stats
invesalius/gui/data_notebook.py
... ... @@ -347,7 +347,7 @@ class ButtonControlPanel(wx.Panel):
347 347 else:
348 348 dlg.MaskSelectionRequiredForDuplication()
349 349  
350   -class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
  350 +class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin, listmix.CheckListCtrlMixin):
351 351  
352 352 def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
353 353 size=wx.DefaultSize, style=wx.LC_REPORT):
... ... @@ -358,6 +358,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
358 358  
359 359 wx.ListCtrl.__init__(self, parent, ID, pos, size, style=wx.LC_REPORT)
360 360 listmix.TextEditMixin.__init__(self)
  361 + listmix.CheckListCtrlMixin.__init__(self)
361 362 self.mask_list_index = {}
362 363 self.current_index = 0
363 364 self.__init_columns()
... ... @@ -367,6 +368,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
367 368  
368 369 def __bind_events_wx(self):
369 370 self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
  371 + self.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self.OnBeginLabelEdit)
370 372 self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel)
371 373 self.Bind(wx.EVT_KEY_UP, self.OnKeyEvent)
372 374  
... ... @@ -485,6 +487,12 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
485 487  
486 488 self.image_gray = Image.open(os.path.join(const.ICON_DIR, "object_colour.jpg"))
487 489  
  490 + def OnBeginLabelEdit(self, evt):
  491 + if evt.GetColumn() == 1:
  492 + evt.Skip()
  493 + else:
  494 + evt.Veto()
  495 +
488 496 def OnEditLabel(self, evt):
489 497 Publisher.sendMessage('Change mask name',
490 498 index=evt.GetIndex(), name=evt.GetLabel())
... ... @@ -492,6 +500,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
492 500  
493 501 def OnItemActivated(self, evt):
494 502 self.ToggleItem(evt.Index)
  503 + # pass
495 504  
496 505 def OnCheckItem(self, index, flag):
497 506 if flag:
... ... @@ -695,7 +704,7 @@ class SurfaceButtonControlPanel(wx.Panel):
695 704 Publisher.sendMessage('Import surface file', filename=filename)
696 705  
697 706  
698   -class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
  707 +class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin, listmix.CheckListCtrlMixin):
699 708  
700 709 def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
701 710 size=wx.DefaultSize, style=wx.LC_REPORT):
... ... @@ -706,6 +715,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
706 715  
707 716 wx.ListCtrl.__init__(self, parent, ID, pos, size, style=wx.LC_REPORT)
708 717 listmix.TextEditMixin.__init__(self)
  718 + listmix.CheckListCtrlMixin.__init__(self)
709 719  
710 720 self.__init_columns()
711 721 self.__init_image_list()
... ... @@ -729,6 +739,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
729 739  
730 740 def __bind_events_wx(self):
731 741 self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
  742 + self.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self.OnBeginLabelEdit)
732 743 self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel)
733 744 #self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected_)
734 745 self.Bind(wx.EVT_KEY_UP, self.OnKeyEvent)
... ... @@ -832,6 +843,12 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
832 843  
833 844 self.image_gray = Image.open(os.path.join(const.ICON_DIR, "object_colour.jpg"))
834 845  
  846 + def OnBeginLabelEdit(self, evt):
  847 + if evt.GetColumn() == 1:
  848 + evt.Skip()
  849 + else:
  850 + evt.Veto()
  851 +
835 852 def OnEditLabel(self, evt):
836 853 Publisher.sendMessage('Change surface name', index=evt.GetIndex(), name=evt.GetLabel())
837 854 evt.Skip()
... ... @@ -954,7 +971,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
954 971 #-------------------------------------------------
955 972 #-------------------------------------------------
956 973  
957   -class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
  974 +class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin, listmix.CheckListCtrlMixin):
958 975  
959 976 def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
960 977 size=wx.DefaultSize, style=wx.LC_REPORT):
... ... @@ -965,6 +982,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
965 982  
966 983 wx.ListCtrl.__init__(self, parent, ID, pos, size, style=wx.LC_REPORT)
967 984 listmix.TextEditMixin.__init__(self)
  985 + listmix.CheckListCtrlMixin.__init__(self)
968 986  
969 987 self.__init_columns()
970 988 self.__init_image_list()
... ... @@ -986,6 +1004,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
986 1004  
987 1005 def __bind_events_wx(self):
988 1006 self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
  1007 + self.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self.OnBeginLabelEdit)
989 1008 self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel)
990 1009 self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected_)
991 1010 self.Bind(wx.EVT_KEY_UP, self.OnKeyEvent)
... ... @@ -1099,6 +1118,11 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1099 1118  
1100 1119 self.image_gray = Image.open(os.path.join(const.ICON_DIR, "object_colour.jpg"))
1101 1120  
  1121 + def OnBeginLabelEdit(self, evt):
  1122 + if evt.GetColumn() == 1:
  1123 + evt.Skip()
  1124 + else:
  1125 + evt.Veto()
1102 1126  
1103 1127 def OnEditLabel(self, evt):
1104 1128 Publisher.sendMessage('Change measurement name', index=evt.GetIndex(), name=evt.GetLabel())
... ... @@ -1233,7 +1257,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1233 1257 #*******************************************************************
1234 1258  
1235 1259  
1236   -class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
  1260 +class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin, listmix.CheckListCtrlMixin):
1237 1261 # TODO: Remove edimixin, allow only visible and invisible
1238 1262 def __init__(self, parent, ID=-1, pos=wx.DefaultPosition,
1239 1263 size=wx.DefaultSize, style=wx.LC_REPORT):
... ... @@ -1244,6 +1268,7 @@ class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1244 1268  
1245 1269 wx.ListCtrl.__init__(self, parent, ID, pos, size, style=wx.LC_REPORT)
1246 1270 listmix.TextEditMixin.__init__(self)
  1271 + listmix.CheckListCtrlMixin.__init__(self)
1247 1272  
1248 1273 self.__init_columns()
1249 1274 self.__init_image_list()
... ...