Commit 32368b96db9753e46114a919a99e4020b7630e2b
1 parent
e23f8647
Exists in
master
and in
56 other branches
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() |