Commit 34feaf7f07840cde4e23614e8eaa103749a59ed9
1 parent
8ccb6b70
Exists in
master
and in
38 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 | # ------------------------------------------------------------------ |