PLCOpenEditor.py
changeset 307 fd1f6ae26d4f
parent 304 2df3d31d8059
child 309 aef88ffa5fbc
equal deleted inserted replaced
306:eecc53781498 307:fd1f6ae26d4f
   881 
   881 
   882     def OnGenerateProgramMenu(self, event):
   882     def OnGenerateProgramMenu(self, event):
   883         dialog = wx.FileDialog(self, "Choose a file", os.getcwd(), self.Controler.GetProgramFilePath(),  "ST files (*.st)|*.st|All files|*.*", wx.SAVE|wx.CHANGE_DIR)
   883         dialog = wx.FileDialog(self, "Choose a file", os.getcwd(), self.Controler.GetProgramFilePath(),  "ST files (*.st)|*.st|All files|*.*", wx.SAVE|wx.CHANGE_DIR)
   884         if dialog.ShowModal() == wx.ID_OK:
   884         if dialog.ShowModal() == wx.ID_OK:
   885             filepath = dialog.GetPath()
   885             filepath = dialog.GetPath()
       
   886             message_text = ""
       
   887             header, icon = "Done", wx.ICON_INFORMATION
   886             if os.path.isdir(os.path.dirname(filepath)):
   888             if os.path.isdir(os.path.dirname(filepath)):
   887                 result = self.Controler.GenerateProgram(filepath)
   889                 program, errors, warnings = self.Controler.GenerateProgram(filepath)
   888                 if result is not None:
   890                 message_text += "".join(["warning: %s\n" for warning in warnings])
   889                     message = wx.MessageDialog(self, "Can't generate program to file %s :\n%s"%(filepath, result), "Error", wx.OK|wx.ICON_ERROR)
   891                 if len(errors) > 0:
   890                     message.ShowModal()
   892                     message_text += "".join(["error: %s\n" for warning in warnings])
   891                     message.Destroy()
   893                     message_text += "Can't generate program to file %s!"%filepath
       
   894                     header, icon = "Error", wx.ICON_ERROR
   892                 else:
   895                 else:
   893                     message = wx.MessageDialog(self, "Program was successfully generated!", "Done", wx.OK|wx.ICON_INFORMATION)
   896                     message_text += "Program was successfully generated!"
   894                     message.ShowModal()
       
   895                     message.Destroy()
       
   896             else:
   897             else:
   897                 message = wx.MessageDialog(self, "%s is not a valid folder!"%os.path.dirname(filepath), "Error", wx.OK|wx.ICON_ERROR)
   898                 message_text += "%s is not a valid folder!"%os.path.dirname(filepath)
   898                 message.ShowModal()
   899                 header, icon = "Error", wx.ICON_ERROR
   899                 message.Destroy()
   900             message = wx.MessageDialog(self, message_text, header, wx.OK|icon)
       
   901             message.ShowModal()
       
   902             message.Destroy()
   900         dialog.Destroy()
   903         dialog.Destroy()
   901         event.Skip()
   904         event.Skip()
   902 
   905 
   903     def SaveProject(self):
   906     def SaveProject(self):
   904         result = self.Controler.SaveXMLFile()
   907         result = self.Controler.SaveXMLFile()