Commit 685ff1d7580e3dfa3cc9ab41768e135970119048
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() | ... | ... |