diff -r 99d77995b4ea -r d3e6484ebe85 PLCControler.py --- 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