diff -r 31e63e25b4cc -r 64beb9e9c749 dialogs/SFCDivergenceDialog.py --- a/dialogs/SFCDivergenceDialog.py Mon Aug 21 20:17:19 2017 +0000 +++ b/dialogs/SFCDivergenceDialog.py Mon Aug 21 23:22:58 2017 +0300 @@ -30,18 +30,18 @@ from graphics.SFC_Objects import SFC_Divergence from BlockPreviewDialog import BlockPreviewDialog -#------------------------------------------------------------------------------- +# ------------------------------------------------------------------------------- # Create New Divergence Dialog -#------------------------------------------------------------------------------- +# ------------------------------------------------------------------------------- -""" -Class that implements a dialog for defining parameters for creating a new -divergence graphic element -""" class SFCDivergenceDialog(BlockPreviewDialog): - - def __init__(self, parent, controller, tagname, poss_div_types = None): + """ + Class that implements a dialog for defining parameters for creating a new + divergence graphic element + """ + + def __init__(self, parent, controller, tagname, poss_div_types=None): """ Constructor @param parent: Parent wx.Window of dialog for modal @@ -50,15 +50,15 @@ @param poss_div_types: Types of divergence that will be available in the dialog window """ BlockPreviewDialog.__init__(self, parent, controller, tagname, - title=_('Create a new divergence or convergence')) - + title=_('Create a new divergence or convergence')) + # Init common sizers self._init_sizers(2, 0, 7, None, 2, 1) - + # Create label for divergence type type_label = wx.StaticText(self, label=_('Type:')) self.LeftGridSizer.AddWindow(type_label, flag=wx.GROW) - + # Create radio buttons for selecting divergence type divergence_buttons = [ (SELECTION_DIVERGENCE, _('Selection Divergence')), @@ -67,47 +67,49 @@ (SIMULTANEOUS_CONVERGENCE, _('Simultaneous Convergence'))] poss_div_btns = [] if poss_div_types is not None: - for val in poss_div_types: - poss_div_btns.append(divergence_buttons[val]) + for val in poss_div_types: + poss_div_btns.append(divergence_buttons[val]) else: poss_div_btns = divergence_buttons self.TypeRadioButtons = {} first = True focusbtn = None for type, label in poss_div_btns: - radio_button = wx.RadioButton(self, label=label, - style=(wx.RB_GROUP if first else 0)) + radio_button = wx.RadioButton(self, label=label, + style=(wx.RB_GROUP if first else 0)) radio_button.SetValue(first) self.Bind(wx.EVT_RADIOBUTTON, self.OnTypeChanged, radio_button) self.LeftGridSizer.AddWindow(radio_button, flag=wx.GROW) self.TypeRadioButtons[type] = radio_button - if first: focusbtn = type + if first: + focusbtn = type first = False # Create label for number of divergence sequences - sequences_label = wx.StaticText(self, - label=_('Number of sequences:')) + sequences_label = wx.StaticText(self, + label=_('Number of sequences:')) self.LeftGridSizer.AddWindow(sequences_label, flag=wx.GROW) - + # Create spin control for defining number of divergence sequences self.Sequences = wx.SpinCtrl(self, min=2, max=20, initial=2) self.Bind(wx.EVT_SPINCTRL, self.OnSequencesChanged, self.Sequences) self.LeftGridSizer.AddWindow(self.Sequences, flag=wx.GROW) - + # Add preview panel and associated label to sizers self.RightGridSizer.AddWindow(self.PreviewLabel, flag=wx.GROW) self.RightGridSizer.AddWindow(self.Preview, flag=wx.GROW) - + # Add buttons sizer to sizers - self.MainSizer.AddSizer(self.ButtonSizer, border=20, - flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) - + self.MainSizer.AddSizer( + self.ButtonSizer, border=20, + flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT) + self.Fit() # Selection divergence radio button is default control having keyboard # focus self.TypeRadioButtons[focusbtn].SetFocus() - + def GetMinElementSize(self): """ Get minimal graphic element size @@ -115,7 +117,7 @@ element defined """ return self.Element.GetMinSize(True) - + def GetDivergenceType(self): """ Return type selected for SFC divergence @@ -127,7 +129,7 @@ if control.GetValue(): return type return None - + def GetValues(self): """ Set default SFC divergence parameters @@ -151,17 +153,16 @@ """ self.RefreshPreview() event.Skip() - + def RefreshPreview(self): """ Refresh preview panel of graphic element Override BlockPreviewDialog function """ # Set graphic element displayed, creating a SFC divergence - self.Element = SFC_Divergence(self.Preview, - self.GetDivergenceType(), + self.Element = SFC_Divergence(self.Preview, + self.GetDivergenceType(), self.Sequences.GetValue()) - + # Call BlockPreviewDialog function BlockPreviewDialog.RefreshPreview(self) -