Commit 1e33187cd660f1783acd43a248dcfcc6d29c4e1b

Authored by Thiago Franco de Moraes
1 parent 9a2bc8bf
Exists in ff_mask

Not opening more than one ffill dlg when clickin 2x in ffill menu

invesalius/constants.py
... ... @@ -482,6 +482,7 @@ ID_CLEAN_MASK = wx.NewId()
482 482  
483 483 ID_REORIENT_IMG = wx.NewId()
484 484 ID_FLOODFILL_MASK = wx.NewId()
  485 +ID_REMOVE_MASK_PART = wx.NewId()
485 486  
486 487 #---------------------------------------------------------
487 488 STATE_DEFAULT = 1000
... ...
invesalius/data/styles.py
... ... @@ -1783,9 +1783,10 @@ class FloodFillMaskInteractorStyle(DefaultInteractorStyle):
1783 1783 self.dlg_ffill.Show()
1784 1784  
1785 1785 def CleanUp(self):
1786   - self.config.dlg_visible = False
1787   - if self.dlg_ffill is not None:
  1786 + if (self.dlg_ffill is not None) and (self.config.dlg_visible):
  1787 + self.config.dlg_visible = False
1788 1788 self.dlg_ffill.Destroy()
  1789 + self.dlg_ffill = None
1789 1790  
1790 1791 def OnFFClick(self, obj, evt):
1791 1792 if (self.viewer.slice_.buffer_slices[self.orientation].mask is None):
... ...
invesalius/gui/dialogs.py
... ... @@ -1851,7 +1851,7 @@ class FFillOptionsDialog(wx.Dialog):
1851 1851 self._init_gui()
1852 1852  
1853 1853 def _init_gui(self):
1854   - sizer = wx.GridBagSizer(3, 1)
  1854 + sizer = wx.GridBagSizer(3, 3)
1855 1855  
1856 1856 flag_labels = wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL
1857 1857  
... ... @@ -1883,9 +1883,9 @@ class FFillOptionsDialog(wx.Dialog):
1883 1883 self.conect3D.SetSelection(0)
1884 1884 self.config.con_3d = 6
1885 1885  
1886   - sizer.Add(self.target, (0, 0))
1887   - sizer.Add(self.conect2D, (1, 0))
1888   - sizer.Add(self.conect3D, (2, 0))
  1886 + sizer.Add(self.target, (0, 0), (1, 3), flag=wx.EXPAND, border=5)
  1887 + sizer.Add(self.conect2D, (1, 0), flag=wx.EXPAND, border=5)
  1888 + sizer.Add(self.conect3D, (2, 0), flag=wx.EXPAND, border=5)
1889 1889  
1890 1890 self.SetSizer(sizer)
1891 1891 sizer.Fit(self)
... ... @@ -1911,7 +1911,7 @@ class FFillOptionsDialog(wx.Dialog):
1911 1911 print self.config.con_3d
1912 1912  
1913 1913 def OnClose(self, evt):
1914   - Publisher.sendMessage('Disable style', const.SLICE_STATE_MASK_FFILL)
1915   - self.config.dlg_visible = False
  1914 + if self.config.dlg_visible:
  1915 + Publisher.sendMessage('Disable style', const.SLICE_STATE_MASK_FFILL)
1916 1916 evt.Skip()
1917 1917 self.Destroy()
... ...
invesalius/gui/frame.py
... ... @@ -442,6 +442,9 @@ class Frame(wx.Frame):
442 442 elif id == const.ID_FLOODFILL_MASK:
443 443 self.OnFillHolesManually()
444 444  
  445 + elif id == const.ID_REMOVE_MASK_PART:
  446 + self.OnRemoveMaskParts()
  447 +
445 448 def OnSize(self, evt):
446 449 """
447 450 Refresh GUI when frame is resized.
... ... @@ -565,6 +568,9 @@ class Frame(wx.Frame):
565 568 def OnFillHolesManually(self):
566 569 Publisher.sendMessage('Enable style', const.SLICE_STATE_MASK_FFILL)
567 570  
  571 + def OnRemoveMaskParts(self):
  572 + Publisher.sendMessage('Enable style', const.SLICE_STATE_MASK_FFILL)
  573 +
568 574 # ------------------------------------------------------------------
569 575 # ------------------------------------------------------------------
570 576 # ------------------------------------------------------------------
... ... @@ -585,7 +591,8 @@ class MenuBar(wx.MenuBar):
585 591 const.ID_PROJECT_SAVE_AS,
586 592 const.ID_PROJECT_CLOSE,
587 593 const.ID_REORIENT_IMG,
588   - const.ID_FLOODFILL_MASK]
  594 + const.ID_FLOODFILL_MASK,
  595 + const.ID_REMOVE_MASK_PART,]
589 596 self.__init_items()
590 597 self.__bind_events()
591 598  
... ... @@ -699,6 +706,9 @@ class MenuBar(wx.MenuBar):
699 706 self.fill_hole_mask_menu = mask_menu.Append(const.ID_FLOODFILL_MASK, _(u"Fill mask holes manually"))
700 707 self.fill_hole_mask_menu.Enable(False)
701 708  
  709 + self.remove_mask_part_menu = mask_menu.Append(const.ID_REMOVE_MASK_PART, _(u"Remove parts"))
  710 + self.remove_mask_part_menu.Enable(False)
  711 +
702 712 tools_menu.AppendMenu(-1, _(u"Mask"), mask_menu)
703 713  
704 714 # Image menu
... ...