--- a/dialogs/FBDBlockDialog.py Wed Jun 12 09:36:59 2013 +0200
+++ b/dialogs/FBDBlockDialog.py Wed Jun 12 11:01:27 2013 +0200
@@ -58,21 +58,13 @@
BlockPreviewDialog.__init__(self, parent, controller, tagname,
size=wx.Size(600, 450), title=_('Block Properties'))
- # Create dialog main sizer
- main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=4, vgap=10)
- main_sizer.AddGrowableCol(0)
- main_sizer.AddGrowableRow(0)
-
- # Create a sizer for dividing FBD block parameters in two columns
- column_sizer = wx.BoxSizer(wx.HORIZONTAL)
- main_sizer.AddSizer(column_sizer, border=20,
- flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT)
+ # Init common sizers
+ self._init_sizers(2, 0, 1, 0, 3, 2)
# Create static box around library panel
type_staticbox = wx.StaticBox(self, label=_('Type:'))
left_staticboxsizer = wx.StaticBoxSizer(type_staticbox, wx.VERTICAL)
- column_sizer.AddSizer(left_staticboxsizer, 1, border=5,
- flag=wx.GROW|wx.RIGHT)
+ self.LeftGridSizer.AddSizer(left_staticboxsizer, border=5, flag=wx.GROW)
# Create Library panel and add it to static box
self.LibraryPanel = LibraryPanel(self)
@@ -82,17 +74,10 @@
left_staticboxsizer.AddWindow(self.LibraryPanel, 1, border=5,
flag=wx.GROW|wx.TOP)
- # Create sizer for other block parameters and preview panle
- right_gridsizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=5)
- right_gridsizer.AddGrowableCol(0)
- right_gridsizer.AddGrowableRow(2)
- column_sizer.AddSizer(right_gridsizer, 1, border=5,
- flag=wx.GROW|wx.LEFT)
-
# Create sizer for other block parameters
top_right_gridsizer = wx.FlexGridSizer(cols=2, hgap=0, rows=4, vgap=5)
top_right_gridsizer.AddGrowableCol(1)
- right_gridsizer.AddSizer(top_right_gridsizer, flag=wx.GROW)
+ self.RightGridSizer.AddSizer(top_right_gridsizer, flag=wx.GROW)
# Create label for block name
name_label = wx.StaticText(self, label=_('Name:'))
@@ -140,15 +125,13 @@
top_right_gridsizer.AddWindow(self.ExecutionControl, flag=wx.GROW)
# Add preview panel and associated label to sizers
- right_gridsizer.AddWindow(self.PreviewLabel, flag=wx.GROW)
- right_gridsizer.AddWindow(self.Preview, flag=wx.GROW)
+ self.RightGridSizer.AddWindow(self.PreviewLabel, flag=wx.GROW)
+ self.RightGridSizer.AddWindow(self.Preview, flag=wx.GROW)
# Add buttons sizer to sizers
- main_sizer.AddSizer(self.ButtonSizer, border=20,
+ self.MainSizer.AddSizer(self.ButtonSizer, border=20,
flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT)
- self.SetSizer(main_sizer)
-
# Dictionary containing correspondence between parameter exchanged and
# control to fill with parameter value
self.ParamsControl = {
@@ -169,38 +152,6 @@
self.LibraryPanel.SetBlockList(controller.GetBlockTypes(tagname))
self.LibraryPanel.SetFocus()
- def OnOK(self, event):
- """
- Called when dialog OK button is pressed
- Test if parameters defined are valid
- @param event: wx.Event from OK button
- """
- message = None
-
- # Get block type selected
- selected = self.LibraryPanel.GetSelectedBlock()
-
- # Get block type name and if block is a function block
- block_name = self.BlockName.GetValue()
- name_enabled = self.BlockName.IsEnabled()
-
- # Test that a type has been selected for block
- if selected is None:
- message = _("Form isn't complete. Valid block type must be selected!")
-
- # Test, if block is a function block, that a name have been defined
- elif name_enabled and block_name == "":
- message = _("Form isn't complete. Name must be filled!")
-
- # Show error message if an error is detected
- if message is not None:
- self.ShowErrorMessage(message)
-
- # Test block name validity if necessary
- elif not name_enabled or self.TestElementName(block_name):
- # Call BlockPreviewDialog function
- BlockPreviewDialog.OnOK(self, event)
-
def SetValues(self, values):
"""
Set default block parameters
@@ -256,7 +207,39 @@
name: control.GetValue()
for name, control in self.ParamsControl.iteritems()})
return values
-
+
+ def OnOK(self, event):
+ """
+ Called when dialog OK button is pressed
+ Test if parameters defined are valid
+ @param event: wx.Event from OK button
+ """
+ message = None
+
+ # Get block type selected
+ selected = self.LibraryPanel.GetSelectedBlock()
+
+ # Get block type name and if block is a function block
+ block_name = self.BlockName.GetValue()
+ name_enabled = self.BlockName.IsEnabled()
+
+ # Test that a type has been selected for block
+ if selected is None:
+ message = _("Form isn't complete. Valid block type must be selected!")
+
+ # Test, if block is a function block, that a name have been defined
+ elif name_enabled and block_name == "":
+ message = _("Form isn't complete. Name must be filled!")
+
+ # Show error message if an error is detected
+ if message is not None:
+ self.ShowErrorMessage(message)
+
+ # Test block name validity if necessary
+ elif not name_enabled or self.TestElementName(block_name):
+ # Call BlockPreviewDialog function
+ BlockPreviewDialog.OnOK(self, event)
+
def OnLibraryTreeItemSelected(self, event):
"""
Called when block type selected in library panel