--- a/PLCControler.py Fri Feb 29 11:01:03 2008 +0100
+++ b/PLCControler.py Fri Feb 29 19:16:10 2008 +0100
@@ -36,9 +36,25 @@
duration_model = re.compile("(?:([0-9]{1,2})h)?(?:([0-9]{1,2})m(?!s))?(?:([0-9]{1,2})s)?(?:([0-9]{1,3}(?:.[0-9]*)?)ms)?")
-[ITEM_UNEDITABLE, ITEM_PROJECT, ITEM_POU, ITEM_CLASS, ITEM_VARIABLE,
- ITEM_TRANSITION, ITEM_ACTION, ITEM_CONFIGURATION, ITEM_RESOURCE,
- ITEM_DATATYPE] = range(10)
+ITEMS_EDITABLE = [ITEM_PROJECT,
+ ITEM_POU,
+ ITEM_VARIABLE,
+ ITEM_TRANSITION,
+ ITEM_ACTION,
+ ITEM_CONFIGURATION,
+ ITEM_RESOURCE,
+ ITEM_DATATYPE] = range(8)
+
+ITEMS_UNEDITABLE=[ITEM_DATATYPES,
+ ITEM_FUNCTION,
+ ITEM_FUNCTIONBLOCK,
+ ITEM_PROGRAM,
+ ITEM_TRANSITIONS,
+ ITEM_ACTIONS,
+ ITEM_CONFIGURATIONS,
+ ITEM_RESOURCES,
+ ITEM_PROPERTIES,
+ ]=range(9,18)
ScriptDirectory = os.path.split(os.path.realpath(__file__))[0]
@@ -254,12 +270,12 @@
def GetProjectInfos(self):
if self.Project:
infos = {"name": self.Project.getname(), "type": ITEM_PROJECT}
- datatypes = {"name": "Data Types", "type": ITEM_UNEDITABLE, "values":[]}
+ datatypes = {"name": "Data Types", "type": ITEM_DATATYPES, "values":[]}
for datatype in self.Project.getdataTypes():
datatypes["values"].append({"name": datatype.getname(), "type": ITEM_DATATYPE, "values": []})
- pou_types = {"function": {"name": "Functions", "type": ITEM_UNEDITABLE, "values":[]},
- "functionBlock": {"name": "Function Blocks", "type": ITEM_UNEDITABLE, "values":[]},
- "program": {"name": "Programs", "type": ITEM_UNEDITABLE, "values":[]}}
+ pou_types = {"function": {"name": "Functions", "type": ITEM_FUNCTION, "values":[]},
+ "functionBlock": {"name": "Function Blocks", "type": ITEM_FUNCTIONBLOCK, "values":[]},
+ "program": {"name": "Programs", "type": ITEM_PROGRAM, "values":[]}}
for pou in self.Project.getpous():
pou_type = pou.getpouType()
pou_infos = {"name": pou.getname(), "type": ITEM_POU}
@@ -268,26 +284,26 @@
transitions = []
for transition in pou.gettransitionList():
transitions.append({"name": transition.getname(), "type": ITEM_TRANSITION, "values": []})
- pou_values.append({"name": "Transitions", "type": ITEM_UNEDITABLE, "values": transitions})
+ pou_values.append({"name": "Transitions", "type": ITEM_TRANSITIONS, "values": transitions})
actions = []
for action in pou.getactionList():
actions.append({"name": action.getname(), "type": ITEM_ACTION, "values": []})
- pou_values.append({"name": "Actions", "type": ITEM_UNEDITABLE, "values": actions})
+ pou_values.append({"name": "Actions", "type": ITEM_ACTIONS, "values": actions})
if pou_type in pou_types:
pou_infos["values"] = pou_values
pou_types[pou_type]["values"].append(pou_infos)
- configurations = {"name": "Configurations", "type": ITEM_UNEDITABLE, "values": []}
+ configurations = {"name": "Configurations", "type": ITEM_CONFIGURATIONS, "values": []}
for config in self.Project.getconfigurations():
config_name = config.getname()
config_infos = {"name": config_name, "type": ITEM_CONFIGURATION, "values": []}
- resources = {"name": "Resources", "type": ITEM_UNEDITABLE, "values": []}
+ resources = {"name": "Resources", "type": ITEM_RESOURCES, "values": []}
for resource in config.getresource():
resource_name = resource.getname()
resource_infos = {"name": resource_name, "type": ITEM_RESOURCE, "values": []}
resources["values"].append(resource_infos)
config_infos["values"] = [resources]
configurations["values"].append(config_infos)
- infos["values"] = [{"name": "Properties", "type": ITEM_UNEDITABLE, "values": []},
+ infos["values"] = [{"name": "Properties", "type": ITEM_PROPERTIES, "values": []},
datatypes, pou_types["function"], pou_types["functionBlock"],
pou_types["program"], configurations]
return infos