plugger.py
changeset 109 f27ca37b6e7a
parent 108 280b458e42e5
child 110 a05e8b30c024
equal deleted inserted replaced
108:280b458e42e5 109:f27ca37b6e7a
   529                 pname, ptype = PlugDir.split(NameTypeSeparator)
   529                 pname, ptype = PlugDir.split(NameTypeSeparator)
   530                 #try:
   530                 #try:
   531                 self.PlugAddChild(pname, ptype, logger)
   531                 self.PlugAddChild(pname, ptype, logger)
   532                 #except Exception, e:
   532                 #except Exception, e:
   533                 #    logger.write_error("Could not add child \"%s\", type %s :\n%s\n"%(pname, ptype, str(e)))
   533                 #    logger.write_error("Could not add child \"%s\", type %s :\n%s\n"%(pname, ptype, str(e)))
       
   534 
       
   535     def EnableMethod(self, method, value):
       
   536         for d in self.PluginMethods:
       
   537             if d["method"]==method:
       
   538                 d["enabled"]=value
       
   539                 return True
       
   540         return False
   534 
   541 
   535 def _GetClassFunction(name):
   542 def _GetClassFunction(name):
   536     def GetRootClass():
   543     def GetRootClass():
   537         return getattr(__import__("plugins." + name), name).RootClass
   544         return getattr(__import__("plugins." + name), name).RootClass
   538     return GetRootClass
   545     return GetRootClass
   966         exe_path = os.path.join(buildpath, exe)
   973         exe_path = os.path.join(buildpath, exe)
   967         logger.write("   [CC]  " + ' '.join(obns)+" -> " + exe + "\n")
   974         logger.write("   [CC]  " + ' '.join(obns)+" -> " + exe + "\n")
   968         status, result, err_result = logger.LogCommand("\"%s\" \"%s\" -o \"%s\" %s"%(linker, '" "'.join(objs), exe_path, ' '.join(LDFLAGS+[_LDFLAGS])))
   975         status, result, err_result = logger.LogCommand("\"%s\" \"%s\" -o \"%s\" %s"%(linker, '" "'.join(objs), exe_path, ' '.join(LDFLAGS+[_LDFLAGS])))
   969         if status != 0:
   976         if status != 0:
   970             logger.write_error("Build failed\n")
   977             logger.write_error("Build failed\n")
       
   978             self.EnableMethod("_Run", False)
   971             return False
   979             return False
   972         
   980         
   973         
   981         self.EnableMethod("_Run", True)
   974         return True
   982         return True
   975         
   983         
   976 
   984 
   977     def _showIECcode(self, logger):
   985     def _showIECcode(self, logger):
   978         plc_file = self._getIECcodepath()
   986         plc_file = self._getIECcodepath()
  1058          "name" : "Clean",
  1066          "name" : "Clean",
  1059          "tooltip" : "Clean project build folder",
  1067          "tooltip" : "Clean project build folder",
  1060          "method" : "_Clean"},
  1068          "method" : "_Clean"},
  1061         {"bitmap" : os.path.join("images", "Run"),
  1069         {"bitmap" : os.path.join("images", "Run"),
  1062          "name" : "Run",
  1070          "name" : "Run",
       
  1071          "enabled" : False,
  1063          "tooltip" : "Run PLC from build folder",
  1072          "tooltip" : "Run PLC from build folder",
  1064          "method" : "_Run"},
  1073          "method" : "_Run"},
  1065         {"bitmap" : os.path.join("images", "Stop"),
  1074         {"bitmap" : os.path.join("images", "Stop"),
  1066          "name" : "Stop",
  1075          "name" : "Stop",
       
  1076          "enabled" : False,
  1067          "tooltip" : "Stop Running PLC",
  1077          "tooltip" : "Stop Running PLC",
  1068          "method" : "_Stop"},
  1078          "method" : "_Stop"},
  1069         {"bitmap" : os.path.join("images", "ShowIECcode"),
  1079         {"bitmap" : os.path.join("images", "ShowIECcode"),
  1070          "name" : "Show IEC code",
  1080          "name" : "Show IEC code",
  1071          "tooltip" : "Show IEC code generated by PLCGenerator",
  1081          "tooltip" : "Show IEC code generated by PLCGenerator",