Commit 34feaf7f07840cde4e23614e8eaa103749a59ed9

Authored by Thiago Franco de Moraes
1 parent 8ccb6b70

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 # ------------------------------------------------------------------