Commit 32368b96db9753e46114a919a99e4020b7630e2b

Authored by Thiago Franco de Moraes
1 parent e23f8647

When changing the number_slices or projection type it reloads the slice

Showing 1 changed file with 16 additions and 5 deletions   Show diff stats
invesalius/data/viewer_slice.py
@@ -64,7 +64,7 @@ class Viewer(wx.Panel): @@ -64,7 +64,7 @@ class Viewer(wx.Panel):
64 self.left_pressed = 0 64 self.left_pressed = 0
65 self.right_pressed = 0 65 self.right_pressed = 0
66 66
67 - self.number_slices = 10 67 + self._number_slices = 10
68 68
69 self.spined_image = False #Use to control to spin 69 self.spined_image = False #Use to control to spin
70 self.paned_image = False 70 self.paned_image = False
@@ -984,6 +984,16 @@ class Viewer(wx.Panel): @@ -984,6 +984,16 @@ class Viewer(wx.Panel):
984 max_slice_number) 984 max_slice_number)
985 self.set_scroll_position(0) 985 self.set_scroll_position(0)
986 986
  987 + @property
  988 + def number_slices(self):
  989 + return self._number_slices
  990 +
  991 + @number_slices.setter
  992 + def number_slices(self, val):
  993 + self._number_slices = val
  994 + buffer_ = self.slice_.buffer_slices[self.orientation]
  995 + buffer_.discard_buffer()
  996 +
987 def set_scroll_position(self, position): 997 def set_scroll_position(self, position):
988 self.scroll.SetThumbPosition(position) 998 self.scroll.SetThumbPosition(position)
989 self.OnScrollBar() 999 self.OnScrollBar()
@@ -1046,17 +1056,18 @@ class Viewer(wx.Panel): @@ -1046,17 +1056,18 @@ class Viewer(wx.Panel):
1046 elif (evt.GetKeyCode() == wx.WXK_NUMPAD_ADD): 1056 elif (evt.GetKeyCode() == wx.WXK_NUMPAD_ADD):
1047 self.number_slices += 1 1057 self.number_slices += 1
1048 print "ADDing", self.number_slices 1058 print "ADDing", self.number_slices
1049 - self.OnScrollBar() 1059 + self.ReloadActualSlice()
1050 1060
1051 elif (evt.GetKeyCode() == wx.WXK_NUMPAD_SUBTRACT): 1061 elif (evt.GetKeyCode() == wx.WXK_NUMPAD_SUBTRACT):
1052 if self.number_slices > 1: 1062 if self.number_slices > 1:
1053 self.number_slices -= 1 1063 self.number_slices -= 1
1054 print "Subtracting", self.number_slices 1064 print "Subtracting", self.number_slices
1055 - self.OnScrollBar() 1065 + self.ReloadActualSlice()
1056 1066
1057 elif evt.GetKeyCode() in projections: 1067 elif evt.GetKeyCode() in projections:
1058 print "PROJECTION MANOLO!" 1068 print "PROJECTION MANOLO!"
1059 - self.slice_._type_projection = projections[evt.GetKeyCode()] 1069 + self.slice_.SetTypeProjection(projections[evt.GetKeyCode()])
  1070 + self.ReloadActualSlice()
1060 1071
1061 self.UpdateSlice3D(pos) 1072 self.UpdateSlice3D(pos)
1062 self.interactor.Render() 1073 self.interactor.Render()
@@ -1139,7 +1150,7 @@ class Viewer(wx.Panel): @@ -1139,7 +1150,7 @@ class Viewer(wx.Panel):
1139 coord[index] = extent_min[index] 1150 coord[index] = extent_min[index]
1140 return coord 1151 return coord
1141 1152
1142 - def ReloadActualSlice(self, pubsub_evt): 1153 + def ReloadActualSlice(self, pubsub_evt=None):
1143 pos = self.scroll.GetThumbPosition() 1154 pos = self.scroll.GetThumbPosition()
1144 self.set_slice_number(pos) 1155 self.set_slice_number(pos)
1145 self.interactor.Render() 1156 self.interactor.Render()