154 self.MainSizer.AddGrowableCol(0) |
154 self.MainSizer.AddGrowableCol(0) |
155 self.MainSizer.AddGrowableRow(1) |
155 self.MainSizer.AddGrowableRow(1) |
156 |
156 |
157 top_sizer = wx.BoxSizer(wx.HORIZONTAL) |
157 top_sizer = wx.BoxSizer(wx.HORIZONTAL) |
158 self.MainSizer.AddSizer(top_sizer, border=5, |
158 self.MainSizer.AddSizer(top_sizer, border=5, |
159 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
159 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
160 |
160 |
161 derivation_type_label = wx.StaticText(self.Editor, label=_('Derivation Type:')) |
161 derivation_type_label = wx.StaticText(self.Editor, label=_('Derivation Type:')) |
162 top_sizer.AddWindow(derivation_type_label, border=5, |
162 top_sizer.AddWindow(derivation_type_label, border=5, |
163 flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT) |
163 flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT) |
164 |
164 |
165 self.DerivationType = wx.ComboBox(self.Editor, |
165 self.DerivationType = wx.ComboBox(self.Editor, |
166 size=wx.Size(200, -1), style=wx.CB_READONLY) |
166 size=wx.Size(200, -1), style=wx.CB_READONLY) |
167 self.Bind(wx.EVT_COMBOBOX, self.OnDerivationTypeChanged, self.DerivationType) |
167 self.Bind(wx.EVT_COMBOBOX, self.OnDerivationTypeChanged, self.DerivationType) |
168 top_sizer.AddWindow(self.DerivationType, border=5, flag=wx.GROW | wx.RIGHT) |
168 top_sizer.AddWindow(self.DerivationType, border=5, flag=wx.GROW | wx.RIGHT) |
169 |
169 |
170 typeinfos_staticbox = wx.StaticBox(self.Editor, label=_('Type infos:')) |
170 typeinfos_staticbox = wx.StaticBox(self.Editor, label=_('Type infos:')) |
171 typeinfos_sizer = wx.StaticBoxSizer(typeinfos_staticbox, wx.HORIZONTAL) |
171 typeinfos_sizer = wx.StaticBoxSizer(typeinfos_staticbox, wx.HORIZONTAL) |
172 self.MainSizer.AddSizer(typeinfos_sizer, border=5, |
172 self.MainSizer.AddSizer(typeinfos_sizer, border=5, |
173 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
173 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
174 |
174 |
175 # Panel for Directly derived data types |
175 # Panel for Directly derived data types |
176 |
176 |
177 self.DirectlyPanel = wx.Panel(self.Editor, style=wx.TAB_TRAVERSAL) |
177 self.DirectlyPanel = wx.Panel(self.Editor, style=wx.TAB_TRAVERSAL) |
178 typeinfos_sizer.AddWindow(self.DirectlyPanel, 1) |
178 typeinfos_sizer.AddWindow(self.DirectlyPanel, 1) |
179 |
179 |
180 directly_panel_sizer = wx.BoxSizer(wx.HORIZONTAL) |
180 directly_panel_sizer = wx.BoxSizer(wx.HORIZONTAL) |
181 |
181 |
182 directly_basetype_label = wx.StaticText(self.DirectlyPanel, |
182 directly_basetype_label = wx.StaticText(self.DirectlyPanel, |
183 label=_('Base Type:')) |
183 label=_('Base Type:')) |
184 directly_panel_sizer.AddWindow(directly_basetype_label, 1, border=5, |
184 directly_panel_sizer.AddWindow(directly_basetype_label, 1, border=5, |
185 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
185 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
186 |
186 |
187 self.DirectlyBaseType = wx.ComboBox(self.DirectlyPanel, style=wx.CB_READONLY) |
187 self.DirectlyBaseType = wx.ComboBox(self.DirectlyPanel, style=wx.CB_READONLY) |
188 self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.DirectlyBaseType) |
188 self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.DirectlyBaseType) |
189 directly_panel_sizer.AddWindow(self.DirectlyBaseType, 1, border=5, |
189 directly_panel_sizer.AddWindow(self.DirectlyBaseType, 1, border=5, |
190 flag=wx.GROW | wx.ALL) |
190 flag=wx.GROW | wx.ALL) |
191 |
191 |
192 directly_initialvalue_label = wx.StaticText(self.DirectlyPanel, |
192 directly_initialvalue_label = wx.StaticText(self.DirectlyPanel, |
193 label=_('Initial Value:')) |
193 label=_('Initial Value:')) |
194 directly_panel_sizer.AddWindow(directly_initialvalue_label, 1, border=5, |
194 directly_panel_sizer.AddWindow(directly_initialvalue_label, 1, border=5, |
195 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
195 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
196 |
196 |
197 self.DirectlyInitialValue = wx.TextCtrl(self.DirectlyPanel, |
197 self.DirectlyInitialValue = wx.TextCtrl(self.DirectlyPanel, |
198 style=wx.TE_PROCESS_ENTER | wx.TE_RICH) |
198 style=wx.TE_PROCESS_ENTER | wx.TE_RICH) |
199 self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.DirectlyInitialValue) |
199 self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.DirectlyInitialValue) |
200 directly_panel_sizer.AddWindow(self.DirectlyInitialValue, 1, border=5, |
200 directly_panel_sizer.AddWindow(self.DirectlyInitialValue, 1, border=5, |
201 flag=wx.ALL) |
201 flag=wx.ALL) |
202 |
202 |
203 self.DirectlyPanel.SetSizer(directly_panel_sizer) |
203 self.DirectlyPanel.SetSizer(directly_panel_sizer) |
204 |
204 |
205 # Panel for Subrange data types |
205 # Panel for Subrange data types |
206 |
206 |
208 typeinfos_sizer.AddWindow(self.SubrangePanel, 1) |
208 typeinfos_sizer.AddWindow(self.SubrangePanel, 1) |
209 |
209 |
210 subrange_panel_sizer = wx.GridSizer(cols=4, hgap=5, rows=3, vgap=0) |
210 subrange_panel_sizer = wx.GridSizer(cols=4, hgap=5, rows=3, vgap=0) |
211 |
211 |
212 subrange_basetype_label = wx.StaticText(self.SubrangePanel, |
212 subrange_basetype_label = wx.StaticText(self.SubrangePanel, |
213 label=_('Base Type:')) |
213 label=_('Base Type:')) |
214 subrange_panel_sizer.AddWindow(subrange_basetype_label, 1, border=5, |
214 subrange_panel_sizer.AddWindow(subrange_basetype_label, 1, border=5, |
215 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
215 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
216 |
216 |
217 self.SubrangeBaseType = wx.ComboBox(self.SubrangePanel, style=wx.CB_READONLY) |
217 self.SubrangeBaseType = wx.ComboBox(self.SubrangePanel, style=wx.CB_READONLY) |
218 self.Bind(wx.EVT_COMBOBOX, self.OnSubrangeBaseTypeChanged, |
218 self.Bind(wx.EVT_COMBOBOX, self.OnSubrangeBaseTypeChanged, |
219 self.SubrangeBaseType) |
219 self.SubrangeBaseType) |
220 subrange_panel_sizer.AddWindow(self.SubrangeBaseType, 1, border=5, |
220 subrange_panel_sizer.AddWindow(self.SubrangeBaseType, 1, border=5, |
221 flag=wx.GROW | wx.ALL) |
221 flag=wx.GROW | wx.ALL) |
222 |
222 |
223 subrange_initialvalue_label = wx.StaticText(self.SubrangePanel, |
223 subrange_initialvalue_label = wx.StaticText(self.SubrangePanel, |
224 label=_('Initial Value:')) |
224 label=_('Initial Value:')) |
225 subrange_panel_sizer.AddWindow(subrange_initialvalue_label, 1, border=5, |
225 subrange_panel_sizer.AddWindow(subrange_initialvalue_label, 1, border=5, |
226 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
226 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
227 |
227 |
228 self.SubrangeInitialValue = wx.SpinCtrl(self.SubrangePanel, |
228 self.SubrangeInitialValue = wx.SpinCtrl(self.SubrangePanel, |
229 style=wx.TAB_TRAVERSAL) |
229 style=wx.TAB_TRAVERSAL) |
230 self.Bind(wx.EVT_SPINCTRL, self.OnInfosChanged, self.SubrangeInitialValue) |
230 self.Bind(wx.EVT_SPINCTRL, self.OnInfosChanged, self.SubrangeInitialValue) |
231 subrange_panel_sizer.AddWindow(self.SubrangeInitialValue, 1, border=5, |
231 subrange_panel_sizer.AddWindow(self.SubrangeInitialValue, 1, border=5, |
232 flag=wx.GROW | wx.ALL) |
232 flag=wx.GROW | wx.ALL) |
233 |
233 |
234 subrange_minimum_label = wx.StaticText(self.SubrangePanel, label=_('Minimum:')) |
234 subrange_minimum_label = wx.StaticText(self.SubrangePanel, label=_('Minimum:')) |
235 subrange_panel_sizer.AddWindow(subrange_minimum_label, 1, border=5, |
235 subrange_panel_sizer.AddWindow(subrange_minimum_label, 1, border=5, |
236 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
236 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
237 |
237 |
238 self.SubrangeMinimum = wx.SpinCtrl(self.SubrangePanel, style=wx.TAB_TRAVERSAL) |
238 self.SubrangeMinimum = wx.SpinCtrl(self.SubrangePanel, style=wx.TAB_TRAVERSAL) |
239 self.Bind(wx.EVT_SPINCTRL, self.OnSubrangeMinimumChanged, self.SubrangeMinimum) |
239 self.Bind(wx.EVT_SPINCTRL, self.OnSubrangeMinimumChanged, self.SubrangeMinimum) |
240 subrange_panel_sizer.AddWindow(self.SubrangeMinimum, 1, border=5, |
240 subrange_panel_sizer.AddWindow(self.SubrangeMinimum, 1, border=5, |
241 flag=wx.GROW | wx.ALL) |
241 flag=wx.GROW | wx.ALL) |
242 |
242 |
243 for i in xrange(2): |
243 for i in xrange(2): |
244 subrange_panel_sizer.AddWindow(wx.Size(0, 0), 1) |
244 subrange_panel_sizer.AddWindow(wx.Size(0, 0), 1) |
245 |
245 |
246 subrange_maximum_label = wx.StaticText(self.SubrangePanel, |
246 subrange_maximum_label = wx.StaticText(self.SubrangePanel, |
247 label=_('Maximum:')) |
247 label=_('Maximum:')) |
248 subrange_panel_sizer.AddWindow(subrange_maximum_label, 1, border=5, |
248 subrange_panel_sizer.AddWindow(subrange_maximum_label, 1, border=5, |
249 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
249 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
250 |
250 |
251 self.SubrangeMaximum = wx.SpinCtrl(self.SubrangePanel, style=wx.TAB_TRAVERSAL) |
251 self.SubrangeMaximum = wx.SpinCtrl(self.SubrangePanel, style=wx.TAB_TRAVERSAL) |
252 self.Bind(wx.EVT_SPINCTRL, self.OnSubrangeMaximumChanged, self.SubrangeMaximum) |
252 self.Bind(wx.EVT_SPINCTRL, self.OnSubrangeMaximumChanged, self.SubrangeMaximum) |
253 |
253 |
254 subrange_panel_sizer.AddWindow(self.SubrangeMaximum, 1, border=5, |
254 subrange_panel_sizer.AddWindow(self.SubrangeMaximum, 1, border=5, |
255 flag=wx.GROW | wx.ALL) |
255 flag=wx.GROW | wx.ALL) |
256 |
256 |
257 self.SubrangePanel.SetSizer(subrange_panel_sizer) |
257 self.SubrangePanel.SetSizer(subrange_panel_sizer) |
258 |
258 |
259 # Panel for Enumerated data types |
259 # Panel for Enumerated data types |
260 |
260 |
261 self.EnumeratedPanel = wx.Panel(self.Editor, style=wx.TAB_TRAVERSAL) |
261 self.EnumeratedPanel = wx.Panel(self.Editor, style=wx.TAB_TRAVERSAL) |
262 typeinfos_sizer.AddWindow(self.EnumeratedPanel, 1) |
262 typeinfos_sizer.AddWindow(self.EnumeratedPanel, 1) |
263 |
263 |
264 enumerated_panel_sizer = wx.BoxSizer(wx.HORIZONTAL) |
264 enumerated_panel_sizer = wx.BoxSizer(wx.HORIZONTAL) |
265 |
265 |
266 self.EnumeratedValues = CustomEditableListBox(self.EnumeratedPanel, |
266 self.EnumeratedValues = CustomEditableListBox( |
267 label=_("Values:"), style=wx.gizmos.EL_ALLOW_NEW | |
267 self.EnumeratedPanel, |
268 wx.gizmos.EL_ALLOW_EDIT | |
268 label=_("Values:"), |
269 wx.gizmos.EL_ALLOW_DELETE) |
269 style=(wx.gizmos.EL_ALLOW_NEW | |
|
270 wx.gizmos.EL_ALLOW_EDIT | |
|
271 wx.gizmos.EL_ALLOW_DELETE)) |
270 setattr(self.EnumeratedValues, "_OnLabelEndEdit", self.OnEnumeratedValueEndEdit) |
272 setattr(self.EnumeratedValues, "_OnLabelEndEdit", self.OnEnumeratedValueEndEdit) |
271 for func in ["_OnAddButton", "_OnDelButton", "_OnUpButton", "_OnDownButton"]: |
273 for func in ["_OnAddButton", "_OnDelButton", "_OnUpButton", "_OnDownButton"]: |
272 setattr(self.EnumeratedValues, func, self.OnEnumeratedValuesChanged) |
274 setattr(self.EnumeratedValues, func, self.OnEnumeratedValuesChanged) |
273 enumerated_panel_sizer.AddWindow(self.EnumeratedValues, 1, border=5, |
275 enumerated_panel_sizer.AddWindow(self.EnumeratedValues, 1, border=5, |
274 flag=wx.GROW | wx.ALL) |
276 flag=wx.GROW | wx.ALL) |
275 |
277 |
276 enumerated_panel_rightsizer = wx.BoxSizer(wx.HORIZONTAL) |
278 enumerated_panel_rightsizer = wx.BoxSizer(wx.HORIZONTAL) |
277 enumerated_panel_sizer.AddSizer(enumerated_panel_rightsizer, 1) |
279 enumerated_panel_sizer.AddSizer(enumerated_panel_rightsizer, 1) |
278 |
280 |
279 enumerated_initialvalue_label = wx.StaticText(self.EnumeratedPanel, |
281 enumerated_initialvalue_label = wx.StaticText(self.EnumeratedPanel, |
280 label=_('Initial Value:')) |
282 label=_('Initial Value:')) |
281 enumerated_panel_rightsizer.AddWindow(enumerated_initialvalue_label, 1, |
283 enumerated_panel_rightsizer.AddWindow(enumerated_initialvalue_label, 1, |
282 border=5, flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
284 border=5, |
|
285 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
283 |
286 |
284 self.EnumeratedInitialValue = wx.ComboBox(self.EnumeratedPanel, |
287 self.EnumeratedInitialValue = wx.ComboBox(self.EnumeratedPanel, |
285 style=wx.CB_READONLY) |
288 style=wx.CB_READONLY) |
286 self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.EnumeratedInitialValue) |
289 self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.EnumeratedInitialValue) |
287 enumerated_panel_rightsizer.AddWindow(self.EnumeratedInitialValue, 1, |
290 enumerated_panel_rightsizer.AddWindow(self.EnumeratedInitialValue, 1, |
288 border=5, flag=wx.ALL) |
291 border=5, flag=wx.ALL) |
289 |
292 |
290 self.EnumeratedPanel.SetSizer(enumerated_panel_sizer) |
293 self.EnumeratedPanel.SetSizer(enumerated_panel_sizer) |
291 |
294 |
292 # Panel for Array data types |
295 # Panel for Array data types |
293 |
296 |
302 array_panel_leftSizer = wx.BoxSizer(wx.HORIZONTAL) |
305 array_panel_leftSizer = wx.BoxSizer(wx.HORIZONTAL) |
303 array_panel_sizer.AddSizer(array_panel_leftSizer, flag=wx.GROW) |
306 array_panel_sizer.AddSizer(array_panel_leftSizer, flag=wx.GROW) |
304 |
307 |
305 array_basetype_label = wx.StaticText(self.ArrayPanel, label=_('Base Type:')) |
308 array_basetype_label = wx.StaticText(self.ArrayPanel, label=_('Base Type:')) |
306 array_panel_leftSizer.AddWindow(array_basetype_label, 1, border=5, |
309 array_panel_leftSizer.AddWindow(array_basetype_label, 1, border=5, |
307 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
310 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
308 |
311 |
309 self.ArrayBaseType = wx.ComboBox(self.ArrayPanel, style=wx.CB_READONLY) |
312 self.ArrayBaseType = wx.ComboBox(self.ArrayPanel, style=wx.CB_READONLY) |
310 self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.ArrayBaseType) |
313 self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.ArrayBaseType) |
311 array_panel_leftSizer.AddWindow(self.ArrayBaseType, 1, border=5, |
314 array_panel_leftSizer.AddWindow(self.ArrayBaseType, 1, border=5, |
312 flag=wx.GROW | wx.ALL) |
315 flag=wx.GROW | wx.ALL) |
313 |
316 |
314 array_panel_rightsizer = wx.BoxSizer(wx.HORIZONTAL) |
317 array_panel_rightsizer = wx.BoxSizer(wx.HORIZONTAL) |
315 array_panel_sizer.AddSizer(array_panel_rightsizer, flag=wx.GROW) |
318 array_panel_sizer.AddSizer(array_panel_rightsizer, flag=wx.GROW) |
316 |
319 |
317 array_initialvalue_label = wx.StaticText(self.ArrayPanel, |
320 array_initialvalue_label = wx.StaticText(self.ArrayPanel, |
318 label=_('Initial Value:')) |
321 label=_('Initial Value:')) |
319 array_panel_rightsizer.AddWindow(array_initialvalue_label, 1, border=5, |
322 array_panel_rightsizer.AddWindow(array_initialvalue_label, 1, border=5, |
320 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
323 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL) |
321 |
324 |
322 self.ArrayInitialValue = wx.TextCtrl(self.ArrayPanel, |
325 self.ArrayInitialValue = wx.TextCtrl(self.ArrayPanel, |
323 style=wx.TE_PROCESS_ENTER | wx.TE_RICH) |
326 style=wx.TE_PROCESS_ENTER | wx.TE_RICH) |
324 self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.ArrayInitialValue) |
327 self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.ArrayInitialValue) |
325 array_panel_rightsizer.AddWindow(self.ArrayInitialValue, 1, border=5, |
328 array_panel_rightsizer.AddWindow(self.ArrayInitialValue, 1, border=5, |
326 flag=wx.ALL) |
329 flag=wx.ALL) |
327 |
330 |
328 self.ArrayDimensions = CustomEditableListBox(self.ArrayPanel, |
331 self.ArrayDimensions = CustomEditableListBox( |
329 label=_("Dimensions:"), style=wx.gizmos.EL_ALLOW_NEW | |
332 self.ArrayPanel, |
330 wx.gizmos.EL_ALLOW_EDIT | |
333 label=_("Dimensions:"), |
331 wx.gizmos.EL_ALLOW_DELETE) |
334 style=(wx.gizmos.EL_ALLOW_NEW | |
|
335 wx.gizmos.EL_ALLOW_EDIT | |
|
336 wx.gizmos.EL_ALLOW_DELETE)) |
332 for func in ["_OnLabelEndEdit", "_OnAddButton", "_OnDelButton", |
337 for func in ["_OnLabelEndEdit", "_OnAddButton", "_OnDelButton", |
333 "_OnUpButton", "_OnDownButton"]: |
338 "_OnUpButton", "_OnDownButton"]: |
334 setattr(self.ArrayDimensions, func, self.OnDimensionsChanged) |
339 setattr(self.ArrayDimensions, func, self.OnDimensionsChanged) |
335 array_panel_sizer.AddWindow(self.ArrayDimensions, 0, border=5, |
340 array_panel_sizer.AddWindow(self.ArrayDimensions, 0, border=5, |
336 flag=wx.GROW | wx.ALL) |
341 flag=wx.GROW | wx.ALL) |
337 |
342 |
338 self.ArrayPanel.SetSizer(array_panel_sizer) |
343 self.ArrayPanel.SetSizer(array_panel_sizer) |
339 |
344 |
340 # Panel for Structure data types |
345 # Panel for Structure data types |
341 |
346 |
348 |
353 |
349 structure_button_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) |
354 structure_button_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) |
350 structure_button_sizer.AddGrowableCol(0) |
355 structure_button_sizer.AddGrowableCol(0) |
351 structure_button_sizer.AddGrowableRow(0) |
356 structure_button_sizer.AddGrowableRow(0) |
352 structure_panel_sizer.AddSizer(structure_button_sizer, 0, border=5, |
357 structure_panel_sizer.AddSizer(structure_button_sizer, 0, border=5, |
353 flag=wx.ALL | wx.GROW) |
358 flag=wx.ALL | wx.GROW) |
354 |
359 |
355 structure_elements_label = wx.StaticText(self.StructurePanel, |
360 structure_elements_label = wx.StaticText(self.StructurePanel, |
356 label=_('Elements :')) |
361 label=_('Elements :')) |
357 structure_button_sizer.AddWindow(structure_elements_label, flag=wx.ALIGN_BOTTOM) |
362 structure_button_sizer.AddWindow(structure_elements_label, flag=wx.ALIGN_BOTTOM) |
358 |
363 |
359 for name, bitmap, help in [ |
364 for name, bitmap, help in [ |
360 ("StructureAddButton", "add_element", _("Add element")), |
365 ("StructureAddButton", "add_element", _("Add element")), |
361 ("StructureDeleteButton", "remove_element", _("Remove element")), |
366 ("StructureDeleteButton", "remove_element", _("Remove element")), |
362 ("StructureUpButton", "up", _("Move element up")), |
367 ("StructureUpButton", "up", _("Move element up")), |
363 ("StructureDownButton", "down", _("Move element down"))]: |
368 ("StructureDownButton", "down", _("Move element down"))]: |
364 button = wx.lib.buttons.GenBitmapButton(self.StructurePanel, |
369 button = wx.lib.buttons.GenBitmapButton(self.StructurePanel, |
365 bitmap=GetBitmap(bitmap), size=wx.Size(28, 28), style=wx.NO_BORDER) |
370 bitmap=GetBitmap(bitmap), |
|
371 size=wx.Size(28, 28), |
|
372 style=wx.NO_BORDER) |
366 button.SetToolTipString(help) |
373 button.SetToolTipString(help) |
367 setattr(self, name, button) |
374 setattr(self, name, button) |
368 structure_button_sizer.AddWindow(button) |
375 structure_button_sizer.AddWindow(button) |
369 |
376 |
370 self.StructureElementsGrid = CustomGrid(self.StructurePanel, |
377 self.StructureElementsGrid = CustomGrid(self.StructurePanel, |
371 size=wx.Size(0, 150), style=wx.VSCROLL) |
378 size=wx.Size(0, 150), style=wx.VSCROLL) |
372 self.StructureElementsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
379 self.StructureElementsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
373 self.OnStructureElementsGridCellChange) |
380 self.OnStructureElementsGridCellChange) |
374 self.StructureElementsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN, |
381 self.StructureElementsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN, |
375 self.OnStructureElementsGridEditorShown) |
382 self.OnStructureElementsGridEditorShown) |
376 structure_panel_sizer.AddWindow(self.StructureElementsGrid, flag=wx.GROW) |
383 structure_panel_sizer.AddWindow(self.StructureElementsGrid, flag=wx.GROW) |
377 |
384 |
378 self.StructurePanel.SetSizer(structure_panel_sizer) |
385 self.StructurePanel.SetSizer(structure_panel_sizer) |
379 |
386 |
380 self.Editor.SetSizer(self.MainSizer) |
387 self.Editor.SetSizer(self.MainSizer) |