--- a/PLCOpenEditor.py Wed May 30 12:20:27 2012 +0200
+++ b/PLCOpenEditor.py Sun Jun 03 23:47:13 2012 +0200
@@ -109,6 +109,7 @@
from PLCControler import *
from SearchResultPanel import SearchResultPanel
from controls import CustomGrid, CustomTable, CustomTree, LibraryPanel, PouInstanceVariablesPanel
+from dialogs import ProjectDialog
# Define PLCOpenEditor controls id
[ID_PLCOPENEDITOR, ID_PLCOPENEDITORLEFTNOTEBOOK,
@@ -1798,11 +1799,12 @@
item_infos = self.ProjectTree.GetPyData(selected)
if item_infos["type"] == ITEM_PROJECT:
self.EditProjectSettings()
- elif item_infos["type"] in [ITEM_DATATYPE, ITEM_POU,
+ else:
+ if item_infos["type"] in [ITEM_DATATYPE, ITEM_POU,
ITEM_CONFIGURATION, ITEM_RESOURCE,
ITEM_TRANSITION, ITEM_ACTION]:
- self.EditProjectElement(item_infos["type"], item_infos["tagname"])
- event.Skip()
+ self.EditProjectElement(item_infos["type"], item_infos["tagname"])
+ event.Skip()
def ProjectTreeItemSelect(self, select_item):
name = self.ProjectTree.GetItemText(select_item)
@@ -2885,453 +2887,6 @@
dialog.Destroy()
#-------------------------------------------------------------------------------
-# Create Project Dialog
-#-------------------------------------------------------------------------------
-
-[ID_SCALINGPANEL, ID_SCALINGPANELXSCALE,
- ID_SCALINGPANELYSCALE, ID_SCALINGPANELSTATICTEXT1,
- ID_SCALINGPANELSTATICTEXT2,
-] = [wx.NewId() for _init_ctrls in range(5)]
-
-class ScalingPanel(wx.Panel):
-
- def _init_coll_ScalingPanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText1, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT)
- parent.AddWindow(self.XScale, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT)
- parent.AddWindow(self.staticText2, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT)
- parent.AddWindow(self.YScale, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT)
-
- def _init_coll_ScalingPanelSizer_Growables(self, parent):
- parent.AddGrowableCol(1)
-
- def _init_sizers(self):
- self.ScalingPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5)
-
- self._init_coll_ScalingPanelSizer_Items(self.ScalingPanelSizer)
- self._init_coll_ScalingPanelSizer_Growables(self.ScalingPanelSizer)
-
- self.SetSizer(self.ScalingPanelSizer)
-
- def _init_ctrls(self, prnt):
- wx.Panel.__init__(self, id=ID_SCALINGPANEL,
- name='ScalingPanel', parent=prnt, pos=wx.Point(0, 0),
- size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
-
- self.staticText1 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT1,
- label=_('Horizontal:'), name='staticText1', parent=self,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.XScale = wx.SpinCtrl(id=ID_SCALINGPANELXSCALE,
- name='XScale', parent=self, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0, min=0, max=2**16)
-
- self.staticText2 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT2,
- label=_('Vertical:'), name='staticText2', parent=self,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.YScale = wx.SpinCtrl(id=ID_SCALINGPANELYSCALE,
- name='YScale', parent=self, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0, min=0, max=2**16)
-
- self._init_sizers()
-
- def __init__(self, parent):
- self._init_ctrls(parent)
-
- def SetScaling(self, x, y):
- self.XScale.SetValue(x)
- self.YScale.SetValue(y)
-
- def GetScaling(self):
- return self.XScale.GetValue(), self.YScale.GetValue()
-
-[ID_PROJECTDIALOG, ID_PROJECTDIALOGMAINNOTEBOOK,
- ID_PROJECTDIALOGPROJECTPANEL, ID_PROJECTDIALOGAUTHORPANEL,
- ID_PROJECTDIALOGGRAPHICSPANEL, ID_PROJECTDIALOGMISCELLANEOUSPANEL,
- ID_PROJECTDIALOGPROJECTNAME, ID_PROJECTDIALOGPROJECTVERSION,
- ID_PROJECTDIALOGPRODUCTNAME, ID_PROJECTDIALOGPRODUCTVERSION,
- ID_PROJECTDIALOGPRODUCTRELEASE, ID_PROJECTDIALOGCOMPANYNAME,
- ID_PROJECTDIALOGCOMPANYURL, ID_PROJECTDIALOGAUTHORNAME,
- ID_PROJECTDIALOGORGANIZATION, ID_PROJECTDIALOGLANGUAGE,
- ID_PROJECTDIALOGCONTENTDESCRIPTION, ID_PROJECTDIALOGSCALINGNOTEBOOK,
- ID_PROJECTDIALOGPAGEWIDTH, ID_PROJECTDIALOGPAGEHEIGHT,
- ID_PROJECTDIALOGSTATICTEXT1, ID_PROJECTDIALOGSTATICTEXT2,
- ID_PROJECTDIALOGSTATICTEXT3, ID_PROJECTDIALOGSTATICTEXT4,
- ID_PROJECTDIALOGSTATICTEXT5, ID_PROJECTDIALOGSTATICTEXT6,
- ID_PROJECTDIALOGSTATICTEXT7, ID_PROJECTDIALOGSTATICTEXT8,
- ID_PROJECTDIALOGSTATICTEXT9, ID_PROJECTDIALOGSTATICTEXT10,
- ID_PROJECTDIALOGSTATICTEXT11, ID_PROJECTDIALOGSTATICTEXT12,
- ID_PROJECTDIALOGSTATICTEXT13, ID_PROJECTDIALOGSTATICTEXT14,
- ID_PROJECTDIALOGSTATICTEXT15,
-] = [wx.NewId() for _init_ctrls in range(35)]
-
-class ProjectDialog(wx.Dialog):
- if wx.VERSION < (2, 6, 0):
- def Bind(self, event, function, id = None):
- if id is not None:
- event(self, id, function)
- else:
- event(self, function)
-
- def _init_coll_flexGridSizer1_Items(self, parent):
- parent.AddSizer(self.MainNotebook, 0, border=0, flag=wx.GROW)
- parent.AddSizer(self.ButtonSizer, 0, border=20, flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT)
-
- def _init_coll_flexGridSizer1_Growables(self, parent):
- parent.AddGrowableCol(0)
- parent.AddGrowableRow(0)
-
- def _init_coll_ProjectPanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText1, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT)
- parent.AddWindow(self.ProjectName, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT)
- parent.AddWindow(self.staticText2, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.ProjectVersion, 0, border=10, flag=wx.GROW|wx.RIGHT)
- parent.AddWindow(self.staticText3, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.ProductName, 0, border=10, flag=wx.GROW|wx.RIGHT)
- parent.AddWindow(self.staticText4, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.ProductVersion, 0, border=10, flag=wx.GROW|wx.RIGHT)
- parent.AddWindow(self.staticText5, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT)
- parent.AddWindow(self.ProductRelease, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT)
-
- def _init_coll_ProjectPanelSizer_Growables(self, parent):
- parent.AddGrowableCol(1)
-
- def _init_coll_AuthorPanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText6, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT)
- parent.AddWindow(self.CompanyName, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT)
- parent.AddWindow(self.staticText7, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.CompanyURL, 0, border=10, flag=wx.GROW|wx.RIGHT)
- parent.AddWindow(self.staticText8, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.AuthorName, 0, border=10, flag=wx.GROW|wx.RIGHT)
- parent.AddWindow(self.staticText9, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT)
- parent.AddWindow(self.Organization, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT)
-
- def _init_coll_AuthorPanelSizer_Growables(self, parent):
- parent.AddGrowableCol(1)
-
- def _init_coll_GraphicsPanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText12, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT|wx.RIGHT)
- parent.AddSizer(self.GraphicsPageSizeSizer, 0, border=10, flag=wx.GROW|wx.LEFT|wx.RIGHT)
- parent.AddWindow(self.staticText15, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT|wx.RIGHT)
- parent.AddWindow(self.ScalingNotebook, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.LEFT|wx.RIGHT)
-
- def _init_coll_GraphicsPanelSizer_Growables(self, parent):
- parent.AddGrowableCol(0)
- parent.AddGrowableRow(3)
-
- def _init_coll_GraphicsPageSizeSizer_Items(self, parent):
- parent.AddWindow(self.staticText13, 0, border=12, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.PageWidth, 0, border=0, flag=wx.GROW)
- parent.AddWindow(self.staticText14, 0, border=12, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT)
- parent.AddWindow(self.PageHeight, 0, border=0, flag=wx.GROW)
-
- def _init_coll_GraphicsPageSizeSizer_Growables(self, parent):
- parent.AddGrowableCol(1)
-
- def _init_coll_MiscellaneousPanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText10, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT)
- parent.AddWindow(self.Language, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT)
- parent.AddWindow(self.staticText11, 0, border=10, flag=wx.BOTTOM|wx.LEFT)
- parent.AddWindow(self.ContentDescription, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT)
-
- def _init_coll_MiscellaneousPanelSizer_Growables(self, parent):
- parent.AddGrowableCol(1)
- parent.AddGrowableRow(1)
-
- def _init_sizers(self):
- self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10)
- self.ProjectPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=5, vgap=15)
- self.AuthorPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=4, vgap=15)
- self.GraphicsPanelSizer = wx.FlexGridSizer(cols=1, hgap=5, rows=4, vgap=5)
- self.GraphicsPageSizeSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5)
- self.MiscellaneousPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=15)
-
- self._init_coll_flexGridSizer1_Items(self.flexGridSizer1)
- self._init_coll_flexGridSizer1_Growables(self.flexGridSizer1)
- self._init_coll_ProjectPanelSizer_Items(self.ProjectPanelSizer)
- self._init_coll_ProjectPanelSizer_Growables(self.ProjectPanelSizer)
- self._init_coll_AuthorPanelSizer_Items(self.AuthorPanelSizer)
- self._init_coll_AuthorPanelSizer_Growables(self.AuthorPanelSizer)
- self._init_coll_GraphicsPanelSizer_Items(self.GraphicsPanelSizer)
- self._init_coll_GraphicsPanelSizer_Growables(self.GraphicsPanelSizer)
- self._init_coll_GraphicsPageSizeSizer_Items(self.GraphicsPageSizeSizer)
- self._init_coll_GraphicsPageSizeSizer_Growables(self.GraphicsPageSizeSizer)
- self._init_coll_MiscellaneousPanelSizer_Items(self.MiscellaneousPanelSizer)
- self._init_coll_MiscellaneousPanelSizer_Growables(self.MiscellaneousPanelSizer)
-
- self.SetSizer(self.flexGridSizer1)
- self.ProjectPanel.SetSizer(self.ProjectPanelSizer)
- self.AuthorPanel.SetSizer(self.AuthorPanelSizer)
- self.GraphicsPanel.SetSizer(self.GraphicsPanelSizer)
- self.MiscellaneousPanel.SetSizer(self.MiscellaneousPanelSizer)
-
- def _init_ctrls(self, prnt):
- wx.Dialog.__init__(self, id=ID_PROJECTDIALOG,
- name='ProjectDialog', parent=prnt,
- size=wx.Size(500, 350), style=wx.DEFAULT_DIALOG_STYLE,
- title=_('Project properties'))
- self.SetClientSize(wx.Size(500, 350))
-
- self.MainNotebook = wx.Notebook(id=ID_PROJECTDIALOGMAINNOTEBOOK,
- name='MainNotebook', parent=self, pos=wx.Point(0,
- 0), size=wx.Size(0, 0), style=0)
-
- # Project Panel elements
-
- self.ProjectPanel = wx.Panel(id=ID_PROJECTDIALOGPROJECTPANEL,
- name='ProjectPanel', parent=self.MainNotebook, pos=wx.Point(0, 0),
- size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
-
- self.staticText1 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT1,
- label=_('Project Name (required):'), name='staticText1', parent=self.ProjectPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ProjectName = wx.TextCtrl(id=ID_PROJECTDIALOGPROJECTNAME,
- name='ProjectName', parent=self.ProjectPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText2 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT2,
- label=_('Project Version (optional):'), name='staticText2', parent=self.ProjectPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ProjectVersion = wx.TextCtrl(id=ID_PROJECTDIALOGPROJECTVERSION,
- name='ProjectVersion', parent=self.ProjectPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText3 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT3,
- label=_('Product Name (required):'), name='staticText3', parent=self.ProjectPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ProductName = wx.TextCtrl(id=ID_PROJECTDIALOGPRODUCTNAME,
- name='ProductName', parent=self.ProjectPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText4 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT4,
- label=_('Product Version (required):'), name='staticText4', parent=self.ProjectPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ProductVersion = wx.TextCtrl(id=ID_PROJECTDIALOGPRODUCTVERSION,
- name='ProductVersion', parent=self.ProjectPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText5 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT5,
- label=_('Product Release (optional):'), name='staticText5', parent=self.ProjectPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ProductRelease = wx.TextCtrl(id=ID_PROJECTDIALOGPRODUCTRELEASE,
- name='ProductRelease', parent=self.ProjectPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.MainNotebook.AddPage(self.ProjectPanel, _("Project"))
-
- # Author Panel elements
-
- self.AuthorPanel = wx.Panel(id=ID_PROJECTDIALOGAUTHORPANEL,
- name='AuthorPanel', parent=self.MainNotebook, pos=wx.Point(0, 0),
- size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
-
- self.staticText6 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT6,
- label=_('Company Name (required):'), name='staticText6', parent=self.AuthorPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.CompanyName = wx.TextCtrl(id=ID_PROJECTDIALOGCOMPANYNAME,
- name='CompanyName', parent=self.AuthorPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText7 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT7,
- label=_('Company URL (optional):'), name='staticText7', parent=self.AuthorPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.CompanyURL = wx.TextCtrl(id=ID_PROJECTDIALOGCOMPANYURL,
- name='CompanyURL', parent=self.AuthorPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText8 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT8,
- label=_('Author Name (optional):'), name='staticText8', parent=self.AuthorPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.AuthorName = wx.TextCtrl(id=ID_PROJECTDIALOGAUTHORNAME,
- name='AuthorName', parent=self.AuthorPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.staticText9 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT9,
- label=_('Organization (optional):'), name='staticText9', parent=self.AuthorPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.Organization = wx.TextCtrl(id=ID_PROJECTDIALOGORGANIZATION,
- name='Organization', parent=self.AuthorPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0)
-
- self.MainNotebook.AddPage(self.AuthorPanel, _("Author"))
-
- # Graphics Panel elements
-
- self.GraphicsPanel = wx.Panel(id=ID_PROJECTDIALOGGRAPHICSPANEL,
- name='GraphicsPanel', parent=self.MainNotebook, pos=wx.Point(0, 0),
- size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
-
- self.staticText12 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT12,
- label=_('Page Size (optional):'), name='staticText12', parent=self.GraphicsPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.staticText13 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT13,
- label=_('Width:'), name='staticText13', parent=self.GraphicsPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.PageWidth = wx.SpinCtrl(id=ID_PROJECTDIALOGPAGEWIDTH,
- name='PageWidth', parent=self.GraphicsPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0, min=0, max=2**16)
-
- self.staticText14 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT14,
- label=_('Height:'), name='staticText14', parent=self.GraphicsPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.PageHeight = wx.SpinCtrl(id=ID_PROJECTDIALOGPAGEHEIGHT,
- name='PageHeight', parent=self.GraphicsPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=0, min=0, max=2**16)
-
- self.staticText15 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT15,
- label=_('Grid Resolution:'), name='staticText15', parent=self.GraphicsPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ScalingNotebook = wx.Notebook(id=ID_PROJECTDIALOGSCALINGNOTEBOOK,
- name='ScalingNotebook', parent=self.GraphicsPanel, pos=wx.Point(0,
- 0), size=wx.Size(0, 0), style=0)
-
- self.Scalings = {}
- for language, translation in [("FBD",_("FBD")), ("LD",_("LD")), ("SFC",_("SFC"))]:
- window = ScalingPanel(self.ScalingNotebook)
- self.Scalings[language] = window
- self.ScalingNotebook.AddPage(window, translation)
-
- self.MainNotebook.AddPage(self.GraphicsPanel, _("Graphics"))
-
- # Miscellaneous Panel elements
-
- self.MiscellaneousPanel = wx.Panel(id=ID_PROJECTDIALOGMISCELLANEOUSPANEL,
- name='MiscellaneousPanel', parent=self.MainNotebook, pos=wx.Point(0, 0),
- size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
-
- self.staticText10 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT10,
- label=_('Language (optional):'), name='staticText10', parent=self.MiscellaneousPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.Language = wx.ComboBox(id=ID_PROJECTDIALOGLANGUAGE,
- name='Language', parent=self.MiscellaneousPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 28), style=wx.CB_READONLY)
-
- self.staticText11 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT11,
- label=_('Content Description (optional):'), name='staticText11', parent=self.MiscellaneousPanel,
- pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
-
- self.ContentDescription = wx.TextCtrl(id=ID_PROJECTDIALOGCONTENTDESCRIPTION,
- name='ContentDescription', parent=self.MiscellaneousPanel, pos=wx.Point(0, 0),
- size=wx.Size(0, 24), style=wx.TE_MULTILINE)
-
- self.MainNotebook.AddPage(self.MiscellaneousPanel, _("Miscellaneous"))
-
- self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE)
- self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetAffirmativeButton().GetId())
-
- self._init_sizers()
-
- def __init__(self, parent, enable_required=True):
- self._init_ctrls(parent)
-
- self.ProjectName.Enable(enable_required)
- self.ProductName.Enable(enable_required)
- self.ProductVersion.Enable(enable_required)
- self.CompanyName.Enable(enable_required)
-
- languages = ["", "en-US", "fr-FR", "zh-CN"]
-
- for language in languages:
- self.Language.Append(language)
-
- def OnOK(self, event):
- error = []
- if self.ProjectName.GetValue() == "":
- error.append("Project Name")
- if self.CompanyName.GetValue() == "":
- error.append("Company Name")
- if self.ProductName.GetValue() == "":
- error.append("Product Name")
- if self.ProductVersion.GetValue() == "":
- error.append("Product Version")
- if len(error) > 0:
- text = ""
- for i, item in enumerate(error):
- if i == 0:
- text += item
- elif i == len(error) - 1:
- text += " and %s"%item
- else:
- text += ", %s"%item
- message = wx.MessageDialog(self, _("Form isn't complete. %s must be filled!")%text, _("Error"), wx.OK|wx.ICON_ERROR)
- message.ShowModal()
- message.Destroy()
- else:
- self.EndModal(wx.ID_OK)
-
- def SetValues(self, values):
- for item, value in values.items():
- if item == "projectName":
- self.ProjectName.SetValue(value)
- elif item == "projectVersion":
- self.ProjectVersion.SetValue(value)
- elif item == "productName":
- self.ProductName.SetValue(value)
- elif item == "productVersion":
- self.ProductVersion.SetValue(value)
- elif item == "productRelease":
- self.ProductRelease.SetValue(value)
- elif item == "companyName":
- self.CompanyName.SetValue(value)
- elif item == "companyURL":
- self.CompanyURL.SetValue(value)
- elif item == "authorName":
- self.AuthorName.SetValue(value)
- elif item == "organization":
- self.Organization.SetValue(value)
- elif item == "language":
- self.Language.SetStringSelection(value)
- elif item == "contentDescription":
- self.ContentDescription.SetValue(value)
- elif item == "pageSize":
- self.PageWidth.SetValue(value[0])
- self.PageHeight.SetValue(value[1])
- elif item == "scaling":
- for language, (x, y) in value.items():
- if language in self.Scalings:
- self.Scalings[language].SetScaling(x, y)
-
- def GetValues(self):
- values = {}
- values["projectName"] = self.ProjectName.GetValue()
- if self.ProjectVersion.GetValue() != "":
- values["projectVersion"] = self.ProjectVersion.GetValue()
- values["productName"] = self.ProductName.GetValue()
- values["productVersion"] = self.ProductVersion.GetValue()
- if self.ProductRelease.GetValue() != "":
- values["productRelease"] = self.ProductRelease.GetValue()
- values["companyName"] = self.CompanyName.GetValue()
- if self.CompanyURL.GetValue() != "":
- values["companyURL"] = self.CompanyURL.GetValue()
- if self.AuthorName.GetValue() != "":
- values["authorName"] = self.AuthorName.GetValue()
- if self.Organization.GetValue() != "":
- values["organization"] = self.Organization.GetValue()
- if self.Language.GetStringSelection() != "":
- values["language"] = self.Language.GetStringSelection()
- if self.ProductRelease.GetValue() != "":
- values["contentDescription"] = self.ContentDescription.GetValue()
- values["pageSize"] = (self.PageWidth.GetValue(), self.PageHeight.GetValue())
- values["scaling"] = {}
- for language in ["FBD", "LD", "SFC"]:
- values["scaling"][language] = self.Scalings[language].GetScaling()
- return values
-
-#-------------------------------------------------------------------------------
# Edit Step Name Dialog
#-------------------------------------------------------------------------------