PLCControler.py
changeset 184 d3e6484ebe85
parent 173 3f99b76ecfe7
child 188 d64037e17075
--- 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