Commit 7bcf6df2af5ddefdd8c03128163fbedf60e01f0d
1 parent
ae85be7c
Exists in
master
and in
56 other branches
When user shows a mask, MIP is deactivated
Showing
3 changed files
with
29 additions
and
11 deletions
Show diff stats
invesalius/data/slice_.py
| ... | ... | @@ -352,11 +352,15 @@ class Slice(object): |
| 352 | 352 | if not value: |
| 353 | 353 | Publisher.sendMessage('Select mask name in combo', -1) |
| 354 | 354 | |
| 355 | + if self._type_projection != const.PROJECTION_NORMAL: | |
| 356 | + self.SetTypeProjection(const.PROJECTION_NORMAL) | |
| 357 | + Publisher.sendMessage('Reload actual slice') | |
| 358 | + | |
| 355 | 359 | def __hide_current_mask(self, pubsub_evt): |
| 356 | 360 | if self.current_mask: |
| 357 | 361 | index = self.current_mask.index |
| 358 | 362 | value = False |
| 359 | - self.ShowMask(index, value) | |
| 363 | + Publisher.sendMessage('Show mask', (index, value)) | |
| 360 | 364 | |
| 361 | 365 | def edit_mask_pixel(self, operation, index, position, radius, orientation): |
| 362 | 366 | mask = self.buffer_slices[orientation].mask |
| ... | ... | @@ -823,7 +827,12 @@ class Slice(object): |
| 823 | 827 | def SetTypeProjection(self, tprojection): |
| 824 | 828 | if self._type_projection != tprojection: |
| 825 | 829 | if self._type_projection == const.PROJECTION_NORMAL: |
| 826 | - self.__hide_current_mask(None) | |
| 830 | + Publisher.sendMessage('Hide current mask') | |
| 831 | + | |
| 832 | + if tprojection == const.PROJECTION_NORMAL: | |
| 833 | + Publisher.sendMessage('Show MIP interface', False) | |
| 834 | + else: | |
| 835 | + Publisher.sendMessage('Show MIP interface', True) | |
| 827 | 836 | |
| 828 | 837 | self._type_projection = tprojection |
| 829 | 838 | for buffer_ in self.buffer_slices.values(): | ... | ... |
invesalius/data/viewer_slice.py
| ... | ... | @@ -715,6 +715,7 @@ class Viewer(wx.Panel): |
| 715 | 715 | Publisher.subscribe(self.OnSetMIPSize, 'Set MIP size %s' % self.orientation) |
| 716 | 716 | Publisher.subscribe(self.OnSetMIPBorder, 'Set MIP border %s' % self.orientation) |
| 717 | 717 | Publisher.subscribe(self.OnSetMIPInvert, 'Set MIP Invert %s' % self.orientation) |
| 718 | + Publisher.subscribe(self.OnShowMIPInterface, 'Show MIP interface') | |
| 718 | 719 | |
| 719 | 720 | def SetDefaultCursor(self, pusub_evt): |
| 720 | 721 | self.interactor.SetCursor(wx.StockCursor(wx.CURSOR_DEFAULT)) |
| ... | ... | @@ -1136,15 +1137,6 @@ class Viewer(wx.Panel): |
| 1136 | 1137 | |
| 1137 | 1138 | elif evt.GetKeyCode() in projections: |
| 1138 | 1139 | print "PROJECTION MANOLO!" |
| 1139 | - if evt.GetKeyCode() != wx.WXK_NUMPAD0 and self.slice_._type_projection == const.PROJECTION_NORMAL: | |
| 1140 | - self.mip_ctrls.Show() | |
| 1141 | - self.GetSizer().Add(self.mip_ctrls, 0, wx.EXPAND|wx.GROW|wx.ALL, 2) | |
| 1142 | - self.Layout() | |
| 1143 | - elif evt.GetKeyCode() == wx.WXK_NUMPAD0 and self.slice_._type_projection != const.PROJECTION_NORMAL: | |
| 1144 | - self.mip_ctrls.Hide() | |
| 1145 | - self.GetSizer().Remove(self.mip_ctrls) | |
| 1146 | - self.Layout() | |
| 1147 | - | |
| 1148 | 1140 | self.slice_.SetTypeProjection(projections[evt.GetKeyCode()]) |
| 1149 | 1141 | self.ReloadActualSlice() |
| 1150 | 1142 | |
| ... | ... | @@ -1203,6 +1195,18 @@ class Viewer(wx.Panel): |
| 1203 | 1195 | buffer_.discard_buffer() |
| 1204 | 1196 | self.ReloadActualSlice() |
| 1205 | 1197 | |
| 1198 | + def OnShowMIPInterface(self, pubsub_evt): | |
| 1199 | + value = pubsub_evt.data | |
| 1200 | + if value: | |
| 1201 | + self.mip_ctrls.Show() | |
| 1202 | + self.GetSizer().Add(self.mip_ctrls, 0, wx.EXPAND|wx.GROW|wx.ALL, 2) | |
| 1203 | + self.Layout() | |
| 1204 | + else: | |
| 1205 | + self.mip_ctrls.Hide() | |
| 1206 | + self.GetSizer().Remove(self.mip_ctrls) | |
| 1207 | + self.Layout() | |
| 1208 | + | |
| 1209 | + | |
| 1206 | 1210 | def set_slice_number(self, index): |
| 1207 | 1211 | inverted = self.mip_ctrls.inverted.GetValue() |
| 1208 | 1212 | image = self.slice_.GetSlices(self.orientation, index, | ... | ... |
invesalius/gui/data_notebook.py
| ... | ... | @@ -365,6 +365,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): |
| 365 | 365 | 'Change mask colour in notebook') |
| 366 | 366 | |
| 367 | 367 | Publisher.subscribe(self.OnChangeCurrentMask, 'Change mask selected') |
| 368 | + Publisher.subscribe(self.__hide_current_mask, 'Hide current mask') | |
| 368 | 369 | Publisher.subscribe(self.OnCloseProject, 'Close project data') |
| 369 | 370 | |
| 370 | 371 | def OnKeyEvent(self, event): |
| ... | ... | @@ -432,6 +433,10 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): |
| 432 | 433 | if key != mask_index: |
| 433 | 434 | self.SetItemImage(key, 0) |
| 434 | 435 | |
| 436 | + def __hide_current_mask(self, pubsub_evt): | |
| 437 | + print self.mask_list_index.keys() | |
| 438 | + self.SetItemImage(self.current_index, 0) | |
| 439 | + | |
| 435 | 440 | def __init_columns(self): |
| 436 | 441 | |
| 437 | 442 | self.InsertColumn(0, "", wx.LIST_FORMAT_CENTER) | ... | ... |