Commit 34feaf7f07840cde4e23614e8eaa103749a59ed9
1 parent
8ccb6b70
Exists in
master
and in
2 other branches
Only enabling boolean operation menu when there is more than one mask
Showing
1 changed file
with
23 additions
and
1 deletions
Show diff stats
invesalius/gui/frame.py
@@ -546,6 +546,11 @@ class MenuBar(wx.MenuBar): | @@ -546,6 +546,11 @@ class MenuBar(wx.MenuBar): | ||
546 | sub(self.OnEnableUndo, "Enable undo") | 546 | sub(self.OnEnableUndo, "Enable undo") |
547 | sub(self.OnEnableRedo, "Enable redo") | 547 | sub(self.OnEnableRedo, "Enable redo") |
548 | 548 | ||
549 | + sub(self.OnAddMask, "Add mask") | ||
550 | + sub(self.OnRemoveMasks, "Remove masks") | ||
551 | + | ||
552 | + self.num_masks = 0 | ||
553 | + | ||
549 | def __init_items(self): | 554 | def __init_items(self): |
550 | """ | 555 | """ |
551 | Create all menu and submenus, and add them to self. | 556 | Create all menu and submenus, and add them to self. |
@@ -622,7 +627,8 @@ class MenuBar(wx.MenuBar): | @@ -622,7 +627,8 @@ class MenuBar(wx.MenuBar): | ||
622 | 627 | ||
623 | # Mask Menu | 628 | # Mask Menu |
624 | mask_menu = wx.Menu() | 629 | mask_menu = wx.Menu() |
625 | - mask_menu.Append(const.ID_BOOLEAN_MASK, _(u"Boolean operations")) | 630 | + self.bool_op_menu = mask_menu.Append(const.ID_BOOLEAN_MASK, _(u"Boolean operations")) |
631 | + self.bool_op_menu.Enable(False) | ||
626 | file_edit.AppendMenu(-1, _(u"Mask"), mask_menu) | 632 | file_edit.AppendMenu(-1, _(u"Mask"), mask_menu) |
627 | 633 | ||
628 | 634 | ||
@@ -716,6 +722,22 @@ class MenuBar(wx.MenuBar): | @@ -716,6 +722,22 @@ class MenuBar(wx.MenuBar): | ||
716 | self.FindItemById(wx.ID_REDO).Enable(True) | 722 | self.FindItemById(wx.ID_REDO).Enable(True) |
717 | else: | 723 | else: |
718 | self.FindItemById(wx.ID_REDO).Enable(False) | 724 | self.FindItemById(wx.ID_REDO).Enable(False) |
725 | + | ||
726 | + def OnAddMask(self, pubsub_evt): | ||
727 | + self.num_masks += 1 | ||
728 | + | ||
729 | + if self.num_masks >= 2: | ||
730 | + self.bool_op_menu.Enable(True) | ||
731 | + else: | ||
732 | + self.bool_op_menu.Enable(False) | ||
733 | + | ||
734 | + def OnRemoveMasks(self, pubsub_evt): | ||
735 | + self.num_masks -= len(pubsub_evt.data) | ||
736 | + | ||
737 | + if self.num_masks >= 2: | ||
738 | + self.bool_op_menu.Enable(True) | ||
739 | + else: | ||
740 | + self.bool_op_menu.Enable(False) | ||
719 | # ------------------------------------------------------------------ | 741 | # ------------------------------------------------------------------ |
720 | # ------------------------------------------------------------------ | 742 | # ------------------------------------------------------------------ |
721 | # ------------------------------------------------------------------ | 743 | # ------------------------------------------------------------------ |