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 64 self.left_pressed = 0
65 65 self.right_pressed = 0
66 66  
67   - self.number_slices = 10
  67 + self._number_slices = 10
68 68  
69 69 self.spined_image = False #Use to control to spin
70 70 self.paned_image = False
... ... @@ -984,6 +984,16 @@ class Viewer(wx.Panel):
984 984 max_slice_number)
985 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 997 def set_scroll_position(self, position):
988 998 self.scroll.SetThumbPosition(position)
989 999 self.OnScrollBar()
... ... @@ -1046,17 +1056,18 @@ class Viewer(wx.Panel):
1046 1056 elif (evt.GetKeyCode() == wx.WXK_NUMPAD_ADD):
1047 1057 self.number_slices += 1
1048 1058 print "ADDing", self.number_slices
1049   - self.OnScrollBar()
  1059 + self.ReloadActualSlice()
1050 1060  
1051 1061 elif (evt.GetKeyCode() == wx.WXK_NUMPAD_SUBTRACT):
1052 1062 if self.number_slices > 1:
1053 1063 self.number_slices -= 1
1054 1064 print "Subtracting", self.number_slices
1055   - self.OnScrollBar()
  1065 + self.ReloadActualSlice()
1056 1066  
1057 1067 elif evt.GetKeyCode() in projections:
1058 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 1072 self.UpdateSlice3D(pos)
1062 1073 self.interactor.Render()
... ... @@ -1139,7 +1150,7 @@ class Viewer(wx.Panel):
1139 1150 coord[index] = extent_min[index]
1140 1151 return coord
1141 1152  
1142   - def ReloadActualSlice(self, pubsub_evt):
  1153 + def ReloadActualSlice(self, pubsub_evt=None):
1143 1154 pos = self.scroll.GetThumbPosition()
1144 1155 self.set_slice_number(pos)
1145 1156 self.interactor.Render()
... ...