diff --git a/invesalius/gui/dialogs.py b/invesalius/gui/dialogs.py index 7bf496c..418186e 100644 --- a/invesalius/gui/dialogs.py +++ b/invesalius/gui/dialogs.py @@ -1840,6 +1840,66 @@ def BitmapNotSameSize(): dlg.Destroy() +class PanelTargeFFill(wx.Panel): + def __init__(self, parent, ID=-1, style=wx.TAB_TRAVERSAL|wx.NO_BORDER): + wx.Panel.__init__(self, parent, ID, style=style) + self._init_gui() + + def _init_gui(self): + self.target_2d = wx.RadioButton(self, -1, _(u"2D - Actual slice"), style=wx.RB_GROUP) + self.target_3d = wx.RadioButton(self, -1, _(u"3D - All slices")) + + sizer = wx.GridBagSizer(10) + + sizer.Add(self.target_2d, (0, 0), (1, 6), flag=wx.LEFT, border=5) + sizer.Add(self.target_3d, (1, 0), (1, 6), flag=wx.LEFT, border=5) + + self.SetSizer(sizer) + sizer.Fit(self) + self.Layout() + +class Panel2DConnectivity(wx.Panel): + def __init__(self, parent, ID=-1, style=wx.TAB_TRAVERSAL|wx.NO_BORDER): + wx.Panel.__init__(self, parent, ID, style=style) + self._init_gui() + + def _init_gui(self): + self.conect2D_4 = wx.RadioButton(self, -1, "4", style=wx.RB_GROUP) + self.conect2D_8 = wx.RadioButton(self, -1, "8") + + sizer = wx.GridBagSizer(10) + + sizer.Add(wx.StaticText(self, -1, _(u"2D Connectivity")), (0, 0), (1, 6), flag=wx.LEFT, border=5) + sizer.Add(self.conect2D_4, (1, 0), flag=wx.LEFT, border=7) + sizer.Add(self.conect2D_8, (1, 1), flag=wx.LEFT, border=7) + + self.SetSizer(sizer) + sizer.Fit(self) + self.Layout() + + +class Panel3DConnectivity(wx.Panel): + def __init__(self, parent, ID=-1, style=wx.TAB_TRAVERSAL|wx.NO_BORDER): + wx.Panel.__init__(self, parent, ID, style=style) + self._init_gui() + + def _init_gui(self): + self.conect3D_6 = wx.RadioButton(self, -1, "6", style=wx.RB_GROUP) + self.conect3D_18 = wx.RadioButton(self, -1, "18") + self.conect3D_26 = wx.RadioButton(self, -1, "26") + + sizer = wx.GridBagSizer(5, 5) + + sizer.Add(wx.StaticText(self, -1, _(u"3D Connectivity")), (0, 0), (1, 6), flag=wx.LEFT, border=5) + sizer.Add(self.conect3D_6, (1, 0), flag=wx.LEFT, border=9) + sizer.Add(self.conect3D_18, (1, 1), flag=wx.LEFT, border=9) + sizer.Add(self.conect3D_26, (1, 2), flag=wx.LEFT, border=9) + + self.SetSizer(sizer) + sizer.Fit(self) + self.Layout() + + class FFillOptionsDialog(wx.Dialog): def __init__(self, title, config): pre = wx.PreDialog() @@ -1855,57 +1915,45 @@ class FFillOptionsDialog(wx.Dialog): Create the widgets. """ # Target - self.target_2d = wx.RadioButton(self, -1, _(u"2D - Actual slice"), style=wx.RB_GROUP) - self.target_3d = wx.RadioButton(self, -1, _(u"3D - All slices")) + self.panel_target = PanelTargeFFill(self, style=wx.SUNKEN_BORDER) if self.config.target == "2D": - self.target_2d.SetValue(1) + self.panel_target.target_2d.SetValue(1) else: - self.target_3d.SetValue(1) + self.panel_target.target_3d.SetValue(1) # Connectivity 2D - self.conect2D_4 = wx.RadioButton(self, -1, "4", style=wx.RB_GROUP) - self.conect2D_8 = wx.RadioButton(self, -1, "8") + self.panel2dcon = Panel2DConnectivity(self, style=wx.SUNKEN_BORDER) if self.config.con_2d == 8: - self.conect2D_8.SetValue(1) + self.panel2dcon.conect2D_8.SetValue(1) else: - self.conect2D_4.SetValue(1) + self.panel2dcon.conect2D_4.SetValue(1) self.config.con_2d = 4 # Connectivity 3D - self.conect3D_6 = wx.RadioButton(self, -1, "6", style=wx.RB_GROUP) - self.conect3D_18 = wx.RadioButton(self, -1, "18") - self.conect3D_26 = wx.RadioButton(self, -1, "26") + self.panel3dcon = Panel3DConnectivity(self, style=wx.SUNKEN_BORDER) if self.config.con_3d == 18: - self.conect3D_18.SetValue(1) + self.panel3dcon.conect3D_18.SetValue(1) elif self.config.con_3d == 26: - self.conect3D_26.SetValue(1) + self.panel3dcon.conect3D_26.SetValue(1) else: - self.conect3D_6.SetValue(1) + self.panel3dcon.conect3D_6.SetValue(1) # Sizer - sizer = wx.GridBagSizer(11, 6) - sizer.AddStretchSpacer((0, 0)) - - sizer.Add(wx.StaticText(self, -1, _(u"Parameters")), (1, 0), (1, 6), flag=wx.LEFT, border=7) - sizer.Add(self.target_2d, (2, 0), (1, 6), flag=wx.LEFT, border=9) - sizer.Add(self.target_3d, (3, 0), (1, 6), flag=wx.LEFT, border=9) - - sizer.AddStretchSpacer((4, 0)) - - sizer.Add(wx.StaticText(self, -1, _(u"2D Connectivity")), (5, 0), (1, 6), flag=wx.LEFT, border=9) - sizer.Add(self.conect2D_4, (6, 0), flag=wx.LEFT, border=9) - sizer.Add(self.conect2D_8, (6, 1), flag=wx.LEFT, border=9) + sizer = wx.BoxSizer(wx.VERTICAL) - sizer.AddStretchSpacer((7, 0)) + sizer.AddSpacer(5) + sizer.Add(wx.StaticText(self, -1, _(u"Parameters")), flag=wx.LEFT, border=5) + sizer.AddSpacer(5) + sizer.Add(self.panel_target, flag=wx.LEFT|wx.RIGHT|wx.EXPAND, border=7) + sizer.AddSpacer(5) + sizer.Add(self.panel2dcon, flag=wx.LEFT|wx.RIGHT|wx.EXPAND, border=7) + sizer.AddSpacer(5) + sizer.Add(self.panel3dcon, flag=wx.LEFT|wx.RIGHT|wx.EXPAND, border=7) + sizer.AddSpacer(5) - sizer.Add(wx.StaticText(self, -1, _(u"3D Connectivity")), (8, 0), (1, 6), flag=wx.LEFT, border=9) - sizer.Add(self.conect3D_6, (9, 0), flag=wx.LEFT, border=9) - sizer.Add(self.conect3D_18, (9, 1), flag=wx.LEFT, border=9) - sizer.Add(self.conect3D_26, (9, 2), flag=wx.LEFT, border=9) - sizer.AddStretchSpacer((10, 0)) self.SetSizer(sizer) sizer.Fit(self) @@ -1916,23 +1964,23 @@ class FFillOptionsDialog(wx.Dialog): def OnSetRadio(self, evt): # Target - if self.target_2d.GetValue(): + if self.panel_target.target_2d.GetValue(): self.config.target = "2D" else: self.config.target = "3D" # 2D - if self.conect2D_4.GetValue(): + if self.panel2dcon.conect2D_4.GetValue(): self.config.con_2d = 4 - elif self.conect2D_8.GetValue(): + elif self.panel2dcon.conect2D_8.GetValue(): self.config.con_2d = 8 # 3D - if self.conect3D_6.GetValue(): + if self.panel3dcon.conect3D_6.GetValue(): self.config.con_3d = 6 - elif self.conect3D_18.GetValue(): + elif self.panel3dcon.conect3D_18.GetValue(): self.config.con_3d = 18 - elif self.conect3D_26.GetValue(): + elif self.panel3dcon.conect3D_26.GetValue(): self.config.con_3d = 26 def OnClose(self, evt): -- libgit2 0.21.2