Commit 179e48933dcdc8bda4ad2b62213321f169ceac42

Authored by Paulo Henrique Junqueira Amorim
1 parent aebc68be

ENH: Redesign Change slice from 3D plane to event release of the scroll, because…

… the problem of slow, when there is volume.
Showing 1 changed file with 15 additions and 11 deletions   Show diff stats
invesalius/data/viewer_slice.py
@@ -1010,14 +1010,12 @@ class Viewer(wx.Panel): @@ -1010,14 +1010,12 @@ class Viewer(wx.Panel):
1010 def set_scroll_position(self, position): 1010 def set_scroll_position(self, position):
1011 self.scroll.SetThumbPosition(position) 1011 self.scroll.SetThumbPosition(position)
1012 self.OnScrollBar() 1012 self.OnScrollBar()
1013 -  
1014 - def OnScrollBar(self, evt=None):  
1015 - pos = self.scroll.GetThumbPosition()  
1016 - self.set_slice_number(pos) 1013 +
  1014 + def UpdateSlice3D(self, pos):
1017 original_orientation = project.Project().original_orientation 1015 original_orientation = project.Project().original_orientation
1018 - 1016 + pos = self.scroll.GetThumbPosition()
1019 if (self.orientation == "CORONAL") and \ 1017 if (self.orientation == "CORONAL") and \
1020 - (original_orientation == const.AXIAL): 1018 + (original_orientation == const.AXIAL):
1021 pos = abs(self.scroll.GetRange() - pos) 1019 pos = abs(self.scroll.GetRange() - pos)
1022 elif(self.orientation == "AXIAL") and \ 1020 elif(self.orientation == "AXIAL") and \
1023 (original_orientation == const.CORONAL): 1021 (original_orientation == const.CORONAL):
@@ -1025,7 +1023,13 @@ class Viewer(wx.Panel): @@ -1025,7 +1023,13 @@ class Viewer(wx.Panel):
1025 elif(self.orientation == "AXIAL") and \ 1023 elif(self.orientation == "AXIAL") and \
1026 (original_orientation == const.SAGITAL): 1024 (original_orientation == const.SAGITAL):
1027 pos = abs(self.scroll.GetRange() - pos) 1025 pos = abs(self.scroll.GetRange() - pos)
1028 - 1026 + ps.Publisher().sendMessage('Change slice from slice plane',\
  1027 + (self.orientation, pos))
  1028 +
  1029 + def OnScrollBar(self, evt=None):
  1030 + pos = self.scroll.GetThumbPosition()
  1031 + self.set_slice_number(pos)
  1032 + #self.UpdateSlice3D(pos)
1029 self.pos = pos 1033 self.pos = pos
1030 self.cursor_.Show(1) 1034 self.cursor_.Show(1)
1031 self.interactor.Render() 1035 self.interactor.Render()
@@ -1033,10 +1037,8 @@ class Viewer(wx.Panel): @@ -1033,10 +1037,8 @@ class Viewer(wx.Panel):
1033 evt.Skip() 1037 evt.Skip()
1034 1038
1035 def OnScrollBarRelease(self, evt): 1039 def OnScrollBarRelease(self, evt):
1036 - ps.Publisher().sendMessage('Change slice from slice plane',\  
1037 - (self.orientation, self.pos))  
1038 -  
1039 - 1040 + self.UpdateSlice3D(self.pos)
  1041 +
1040 def OnKeyDown(self, evt=None): 1042 def OnKeyDown(self, evt=None):
1041 pos = self.scroll.GetThumbPosition() 1043 pos = self.scroll.GetThumbPosition()
1042 1044
@@ -1051,7 +1053,9 @@ class Viewer(wx.Panel): @@ -1051,7 +1053,9 @@ class Viewer(wx.Panel):
1051 pos = pos + 1 1053 pos = pos + 1
1052 self.scroll.SetThumbPosition(pos) 1054 self.scroll.SetThumbPosition(pos)
1053 self.OnScrollBar() 1055 self.OnScrollBar()
  1056 + self.UpdateSlice3D(pos)
1054 self.interactor.Render() 1057 self.interactor.Render()
  1058 +
1055 if evt: 1059 if evt:
1056 evt.Skip() 1060 evt.Skip()
1057 1061