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 546 sub(self.OnEnableUndo, "Enable undo")
547 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 554 def __init_items(self):
550 555 """
551 556 Create all menu and submenus, and add them to self.
... ... @@ -622,7 +627,8 @@ class MenuBar(wx.MenuBar):
622 627  
623 628 # Mask Menu
624 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 632 file_edit.AppendMenu(-1, _(u"Mask"), mask_menu)
627 633  
628 634  
... ... @@ -716,6 +722,22 @@ class MenuBar(wx.MenuBar):
716 722 self.FindItemById(wx.ID_REDO).Enable(True)
717 723 else:
718 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 # ------------------------------------------------------------------
... ...