Commit 076803898a6fd3f5475df23851f4d47f1b952ec8
1 parent
6caea613
Exists in
master
and in
6 other branches
Added method to remove actual style
Showing
3 changed files
with
18 additions
and
3 deletions
Show diff stats
invesalius/data/slice_.py
@@ -184,6 +184,7 @@ class Slice(object): | @@ -184,6 +184,7 @@ class Slice(object): | ||
184 | 184 | ||
185 | Publisher.subscribe(self.OnEnableStyle, 'Enable style') | 185 | Publisher.subscribe(self.OnEnableStyle, 'Enable style') |
186 | Publisher.subscribe(self.OnDisableStyle, 'Disable style') | 186 | Publisher.subscribe(self.OnDisableStyle, 'Disable style') |
187 | + Publisher.subscribe(self.OnDisableActualStyle, 'Disable actual style') | ||
187 | 188 | ||
188 | Publisher.subscribe(self.OnRemoveMasks, 'Remove masks') | 189 | Publisher.subscribe(self.OnRemoveMasks, 'Remove masks') |
189 | Publisher.subscribe(self.OnDuplicateMasks, 'Duplicate masks') | 190 | Publisher.subscribe(self.OnDuplicateMasks, 'Duplicate masks') |
@@ -263,6 +264,16 @@ class Slice(object): | @@ -263,6 +264,16 @@ class Slice(object): | ||
263 | Publisher.sendMessage('Set interactor default cursor') | 264 | Publisher.sendMessage('Set interactor default cursor') |
264 | self.state = new_state | 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 | def OnCloseProject(self, pubsub_evt): | 277 | def OnCloseProject(self, pubsub_evt): |
267 | self.CloseProject() | 278 | self.CloseProject() |
268 | 279 |
invesalius/gui/frame.py
@@ -451,15 +451,17 @@ class Frame(wx.Frame): | @@ -451,15 +451,17 @@ class Frame(wx.Frame): | ||
451 | 451 | ||
452 | elif id == const.ID_THRESHOLD_SEGMENTATION: | 452 | elif id == const.ID_THRESHOLD_SEGMENTATION: |
453 | Publisher.sendMessage("Show panel", const.ID_THRESHOLD_SEGMENTATION) | 453 | Publisher.sendMessage("Show panel", const.ID_THRESHOLD_SEGMENTATION) |
454 | + Publisher.sendMessage('Disable actual style') | ||
454 | Publisher.sendMessage('Enable style', const.STATE_DEFAULT) | 455 | Publisher.sendMessage('Enable style', const.STATE_DEFAULT) |
455 | 456 | ||
456 | elif id == const.ID_MANUAL_SEGMENTATION: | 457 | elif id == const.ID_MANUAL_SEGMENTATION: |
457 | Publisher.sendMessage("Show panel", const.ID_MANUAL_SEGMENTATION) | 458 | Publisher.sendMessage("Show panel", const.ID_MANUAL_SEGMENTATION) |
459 | + Publisher.sendMessage('Disable actual style') | ||
458 | Publisher.sendMessage('Enable style', const.SLICE_STATE_EDITOR) | 460 | Publisher.sendMessage('Enable style', const.SLICE_STATE_EDITOR) |
459 | 461 | ||
460 | elif id == const.ID_WATERSHED_SEGMENTATION: | 462 | elif id == const.ID_WATERSHED_SEGMENTATION: |
461 | Publisher.sendMessage("Show panel", const.ID_WATERSHED_SEGMENTATION) | 463 | Publisher.sendMessage("Show panel", const.ID_WATERSHED_SEGMENTATION) |
462 | - # Publisher.sendMessage('Disable actual style') | 464 | + Publisher.sendMessage('Disable actual style') |
463 | Publisher.sendMessage('Enable style', const.SLICE_STATE_WATERSHED) | 465 | Publisher.sendMessage('Enable style', const.SLICE_STATE_WATERSHED) |
464 | 466 | ||
465 | elif id == const.ID_FLOODFILL_MASK: | 467 | elif id == const.ID_FLOODFILL_MASK: |
invesalius/style.py
@@ -110,6 +110,8 @@ class StyleStateManager(object): | @@ -110,6 +110,8 @@ class StyleStateManager(object): | ||
110 | max_level = max(self.stack.keys()) | 110 | max_level = max(self.stack.keys()) |
111 | return self.stack[max_level] | 111 | return self.stack[max_level] |
112 | 112 | ||
113 | - def RemoveActualState(self): | 113 | + def GetActualState(self): |
114 | + print self.stack.keys() | ||
114 | max_level = max(self.stack.keys()) | 115 | max_level = max(self.stack.keys()) |
115 | - return self.stack.pop(max_level) | 116 | + state = self.stack[max_level] |
117 | + return state |