diff -r 8a51046010d7 -r b1ead41fbd3b PLCControler.py --- a/PLCControler.py Thu Oct 18 20:40:12 2012 +0200 +++ b/PLCControler.py Fri Oct 19 18:10:31 2012 +0200 @@ -1461,9 +1461,9 @@ "list": confnodetypes["types"].GetCustomBlockTypes()} for confnodetypes in self.ConfNodeTypes] - def GetConfNodeDataTypes(self, exclude = ""): + def GetConfNodeDataTypes(self, exclude = "", only_locatables = False): return [{"name": _("%s Data Types") % confnodetypes["name"], - "list": [datatype["name"] for datatype in confnodetypes["types"].GetCustomDataTypes(exclude)]} + "list": [datatype["name"] for datatype in confnodetypes["types"].GetCustomDataTypes(exclude, only_locatables)]} for confnodetypes in self.ConfNodeTypes] def GetConfNodeDataType(self, type): @@ -1556,7 +1556,7 @@ return blocktypes # Return Data Types checking for recursion - def GetDataTypes(self, tagname = "", basetypes = True, only_locatables = False, debug = False): + def GetDataTypes(self, tagname = "", basetypes = True, confnodetypes = True, only_locatables = False, debug = False): if basetypes: datatypes = self.GetBaseTypes() else: @@ -1568,8 +1568,9 @@ if words[0] in ["D"]: name = words[1] datatypes.extend([datatype["name"] for datatype in project.GetCustomDataTypes(name, only_locatables)]) - for category in self.GetConfNodeDataTypes(): - datatypes.extend(category["list"]) + if confnodetypes: + for category in self.GetConfNodeDataTypes(name, only_locatables): + datatypes.extend(category["list"]) return datatypes # Return Base Type of given possible derived type