equal
deleted
inserted
replaced
648 for d in self.PluginMethods: |
648 for d in self.PluginMethods: |
649 if d["method"]==method: |
649 if d["method"]==method: |
650 d["shown"]=value |
650 d["shown"]=value |
651 return True |
651 return True |
652 return False |
652 return False |
|
653 |
|
654 def CallMethod(self, method): |
|
655 for d in self.PluginMethods: |
|
656 if d["method"]==method and d.get("enabled", True) and d.get("shown", True): |
|
657 getattr(self, method)() |
653 |
658 |
654 def _GetClassFunction(name): |
659 def _GetClassFunction(name): |
655 def GetRootClass(): |
660 def GetRootClass(): |
656 return getattr(__import__("plugins." + name), name).RootClass |
661 return getattr(__import__("plugins." + name), name).RootClass |
657 return GetRootClass |
662 return GetRootClass |
1383 } |
1388 } |
1384 plc_main_code += targets.targetcode(self.GetTarget().getcontent()["name"]) |
1389 plc_main_code += targets.targetcode(self.GetTarget().getcontent()["name"]) |
1385 return plc_main_code |
1390 return plc_main_code |
1386 |
1391 |
1387 |
1392 |
1388 def _build(self): |
1393 def _Build(self): |
1389 """ |
1394 """ |
1390 Method called by user to (re)build SoftPLC and plugin tree |
1395 Method called by user to (re)build SoftPLC and plugin tree |
1391 """ |
1396 """ |
1392 if self.AppFrame is not None: |
1397 if self.AppFrame is not None: |
1393 self.AppFrame.ClearErrors() |
1398 self.AppFrame.ClearErrors() |
1478 except Exception, exc: |
1483 except Exception, exc: |
1479 self.logger.write_error(_("C Build crashed !\n")) |
1484 self.logger.write_error(_("C Build crashed !\n")) |
1480 self.logger.write_error(traceback.format_exc()) |
1485 self.logger.write_error(traceback.format_exc()) |
1481 return False |
1486 return False |
1482 |
1487 |
|
1488 self.logger.write(_("Successfully built.\n")) |
1483 # Update GUI status about need for transfer |
1489 # Update GUI status about need for transfer |
1484 self.CompareLocalAndRemotePLC() |
1490 self.CompareLocalAndRemotePLC() |
1485 return True |
1491 return True |
1486 |
1492 |
1487 def ShowError(self, logger, from_location, to_location): |
1493 def ShowError(self, logger, from_location, to_location): |
1749 wx.CallAfter(self.logger.write, _("Debugger disabled\n")) |
1755 wx.CallAfter(self.logger.write, _("Debugger disabled\n")) |
1750 |
1756 |
1751 def KillDebugThread(self): |
1757 def KillDebugThread(self): |
1752 self.debug_break = True |
1758 self.debug_break = True |
1753 if self.DebugThread is not None: |
1759 if self.DebugThread is not None: |
1754 self.logger.writeyield(_("Stopping debug ... ")) |
1760 self.logger.writeyield(_("Stopping debugger...\n")) |
1755 self.DebugThread.join(timeout=5) |
1761 self.DebugThread.join(timeout=5) |
1756 if self.DebugThread.isAlive() and self.logger: |
1762 if self.DebugThread.isAlive() and self.logger: |
1757 self.logger.write_warning(_("Debug Thread couldn't be killed")) |
1763 self.logger.write_warning(_("Couldn't stop debugger.\n")) |
1758 else: |
1764 else: |
1759 self.logger.write(_("success\n")) |
1765 self.logger.write(_("Debugger stopped.\n")) |
1760 self.DebugThread = None |
1766 self.DebugThread = None |
1761 |
1767 |
1762 def _connect_debug(self): |
1768 def _connect_debug(self): |
1763 if self.AppFrame: |
1769 if self.AppFrame: |
1764 self.AppFrame.ResetGraphicViewers() |
1770 self.AppFrame.ResetGraphicViewers() |
1944 |
1950 |
1945 PluginMethods = [ |
1951 PluginMethods = [ |
1946 {"bitmap" : opjimg("Build"), |
1952 {"bitmap" : opjimg("Build"), |
1947 "name" : _("Build"), |
1953 "name" : _("Build"), |
1948 "tooltip" : _("Build project into build folder"), |
1954 "tooltip" : _("Build project into build folder"), |
1949 "method" : "_build"}, |
1955 "method" : "_Build"}, |
1950 {"bitmap" : opjimg("Clean"), |
1956 {"bitmap" : opjimg("Clean"), |
1951 "name" : _("Clean"), |
1957 "name" : _("Clean"), |
1952 "enabled" : False, |
1958 "enabled" : False, |
1953 "tooltip" : _("Clean project build folder"), |
1959 "tooltip" : _("Clean project build folder"), |
1954 "method" : "_Clean"}, |
1960 "method" : "_Clean"}, |