Commit 1e33187cd660f1783acd43a248dcfcc6d29c4e1b
1 parent
9a2bc8bf
Exists in
ff_mask
Not opening more than one ffill dlg when clickin 2x in ffill menu
Showing
4 changed files
with
21 additions
and
9 deletions
Show diff stats
invesalius/constants.py
@@ -482,6 +482,7 @@ ID_CLEAN_MASK = wx.NewId() | @@ -482,6 +482,7 @@ ID_CLEAN_MASK = wx.NewId() | ||
482 | 482 | ||
483 | ID_REORIENT_IMG = wx.NewId() | 483 | ID_REORIENT_IMG = wx.NewId() |
484 | ID_FLOODFILL_MASK = wx.NewId() | 484 | ID_FLOODFILL_MASK = wx.NewId() |
485 | +ID_REMOVE_MASK_PART = wx.NewId() | ||
485 | 486 | ||
486 | #--------------------------------------------------------- | 487 | #--------------------------------------------------------- |
487 | STATE_DEFAULT = 1000 | 488 | STATE_DEFAULT = 1000 |
invesalius/data/styles.py
@@ -1783,9 +1783,10 @@ class FloodFillMaskInteractorStyle(DefaultInteractorStyle): | @@ -1783,9 +1783,10 @@ class FloodFillMaskInteractorStyle(DefaultInteractorStyle): | ||
1783 | self.dlg_ffill.Show() | 1783 | self.dlg_ffill.Show() |
1784 | 1784 | ||
1785 | def CleanUp(self): | 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 | self.dlg_ffill.Destroy() | 1788 | self.dlg_ffill.Destroy() |
1789 | + self.dlg_ffill = None | ||
1789 | 1790 | ||
1790 | def OnFFClick(self, obj, evt): | 1791 | def OnFFClick(self, obj, evt): |
1791 | if (self.viewer.slice_.buffer_slices[self.orientation].mask is None): | 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,7 +1851,7 @@ class FFillOptionsDialog(wx.Dialog): | ||
1851 | self._init_gui() | 1851 | self._init_gui() |
1852 | 1852 | ||
1853 | def _init_gui(self): | 1853 | def _init_gui(self): |
1854 | - sizer = wx.GridBagSizer(3, 1) | 1854 | + sizer = wx.GridBagSizer(3, 3) |
1855 | 1855 | ||
1856 | flag_labels = wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | 1856 | flag_labels = wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL |
1857 | 1857 | ||
@@ -1883,9 +1883,9 @@ class FFillOptionsDialog(wx.Dialog): | @@ -1883,9 +1883,9 @@ class FFillOptionsDialog(wx.Dialog): | ||
1883 | self.conect3D.SetSelection(0) | 1883 | self.conect3D.SetSelection(0) |
1884 | self.config.con_3d = 6 | 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 | self.SetSizer(sizer) | 1890 | self.SetSizer(sizer) |
1891 | sizer.Fit(self) | 1891 | sizer.Fit(self) |
@@ -1911,7 +1911,7 @@ class FFillOptionsDialog(wx.Dialog): | @@ -1911,7 +1911,7 @@ class FFillOptionsDialog(wx.Dialog): | ||
1911 | print self.config.con_3d | 1911 | print self.config.con_3d |
1912 | 1912 | ||
1913 | def OnClose(self, evt): | 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 | evt.Skip() | 1916 | evt.Skip() |
1917 | self.Destroy() | 1917 | self.Destroy() |
invesalius/gui/frame.py
@@ -442,6 +442,9 @@ class Frame(wx.Frame): | @@ -442,6 +442,9 @@ class Frame(wx.Frame): | ||
442 | elif id == const.ID_FLOODFILL_MASK: | 442 | elif id == const.ID_FLOODFILL_MASK: |
443 | self.OnFillHolesManually() | 443 | self.OnFillHolesManually() |
444 | 444 | ||
445 | + elif id == const.ID_REMOVE_MASK_PART: | ||
446 | + self.OnRemoveMaskParts() | ||
447 | + | ||
445 | def OnSize(self, evt): | 448 | def OnSize(self, evt): |
446 | """ | 449 | """ |
447 | Refresh GUI when frame is resized. | 450 | Refresh GUI when frame is resized. |
@@ -565,6 +568,9 @@ class Frame(wx.Frame): | @@ -565,6 +568,9 @@ class Frame(wx.Frame): | ||
565 | def OnFillHolesManually(self): | 568 | def OnFillHolesManually(self): |
566 | Publisher.sendMessage('Enable style', const.SLICE_STATE_MASK_FFILL) | 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,7 +591,8 @@ class MenuBar(wx.MenuBar): | ||
585 | const.ID_PROJECT_SAVE_AS, | 591 | const.ID_PROJECT_SAVE_AS, |
586 | const.ID_PROJECT_CLOSE, | 592 | const.ID_PROJECT_CLOSE, |
587 | const.ID_REORIENT_IMG, | 593 | const.ID_REORIENT_IMG, |
588 | - const.ID_FLOODFILL_MASK] | 594 | + const.ID_FLOODFILL_MASK, |
595 | + const.ID_REMOVE_MASK_PART,] | ||
589 | self.__init_items() | 596 | self.__init_items() |
590 | self.__bind_events() | 597 | self.__bind_events() |
591 | 598 | ||
@@ -699,6 +706,9 @@ class MenuBar(wx.MenuBar): | @@ -699,6 +706,9 @@ class MenuBar(wx.MenuBar): | ||
699 | self.fill_hole_mask_menu = mask_menu.Append(const.ID_FLOODFILL_MASK, _(u"Fill mask holes manually")) | 706 | self.fill_hole_mask_menu = mask_menu.Append(const.ID_FLOODFILL_MASK, _(u"Fill mask holes manually")) |
700 | self.fill_hole_mask_menu.Enable(False) | 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 | tools_menu.AppendMenu(-1, _(u"Mask"), mask_menu) | 712 | tools_menu.AppendMenu(-1, _(u"Mask"), mask_menu) |
703 | 713 | ||
704 | # Image menu | 714 | # Image menu |