Commit 076803898a6fd3f5475df23851f4d47f1b952ec8

Authored by Thiago Franco de Moraes
1 parent 6caea613

Added method to remove actual style

invesalius/data/slice_.py
... ... @@ -184,6 +184,7 @@ class Slice(object):
184 184  
185 185 Publisher.subscribe(self.OnEnableStyle, 'Enable style')
186 186 Publisher.subscribe(self.OnDisableStyle, 'Disable style')
  187 + Publisher.subscribe(self.OnDisableActualStyle, 'Disable actual style')
187 188  
188 189 Publisher.subscribe(self.OnRemoveMasks, 'Remove masks')
189 190 Publisher.subscribe(self.OnDuplicateMasks, 'Duplicate masks')
... ... @@ -263,6 +264,16 @@ class Slice(object):
263 264 Publisher.sendMessage('Set interactor default cursor')
264 265 self.state = new_state
265 266  
  267 + def OnDisableActualStyle(self, pubsub_evt):
  268 + actual_state = self.interaction_style.GetActualState()
  269 + if actual_state != const.STATE_DEFAULT:
  270 + new_state = self.interaction_style.RemoveState(actual_state)
  271 + Publisher.sendMessage('Set slice interaction style', new_state)
  272 +
  273 + # if (actual_state == const.SLICE_STATE_EDITOR):
  274 + # Publisher.sendMessage('Set interactor default cursor')
  275 + self.state = new_state
  276 +
266 277 def OnCloseProject(self, pubsub_evt):
267 278 self.CloseProject()
268 279  
... ...
invesalius/gui/frame.py
... ... @@ -451,15 +451,17 @@ class Frame(wx.Frame):
451 451  
452 452 elif id == const.ID_THRESHOLD_SEGMENTATION:
453 453 Publisher.sendMessage("Show panel", const.ID_THRESHOLD_SEGMENTATION)
  454 + Publisher.sendMessage('Disable actual style')
454 455 Publisher.sendMessage('Enable style', const.STATE_DEFAULT)
455 456  
456 457 elif id == const.ID_MANUAL_SEGMENTATION:
457 458 Publisher.sendMessage("Show panel", const.ID_MANUAL_SEGMENTATION)
  459 + Publisher.sendMessage('Disable actual style')
458 460 Publisher.sendMessage('Enable style', const.SLICE_STATE_EDITOR)
459 461  
460 462 elif id == const.ID_WATERSHED_SEGMENTATION:
461 463 Publisher.sendMessage("Show panel", const.ID_WATERSHED_SEGMENTATION)
462   - # Publisher.sendMessage('Disable actual style')
  464 + Publisher.sendMessage('Disable actual style')
463 465 Publisher.sendMessage('Enable style', const.SLICE_STATE_WATERSHED)
464 466  
465 467 elif id == const.ID_FLOODFILL_MASK:
... ...
invesalius/style.py
... ... @@ -110,6 +110,8 @@ class StyleStateManager(object):
110 110 max_level = max(self.stack.keys())
111 111 return self.stack[max_level]
112 112  
113   - def RemoveActualState(self):
  113 + def GetActualState(self):
  114 + print self.stack.keys()
114 115 max_level = max(self.stack.keys())
115   - return self.stack.pop(max_level)
  116 + state = self.stack[max_level]
  117 + return state
... ...