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 41 import invesalius.data.slice_ as slice_
42 42 import invesalius.gui.dialogs as dlg
43 43 import invesalius.gui.widgets.listctrl as listmix
  44 +# import wx.lib.mixins.listctrl as listmix
44 45 import invesalius.utils as ul
45 46  
46 47  
... ... @@ -491,7 +492,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
491 492 evt.Skip()
492 493  
493 494 def OnItemActivated(self, evt):
494   - self.ToggleItem(evt.m_itemIndex)
  495 + self.ToggleItem(evt.Index)
495 496  
496 497 def OnCheckItem(self, index, flag):
497 498 if flag:
... ... @@ -783,7 +784,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
783 784 # Otherwise the parent's method will be overwritten and other
784 785 # things will stop working, e.g.: OnCheckItem
785 786  
786   - last_surface_index = evt.m_itemIndex
  787 + last_surface_index = evt.Index
787 788 Publisher.sendMessage('Change surface selected',
788 789 last_surface_index)
789 790 evt.Skip()
... ... @@ -840,7 +841,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
840 841 evt.Skip()
841 842  
842 843 def OnItemActivated(self, evt):
843   - self.ToggleItem(evt.m_itemIndex)
  844 + self.ToggleItem(evt.Index)
844 845 evt.Skip()
845 846  
846 847 def OnCheckItem(self, index, flag):
... ... @@ -1055,7 +1056,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1055 1056 # Otherwise the parent's method will be overwritten and other
1056 1057 # things will stop working, e.g.: OnCheckItem
1057 1058  
1058   - last_index = evt.m_itemIndex
  1059 + last_index = evt.Index
1059 1060 Publisher.sendMessage('Change measurement selected',
1060 1061 last_index)
1061 1062 evt.Skip()
... ... @@ -1113,7 +1114,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1113 1114 evt.Skip()
1114 1115  
1115 1116 def OnItemActivated(self, evt):
1116   - self.ToggleItem(evt.m_itemIndex)
  1117 + self.ToggleItem(evt.Index)
1117 1118 evt.Skip()
1118 1119  
1119 1120  
... ... @@ -1314,7 +1315,7 @@ class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
1314 1315  
1315 1316  
1316 1317 def OnItemActivated(self, evt):
1317   - self.ToggleItem(evt.m_itemIndex)
  1318 + self.ToggleItem(evt.Index)
1318 1319  
1319 1320 def OnCheckItem(self, index, flag):
1320 1321 # TODO: use pubsub to communicate to models
... ...
invesalius/gui/widgets/listctrl.py
... ... @@ -644,19 +644,23 @@ class TextEditMixin:
644 644  
645 645 # give the derived class a chance to Allow/Veto this edit.
646 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 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 658 ret = self.GetEventHandler().ProcessEvent(evt)
655 659 if ret and not evt.IsAllowed():
656 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 665 x0 = self.col_locs[col]
662 666 x1 = self.col_locs[col+1] - x0
... ... @@ -717,13 +721,17 @@ class TextEditMixin:
717 721 # Event can be vetoed. It doesn't has SetEditCanceled(), what would
718 722 # require passing extra argument to CloseEditor()
719 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 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 735 ret = self.GetEventHandler().ProcessEvent(evt)
728 736 if not ret or evt.IsAllowed():
729 737 if self.IsVirtual():
... ...