dialogs/FBDBlockDialog.py
branchwxPython4
changeset 3303 0ffb41625592
parent 2591 5f685bcd3ad6
child 3750 f62625418bff
equal deleted inserted replaced
3302:c89fc366bebd 3303:0ffb41625592
    66         self._init_sizers(2, 0, 1, 0, 3, 2)
    66         self._init_sizers(2, 0, 1, 0, 3, 2)
    67 
    67 
    68         # Create static box around library panel
    68         # Create static box around library panel
    69         type_staticbox = wx.StaticBox(self, label=_('Type:'))
    69         type_staticbox = wx.StaticBox(self, label=_('Type:'))
    70         left_staticboxsizer = wx.StaticBoxSizer(type_staticbox, wx.VERTICAL)
    70         left_staticboxsizer = wx.StaticBoxSizer(type_staticbox, wx.VERTICAL)
    71         self.LeftGridSizer.AddSizer(left_staticboxsizer, border=5, flag=wx.GROW)
    71         self.LeftGridSizer.Add(left_staticboxsizer, border=5, flag=wx.GROW)
    72 
    72 
    73         # Create Library panel and add it to static box
    73         # Create Library panel and add it to static box
    74         self.LibraryPanel = LibraryPanel(self)
    74         self.LibraryPanel = LibraryPanel(self)
    75         self.LibraryPanel.SetInitialSize(wx.Size(-1, 400))
    75         self.LibraryPanel.SetInitialSize(wx.Size(-1, 400))
    76 
    76 
    77         # Set function to call when selection in Library panel changed
    77         # Set function to call when selection in Library panel changed
    78         setattr(self.LibraryPanel, "_OnTreeItemSelected",
    78         setattr(self.LibraryPanel, "_OnTreeItemSelected",
    79                 self.OnLibraryTreeItemSelected)
    79                 self.OnLibraryTreeItemSelected)
    80         left_staticboxsizer.AddWindow(self.LibraryPanel, 1, border=5,
    80         left_staticboxsizer.Add(self.LibraryPanel, 1, border=5,
    81                                       flag=wx.GROW | wx.TOP)
    81                                       flag=wx.GROW | wx.TOP)
    82 
    82 
    83         # Create sizer for other block parameters
    83         # Create sizer for other block parameters
    84         top_right_gridsizer = wx.FlexGridSizer(cols=2, hgap=0, rows=4, vgap=5)
    84         top_right_gridsizer = wx.FlexGridSizer(cols=2, hgap=0, rows=4, vgap=5)
    85         top_right_gridsizer.AddGrowableCol(1)
    85         top_right_gridsizer.AddGrowableCol(1)
    86         self.RightGridSizer.AddSizer(top_right_gridsizer, flag=wx.GROW)
    86         self.RightGridSizer.Add(top_right_gridsizer, flag=wx.GROW)
    87 
    87 
    88         # Create label for block name
    88         # Create label for block name
    89         name_label = wx.StaticText(self, label=_('Name:'))
    89         name_label = wx.StaticText(self, label=_('Name:'))
    90         top_right_gridsizer.AddWindow(name_label,
    90         top_right_gridsizer.Add(name_label,
    91                                       flag=wx.ALIGN_CENTER_VERTICAL)
    91                                       flag=wx.ALIGN_CENTER_VERTICAL)
    92 
    92 
    93         # Create text control for defining block name
    93         # Create text control for defining block name
    94         self.BlockName = wx.TextCtrl(self)
    94         self.BlockName = wx.TextCtrl(self)
    95         self.Bind(wx.EVT_TEXT, self.OnNameChanged, self.BlockName)
    95         self.Bind(wx.EVT_TEXT, self.OnNameChanged, self.BlockName)
    96         top_right_gridsizer.AddWindow(self.BlockName, flag=wx.GROW)
    96         top_right_gridsizer.Add(self.BlockName, flag=wx.GROW)
    97 
    97 
    98         # Create label for extended block input number
    98         # Create label for extended block input number
    99         inputs_label = wx.StaticText(self, label=_('Inputs:'))
    99         inputs_label = wx.StaticText(self, label=_('Inputs:'))
   100         top_right_gridsizer.AddWindow(inputs_label,
   100         top_right_gridsizer.Add(inputs_label,
   101                                       flag=wx.ALIGN_CENTER_VERTICAL)
   101                                       flag=wx.ALIGN_CENTER_VERTICAL)
   102 
   102 
   103         # Create spin control for defining extended block input number
   103         # Create spin control for defining extended block input number
   104         self.Inputs = wx.SpinCtrl(self, min=2, max=20,
   104         self.Inputs = wx.SpinCtrl(self, min=2, max=20,
   105                                   style=wx.SP_ARROW_KEYS)
   105                                   style=wx.SP_ARROW_KEYS)
   106         self.Bind(wx.EVT_SPINCTRL, self.OnInputsChanged, self.Inputs)
   106         self.Bind(wx.EVT_SPINCTRL, self.OnInputsChanged, self.Inputs)
   107         top_right_gridsizer.AddWindow(self.Inputs, flag=wx.GROW)
   107         top_right_gridsizer.Add(self.Inputs, flag=wx.GROW)
   108 
   108 
   109         # Create label for block execution order
   109         # Create label for block execution order
   110         execution_order_label = wx.StaticText(self,
   110         execution_order_label = wx.StaticText(self,
   111                                               label=_('Execution Order:'))
   111                                               label=_('Execution Order:'))
   112         top_right_gridsizer.AddWindow(execution_order_label,
   112         top_right_gridsizer.Add(execution_order_label,
   113                                       flag=wx.ALIGN_CENTER_VERTICAL)
   113                                       flag=wx.ALIGN_CENTER_VERTICAL)
   114 
   114 
   115         # Create spin control for defining block execution order
   115         # Create spin control for defining block execution order
   116         self.ExecutionOrder = wx.SpinCtrl(self, min=0, style=wx.SP_ARROW_KEYS)
   116         self.ExecutionOrder = wx.SpinCtrl(self, min=0, style=wx.SP_ARROW_KEYS)
   117         self.Bind(wx.EVT_SPINCTRL, self.OnExecutionOrderChanged,
   117         self.Bind(wx.EVT_SPINCTRL, self.OnExecutionOrderChanged,
   118                   self.ExecutionOrder)
   118                   self.ExecutionOrder)
   119         top_right_gridsizer.AddWindow(self.ExecutionOrder, flag=wx.GROW)
   119         top_right_gridsizer.Add(self.ExecutionOrder, flag=wx.GROW)
   120 
   120 
   121         # Create label for block execution control
   121         # Create label for block execution control
   122         execution_control_label = wx.StaticText(self,
   122         execution_control_label = wx.StaticText(self,
   123                                                 label=_('Execution Control:'))
   123                                                 label=_('Execution Control:'))
   124         top_right_gridsizer.AddWindow(execution_control_label,
   124         top_right_gridsizer.Add(execution_control_label,
   125                                       flag=wx.ALIGN_CENTER_VERTICAL)
   125                                       flag=wx.ALIGN_CENTER_VERTICAL)
   126 
   126 
   127         # Create check box to enable block execution control
   127         # Create check box to enable block execution control
   128         self.ExecutionControl = wx.CheckBox(self)
   128         self.ExecutionControl = wx.CheckBox(self)
   129         self.Bind(wx.EVT_CHECKBOX, self.OnExecutionOrderChanged,
   129         self.Bind(wx.EVT_CHECKBOX, self.OnExecutionOrderChanged,
   130                   self.ExecutionControl)
   130                   self.ExecutionControl)
   131         top_right_gridsizer.AddWindow(self.ExecutionControl, flag=wx.GROW)
   131         top_right_gridsizer.Add(self.ExecutionControl, flag=wx.GROW)
   132 
   132 
   133         # Add preview panel and associated label to sizers
   133         # Add preview panel and associated label to sizers
   134         self.RightGridSizer.AddWindow(self.PreviewLabel, flag=wx.GROW)
   134         self.RightGridSizer.Add(self.PreviewLabel, flag=wx.GROW)
   135         self.RightGridSizer.AddWindow(self.Preview, flag=wx.GROW)
   135         self.RightGridSizer.Add(self.Preview, flag=wx.GROW)
   136 
   136 
   137         # Add buttons sizer to sizers
   137         # Add buttons sizer to sizers
   138         self.MainSizer.AddSizer(self.ButtonSizer, border=20,
   138         self.MainSizer.Add(self.ButtonSizer, border=20,
   139                                 flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT)
   139                                 flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT)
   140 
   140 
   141         # Dictionary containing correspondence between parameter exchanged and
   141         # Dictionary containing correspondence between parameter exchanged and
   142         # control to fill with parameter value
   142         # control to fill with parameter value
   143         self.ParamsControl = {
   143         self.ParamsControl = {