PLCOpenEditor.py
changeset 1330 96b242e4c59d
parent 1312 250c3ae0787c
child 1388 67c9a9482d24
equal deleted inserted replaced
1328:a2f2981df9b0 1330:96b242e4c59d
   180             fileOpen = DecodeFileSystemPath(fileOpen, False)
   180             fileOpen = DecodeFileSystemPath(fileOpen, False)
   181             if os.path.isfile(fileOpen):
   181             if os.path.isfile(fileOpen):
   182                 # Create a new controller
   182                 # Create a new controller
   183                 controler = PLCControler()
   183                 controler = PLCControler()
   184                 result = controler.OpenXMLFile(fileOpen)
   184                 result = controler.OpenXMLFile(fileOpen)
   185                 if result is None:
   185                 self.Controler = controler
   186                     self.Controler = controler
   186                 self.LibraryPanel.SetController(controler)
   187                     self.LibraryPanel.SetController(controler)
   187                 self.ProjectTree.Enable(True)
   188                     self.ProjectTree.Enable(True)
   188                 self.PouInstanceVariablesPanel.SetController(controler)
   189                     self.PouInstanceVariablesPanel.SetController(controler)
   189                 self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   190                     self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
       
   191         
   190         
   192         # Define PLCOpenEditor icon
   191         # Define PLCOpenEditor icon
   193         self.SetIcon(wx.Icon(os.path.join(CWD, "images", "poe.ico"),wx.BITMAP_TYPE_ICO))
   192         self.SetIcon(wx.Icon(os.path.join(CWD, "images", "poe.ico"),wx.BITMAP_TYPE_ICO))
   194 
   193 
   195         self.Bind(wx.EVT_CLOSE, self.OnCloseFrame)
   194         self.Bind(wx.EVT_CLOSE, self.OnCloseFrame)
   196         
   195         
   197         self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
   196         self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
   198         
   197         
   199         if result is not None:
   198         if result is not None:
   200             self.ShowErrorMessage(result)
   199             self.ShowErrorMessage(
       
   200                 _("PLC syntax error at line %d:\n%s") % result)
   201 
   201 
   202     def OnCloseFrame(self, event):
   202     def OnCloseFrame(self, event):
   203         if self.Controler is None or self.CheckSaveBeforeClosing(_("Close Application")):
   203         if self.Controler is None or self.CheckSaveBeforeClosing(_("Close Application")):
   204             self.AUIManager.UnInit()
   204             self.AUIManager.UnInit()
   205             
   205             
   298             filepath = dialog.GetPath()
   298             filepath = dialog.GetPath()
   299             if os.path.isfile(filepath):
   299             if os.path.isfile(filepath):
   300                 self.ResetView()
   300                 self.ResetView()
   301                 controler = PLCControler()
   301                 controler = PLCControler()
   302                 result = controler.OpenXMLFile(filepath)
   302                 result = controler.OpenXMLFile(filepath)
   303                 if result is None:
   303                 self.Controler = controler
   304                     self.Controler = controler
   304                 self.LibraryPanel.SetController(controler)
   305                     self.LibraryPanel.SetController(controler)
   305                 self.ProjectTree.Enable(True)
   306                     self.ProjectTree.Enable(True)
   306                 self.PouInstanceVariablesPanel.SetController(controler)
   307                     self.PouInstanceVariablesPanel.SetController(controler)
   307                 self._Refresh(PROJECTTREE, LIBRARYTREE)
   308                     self._Refresh(PROJECTTREE, LIBRARYTREE)
       
   309             self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
   308             self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
   310         dialog.Destroy()
   309         dialog.Destroy()
   311         
   310         
   312         if result is not None:
   311         if result is not None:
   313             self.ShowErrorMessage(result)
   312             self.ShowErrorMessage(
       
   313                 _("PLC syntax error at line %d:\n%s") % result)
   314     
   314     
   315     def OnCloseProjectMenu(self, event):
   315     def OnCloseProjectMenu(self, event):
   316         if not self.CheckSaveBeforeClosing():
   316         if not self.CheckSaveBeforeClosing():
   317             return
   317             return
   318         self.ResetView()
   318         self.ResetView()