395 "tooltip" : _("Stop Running PLC"), |
395 "tooltip" : _("Stop Running PLC"), |
396 "method" : "_Stop"}, |
396 "method" : "_Stop"}, |
397 {"bitmap" : opjimg("Build"), |
397 {"bitmap" : opjimg("Build"), |
398 "name" : _("Build"), |
398 "name" : _("Build"), |
399 "tooltip" : _("Build project into build folder"), |
399 "tooltip" : _("Build project into build folder"), |
400 "method" : "_build"}, |
400 "method" : "_Build"}, |
401 {"bitmap" : opjimg("Transfer"), |
401 {"bitmap" : opjimg("Transfer"), |
402 "name" : _("Transfer"), |
402 "name" : _("Transfer"), |
403 "shown" : False, |
403 "shown" : False, |
404 "tooltip" : _("Transfer PLC"), |
404 "tooltip" : _("Transfer PLC"), |
405 "method" : "_Transfer"}, |
405 "method" : "_Transfer"}, |
441 self.SimulationBuildPath = os.path.join(tempfile.mkdtemp(), os.path.basename(self.ProjectPath), "build") |
441 self.SimulationBuildPath = os.path.join(tempfile.mkdtemp(), os.path.basename(self.ProjectPath), "build") |
442 return self.SimulationBuildPath |
442 return self.SimulationBuildPath |
443 else: |
443 else: |
444 return PluginsRoot._getBuildPath(self) |
444 return PluginsRoot._getBuildPath(self) |
445 |
445 |
446 def _build(self): |
446 def _Build(self): |
447 save = self.ProjectTestModified() |
447 save = self.ProjectTestModified() |
448 if save: |
448 if save: |
449 self.SaveProject() |
449 self.SaveProject() |
450 self.AppFrame._Refresh(TITLE, FILEMENU) |
450 self.AppFrame._Refresh(TITLE, FILEMENU) |
451 if self.BuildPath is not None: |
451 if self.BuildPath is not None: |
452 mycopytree(self.OrigBuildPath, self.BuildPath) |
452 mycopytree(self.OrigBuildPath, self.BuildPath) |
453 PluginsRoot._build(self) |
453 PluginsRoot._Build(self) |
454 if save: |
454 if save: |
455 wx.CallAfter(self.AppFrame.RefreshAll) |
455 wx.CallAfter(self.AppFrame.RefreshAll) |
456 |
456 |
457 def SetProjectName(self, name): |
457 def SetProjectName(self, name): |
458 return self.Project.setname(name) |
458 return self.Project.setname(name) |
608 simulating = self.CurrentMode == SIMULATION_MODE |
608 simulating = self.CurrentMode == SIMULATION_MODE |
609 for args in { |
609 for args in { |
610 "Started" : [("_Simulate", False), |
610 "Started" : [("_Simulate", False), |
611 ("_Run", False), |
611 ("_Run", False), |
612 ("_Stop", True), |
612 ("_Stop", True), |
613 ("_build", True), |
613 ("_Build", True), |
614 ("_Transfer", True)], |
614 ("_Transfer", True)], |
615 "Stopped" : [("_Simulate", False), |
615 "Stopped" : [("_Simulate", False), |
616 ("_Run", True), |
616 ("_Run", True), |
617 ("_Stop", False), |
617 ("_Stop", False), |
618 ("_build", True), |
618 ("_Build", True), |
619 ("_Transfer", True)], |
619 ("_Transfer", True)], |
620 "Connected" : [("_Simulate", not simulating), |
620 "Connected" : [("_Simulate", not simulating), |
621 ("_Run", True), |
621 ("_Run", True), |
622 ("_Stop", simulating), |
622 ("_Stop", simulating), |
623 ("_build", True), |
623 ("_Build", True), |
624 ("_Transfer", True)], |
624 ("_Transfer", True)], |
625 "Disconnected" :[("_Simulate", not simulating), |
625 "Disconnected" :[("_Simulate", not simulating), |
626 ("_Run", False), |
626 ("_Run", False), |
627 ("_Stop", simulating), |
627 ("_Stop", simulating), |
628 ("_build", True), |
628 ("_Build", True), |
629 ("_Transfer", False)], |
629 ("_Transfer", False)], |
630 }.get(status,[]): |
630 }.get(status,[]): |
631 self.ShowMethod(*args) |
631 self.ShowMethod(*args) |
632 self.previous_plcstate = status |
632 self.previous_plcstate = status |
633 self.previous_mode = self.CurrentMode |
633 self.previous_mode = self.CurrentMode |
800 |
800 |
801 def _Transfer(self): |
801 def _Transfer(self): |
802 if self.CurrentMode is None and self.OnlineMode != "OFF": |
802 if self.CurrentMode is None and self.OnlineMode != "OFF": |
803 self.CurrentMode = TRANSFER_MODE |
803 self.CurrentMode = TRANSFER_MODE |
804 |
804 |
805 PluginsRoot._build(self) |
805 PluginsRoot._Build(self) |
806 |
806 |
807 ID_ABORTTRANSFERTIMER = wx.NewId() |
807 ID_ABORTTRANSFERTIMER = wx.NewId() |
808 self.AbortTransferTimer = wx.Timer(self.AppFrame, ID_ABORTTRANSFERTIMER) |
808 self.AbortTransferTimer = wx.Timer(self.AppFrame, ID_ABORTTRANSFERTIMER) |
809 self.AppFrame.Bind(wx.EVT_TIMER, self.AbortTransfer, self.AbortTransferTimer) |
809 self.AppFrame.Bind(wx.EVT_TIMER, self.AbortTransfer, self.AbortTransferTimer) |
810 |
810 |
1220 self.PluginRoot.ResetAppFrame(self.Log) |
1220 self.PluginRoot.ResetAppFrame(self.Log) |
1221 if frame is not None: |
1221 if frame is not None: |
1222 frame.Hide() |
1222 frame.Hide() |
1223 |
1223 |
1224 def Compile(self): |
1224 def Compile(self): |
1225 self.PluginRoot._build() |
1225 self.PluginRoot._Build() |
1226 |
1226 |
1227 def SetProjectProperties(self, projectname, productname, productversion, companyname): |
1227 def SetProjectProperties(self, projectname, productname, productversion, companyname): |
1228 properties = self.PluginRoot.GetProjectProperties() |
1228 properties = self.PluginRoot.GetProjectProperties() |
1229 new_properties = properties.copy() |
1229 new_properties = properties.copy() |
1230 new_properties["projectName"] = projectname |
1230 new_properties["projectName"] = projectname |