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 = { |