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", |