lpcmanager

1d7bf86274cc
Parents 9334ed6090df
Children 85e4c2ce2b71
#2575 why did we need to overload ProjectProperties panel ?
  • +0 -183
    LPCManager.py
  • --- a/LPCManager.py Tue Feb 06 15:27:16 2018 +0100
    +++ b/LPCManager.py Tue Feb 06 15:33:44 2018 +0100
    @@ -107,9 +107,6 @@
    AddBitmapFolder(os.path.join(_lpcmanager_path, "images"))
    -from editors.CodeFileEditor import CodeEditor
    -from controls import ProjectPropertiesPanel
    -from controls.SearchResultPanel import SearchResultPanel
    # from controls.LogViewer import LogViewer
    from VariableExporter import VariableWriter
    from PLCControler import PLCControler, ITEMS_UNEDITABLE, ITEM_POU
    @@ -325,186 +322,6 @@
    ("runtime_%s.py" % location_str, file(runtimefile_path, "rb")))
    PythonFileCTNMixin.CTNGenerate_C = CTNGenerate_C
    -
    -defaultProjectPropertiesPanelInit = ProjectPropertiesPanel.__init__
    -def OurProjectPropertiesPanelInit(self, parent, controller=None, window=None, enable_required=True):
    -
    - REQUIRED_PARAMS = ["projectName", "productName", "productVersion", "companyName"]
    - [TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU, PROJECTTREE,
    - POUINSTANCEVARIABLESPANEL, LIBRARYTREE, SCALING, PAGETITLES
    - ] = range(10)
    -
    - def create_project_panel(self):
    - self.ProjectPanel = ScrolledPanel(self, -1, style=wx.TAB_TRAVERSAL)
    - self.ProjectPanel.SetAutoLayout(1)
    - self.ProjectPanel.SetupScrolling()
    - self.AddPage(self.ProjectPanel, _("Project"))
    -
    - projectpanel_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=5, vgap=15)
    - projectpanel_sizer.AddGrowableCol(1)
    - self.ProjectPanel.SetSizer(projectpanel_sizer)
    -
    - self.AddSizerParams(self.ProjectPanel, projectpanel_sizer,
    - [("projectName", _('Project Name (required):')),
    - ("projectVersion", _('Project Version (optional):')),
    - ("productName", _('Product Name (required):')),
    - ("productVersion", _('Product Version (required):')),
    - ("productRelease", _('Product Release (optional):'))])
    -
    - self.AddPage(self.ProjectPanel, _("Project"))
    -
    - def create_author_panel(self):
    - self.AuthorPanel = ScrolledPanel(self, -1, style=wx.TAB_TRAVERSAL)
    - self.AuthorPanel.SetAutoLayout(1)
    - self.AuthorPanel.SetupScrolling()
    -
    - authorpanel_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=4, vgap=15)
    - authorpanel_sizer.AddGrowableCol(1)
    - self.AuthorPanel.SetSizer(authorpanel_sizer)
    -
    - self.AddSizerParams(self.AuthorPanel, authorpanel_sizer,
    - [("companyName", _('Company Name (required):')),
    - ("companyURL", _('Company URL (optional):')),
    - ("authorName", _('Author Name (optional):')),
    - ("organization", _('Organization (optional):'))])
    -
    - self.AddPage(self.AuthorPanel, _("Author"))
    -
    - def create_graphic_panel(self):
    - self.GraphicsPanel = ScrolledPanel(self, -1, style=wx.TAB_TRAVERSAL)
    - self.GraphicsPanel.SetAutoLayout(1)
    - self.GraphicsPanel.SetupScrolling()
    -
    - graphicpanel_sizer = wx.FlexGridSizer(cols=1, hgap=5, rows=4, vgap=5)
    - graphicpanel_sizer.AddGrowableCol(0)
    - graphicpanel_sizer.AddGrowableRow(3)
    - self.GraphicsPanel.SetSizer(graphicpanel_sizer)
    -
    - pageSize_st = wx.StaticText(self.GraphicsPanel,
    - label=_('Page Size (optional):'))
    - graphicpanel_sizer.AddWindow(pageSize_st, border=10,
    - flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.LEFT | wx.RIGHT)
    -
    - pageSize_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5)
    - pageSize_sizer.AddGrowableCol(1)
    - graphicpanel_sizer.AddSizer(pageSize_sizer, border=10,
    - flag=wx.GROW | wx.LEFT | wx.RIGHT)
    -
    - for name, label in [('PageWidth', _('Width:')), ('PageHeight', _('Height:'))]:
    - st = wx.StaticText(self.GraphicsPanel, label=label)
    - pageSize_sizer.AddWindow(st, border=12,
    - flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT)
    -
    - sp = wx.SpinCtrl(self.GraphicsPanel,
    - min=0, max=2 ** 16, style=wx.TE_PROCESS_ENTER)
    - setattr(self, name, sp)
    - callback = self.GetPageSizeChangedFunction(sp, name)
    - self.Bind(wx.EVT_TEXT_ENTER, callback, sp)
    - sp.Bind(wx.EVT_KILL_FOCUS, callback)
    - pageSize_sizer.AddWindow(sp, flag=wx.GROW)
    -
    - scaling_st = wx.StaticText(self.GraphicsPanel,
    - label=_('Grid Resolution:'))
    - graphicpanel_sizer.AddWindow(scaling_st, border=10,
    - flag=wx.GROW | wx.LEFT | wx.RIGHT)
    -
    - scaling_nb = wx.Notebook(self.GraphicsPanel)
    - graphicpanel_sizer.AddWindow(scaling_nb, border=10,
    - flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
    -
    - self.Scalings = {}
    - for language, translation in [("FBD", _("FBD")), ("LD", _("LD")), ("SFC", _("SFC"))]:
    - scaling_panel = wx.Panel(scaling_nb, style=wx.TAB_TRAVERSAL)
    - scalingpanel_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5)
    - scalingpanel_sizer.AddGrowableCol(1)
    - scaling_panel.SetSizer(scalingpanel_sizer)
    -
    - scaling_controls = []
    - for idx, (name, label) in enumerate([('XScale', _('Horizontal:')),
    - ('YScale', _('Vertical:'))]):
    - if idx == 0:
    - border = wx.TOP
    - else:
    - border = wx.BOTTOM
    -
    - st = wx.StaticText(scaling_panel, label=label)
    - scalingpanel_sizer.AddWindow(st, border=10,
    - flag=wx.ALIGN_CENTER_VERTICAL | border | wx.LEFT)
    -
    - sp = wx.SpinCtrl(scaling_panel,
    - min=0, max=2 ** 16, style=wx.TE_PROCESS_ENTER)
    - scaling_controls.append(sp)
    - callback = self.GetScalingChangedFunction(sp, language, name)
    - self.Bind(wx.EVT_TEXT_ENTER, callback, sp)
    - sp.Bind(wx.EVT_KILL_FOCUS, callback)
    - scalingpanel_sizer.AddWindow(sp, border=10,
    - flag=wx.GROW | border | wx.RIGHT)
    -
    - self.Scalings[language] = scaling_controls
    - scaling_nb.AddPage(scaling_panel, translation)
    -
    - self.AddPage(self.GraphicsPanel, _("Graphics"))
    -
    - def create_miscellaneous_panel(self):
    - self.MiscellaneousPanel = ScrolledPanel(id=-1, parent=self,
    - name='MiscellaneousPanel', pos=wx.Point(0, 0),
    - size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
    - self.MiscellaneousPanel.SetAutoLayout(1)
    - self.MiscellaneousPanel.SetupScrolling()
    -
    - miscellaneouspanel_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=15)
    - miscellaneouspanel_sizer.AddGrowableCol(1)
    - miscellaneouspanel_sizer.AddGrowableRow(1)
    - self.MiscellaneousPanel.SetSizer(miscellaneouspanel_sizer)
    -
    - language_label = wx.StaticText(self.MiscellaneousPanel,
    - label=_('Language (optional):'))
    - miscellaneouspanel_sizer.AddWindow(language_label, border=10,
    - flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.LEFT)
    -
    - self.Language = wx.ComboBox(self.MiscellaneousPanel,
    - style=wx.CB_READONLY)
    - self.Bind(wx.EVT_COMBOBOX, self.OnLanguageChanged, self.Language)
    - miscellaneouspanel_sizer.AddWindow(self.Language, border=10,
    - flag=wx.GROW | wx.TOP | wx.RIGHT)
    -
    - description_label = wx.StaticText(self.MiscellaneousPanel,
    - label=_('Content Description (optional):'))
    - miscellaneouspanel_sizer.AddWindow(description_label, border=10,
    - flag=wx.BOTTOM | wx.LEFT)
    -
    - self.ContentDescription = wx.TextCtrl(self.MiscellaneousPanel,
    - style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER)
    - self.Bind(wx.EVT_TEXT_ENTER, self.OnContentDescriptionChanged,
    - self.ContentDescription)
    - self.ContentDescription.Bind(wx.EVT_KILL_FOCUS,
    - self.OnContentDescriptionChanged)
    - miscellaneouspanel_sizer.AddWindow(self.ContentDescription, border=10,
    - flag=wx.GROW | wx.BOTTOM | wx.RIGHT)
    -
    - self.AddPage(self.MiscellaneousPanel, _("Miscellaneous"))
    -
    - wx.Notebook.__init__(self, parent, size=wx.Size(500, 300))
    -
    - self.Controller = controller
    - self.ParentWindow = window
    - self.Values = None
    -
    - create_project_panel(self)
    -
    - create_author_panel(self)
    -
    - create_graphic_panel(self)
    -
    - create_miscellaneous_panel(self)
    -
    - for param in REQUIRED_PARAMS:
    - getattr(self, param).Enable(enable_required)
    - languages = ["", "en-US", "fr-FR", "zh-CN", "ru-RU"]
    - for language in languages:
    - self.Language.Append(language)
    -ProjectPropertiesPanel.__init__ = OurProjectPropertiesPanelInit
    -
    if __name__ == '__main__':
    lpcmanager = LPCManagerLauncher()