Commit 0dba500c57301d2cdaf7172190bbe20d662ee1c2

Authored by Thiago Franco de Moraes
1 parent 696200d1
Exists in master

Listctrl events working with wxpython4

invesalius/gui/data_notebook.py
@@ -41,6 +41,7 @@ import invesalius.constants as const @@ -41,6 +41,7 @@ import invesalius.constants as const
41 import invesalius.data.slice_ as slice_ 41 import invesalius.data.slice_ as slice_
42 import invesalius.gui.dialogs as dlg 42 import invesalius.gui.dialogs as dlg
43 import invesalius.gui.widgets.listctrl as listmix 43 import invesalius.gui.widgets.listctrl as listmix
  44 +# import wx.lib.mixins.listctrl as listmix
44 import invesalius.utils as ul 45 import invesalius.utils as ul
45 46
46 47
@@ -491,7 +492,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -491,7 +492,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
491 evt.Skip() 492 evt.Skip()
492 493
493 def OnItemActivated(self, evt): 494 def OnItemActivated(self, evt):
494 - self.ToggleItem(evt.m_itemIndex) 495 + self.ToggleItem(evt.Index)
495 496
496 def OnCheckItem(self, index, flag): 497 def OnCheckItem(self, index, flag):
497 if flag: 498 if flag:
@@ -783,7 +784,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -783,7 +784,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
783 # Otherwise the parent's method will be overwritten and other 784 # Otherwise the parent's method will be overwritten and other
784 # things will stop working, e.g.: OnCheckItem 785 # things will stop working, e.g.: OnCheckItem
785 786
786 - last_surface_index = evt.m_itemIndex 787 + last_surface_index = evt.Index
787 Publisher.sendMessage('Change surface selected', 788 Publisher.sendMessage('Change surface selected',
788 last_surface_index) 789 last_surface_index)
789 evt.Skip() 790 evt.Skip()
@@ -840,7 +841,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -840,7 +841,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
840 evt.Skip() 841 evt.Skip()
841 842
842 def OnItemActivated(self, evt): 843 def OnItemActivated(self, evt):
843 - self.ToggleItem(evt.m_itemIndex) 844 + self.ToggleItem(evt.Index)
844 evt.Skip() 845 evt.Skip()
845 846
846 def OnCheckItem(self, index, flag): 847 def OnCheckItem(self, index, flag):
@@ -1055,7 +1056,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -1055,7 +1056,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1055 # Otherwise the parent's method will be overwritten and other 1056 # Otherwise the parent's method will be overwritten and other
1056 # things will stop working, e.g.: OnCheckItem 1057 # things will stop working, e.g.: OnCheckItem
1057 1058
1058 - last_index = evt.m_itemIndex 1059 + last_index = evt.Index
1059 Publisher.sendMessage('Change measurement selected', 1060 Publisher.sendMessage('Change measurement selected',
1060 last_index) 1061 last_index)
1061 evt.Skip() 1062 evt.Skip()
@@ -1113,7 +1114,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -1113,7 +1114,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1113 evt.Skip() 1114 evt.Skip()
1114 1115
1115 def OnItemActivated(self, evt): 1116 def OnItemActivated(self, evt):
1116 - self.ToggleItem(evt.m_itemIndex) 1117 + self.ToggleItem(evt.Index)
1117 evt.Skip() 1118 evt.Skip()
1118 1119
1119 1120
@@ -1314,7 +1315,7 @@ class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): @@ -1314,7 +1315,7 @@ class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1314 1315
1315 1316
1316 def OnItemActivated(self, evt): 1317 def OnItemActivated(self, evt):
1317 - self.ToggleItem(evt.m_itemIndex) 1318 + self.ToggleItem(evt.Index)
1318 1319
1319 def OnCheckItem(self, index, flag): 1320 def OnCheckItem(self, index, flag):
1320 # TODO: use pubsub to communicate to models 1321 # TODO: use pubsub to communicate to models
invesalius/gui/widgets/listctrl.py
@@ -644,19 +644,23 @@ class TextEditMixin: @@ -644,19 +644,23 @@ class TextEditMixin:
644 644
645 # give the derived class a chance to Allow/Veto this edit. 645 # give the derived class a chance to Allow/Veto this edit.
646 evt = wx.ListEvent(wx.wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, self.GetId()) 646 evt = wx.ListEvent(wx.wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, self.GetId())
647 - evt.m_itemIndex = row  
648 - evt.m_col = col 647 + try:
  648 + evt.SetIndex(row)
  649 + evt.SetColumn(col)
  650 + except AttributeError:
  651 + evt.m_itemIndex = row
  652 + evt.m_col = col
649 item = self.GetItem(row, col) 653 item = self.GetItem(row, col)
650 - evt.m_item.SetId(item.GetId())  
651 - evt.m_item.SetColumn(item.GetColumn())  
652 - evt.m_item.SetData(item.GetData())  
653 - evt.m_item.SetText(item.GetText()) 654 + evt.Item.SetId(item.GetId())
  655 + evt.Item.SetColumn(item.GetColumn())
  656 + evt.Item.SetData(item.GetData())
  657 + evt.Item.SetText(item.GetText())
654 ret = self.GetEventHandler().ProcessEvent(evt) 658 ret = self.GetEventHandler().ProcessEvent(evt)
655 if ret and not evt.IsAllowed(): 659 if ret and not evt.IsAllowed():
656 return # user code doesn't allow the edit. 660 return # user code doesn't allow the edit.
657 661
658 - if self.GetColumn(col).m_format != self.col_style:  
659 - self.make_editor(self.GetColumn(col).m_format) 662 + if self.GetColumn(col).Align != self.col_style:
  663 + self.make_editor(self.GetColumn(col).Align)
660 664
661 x0 = self.col_locs[col] 665 x0 = self.col_locs[col]
662 x1 = self.col_locs[col+1] - x0 666 x1 = self.col_locs[col+1] - x0
@@ -717,13 +721,17 @@ class TextEditMixin: @@ -717,13 +721,17 @@ class TextEditMixin:
717 # Event can be vetoed. It doesn't has SetEditCanceled(), what would 721 # Event can be vetoed. It doesn't has SetEditCanceled(), what would
718 # require passing extra argument to CloseEditor() 722 # require passing extra argument to CloseEditor()
719 evt = wx.ListEvent(wx.wxEVT_COMMAND_LIST_END_LABEL_EDIT, self.GetId()) 723 evt = wx.ListEvent(wx.wxEVT_COMMAND_LIST_END_LABEL_EDIT, self.GetId())
720 - evt.m_itemIndex = self.curRow  
721 - evt.m_col = self.curCol 724 + try:
  725 + evt.SetIndex(self.curRow)
  726 + evt.SetColumn(self.curCol)
  727 + except AttributeError:
  728 + evt.m_itemIndex = self.curRow
  729 + evt.m_col = self.curCol
722 item = self.GetItem(self.curRow, self.curCol) 730 item = self.GetItem(self.curRow, self.curCol)
723 - evt.m_item.SetId(item.GetId())  
724 - evt.m_item.SetColumn(item.GetColumn())  
725 - evt.m_item.SetData(item.GetData())  
726 - evt.m_item.SetText(text) #should be empty string if editor was canceled 731 + evt.Item.SetId(item.GetId())
  732 + evt.Item.SetColumn(item.GetColumn())
  733 + evt.Item.SetData(item.GetData())
  734 + evt.Item.SetText(text) #should be empty string if editor was canceled
727 ret = self.GetEventHandler().ProcessEvent(evt) 735 ret = self.GetEventHandler().ProcessEvent(evt)
728 if not ret or evt.IsAllowed(): 736 if not ret or evt.IsAllowed():
729 if self.IsVirtual(): 737 if self.IsVirtual():