diff -r 919f72861bfb -r e837b67cb184 TextViewer.py --- a/TextViewer.py Fri Dec 19 15:08:54 2008 +0100 +++ b/TextViewer.py Fri Jan 09 17:09:59 2009 +0100 @@ -274,7 +274,7 @@ words = self.TagName.split("::") - self.Variables = dict([(variable["Name"], variable["Tree"]) for variable in self.Controler.GetEditedElementInterfaceVars(self.TagName, self.Debug)]) + self.Variables = self.GenerateVariableTree([(variable["Name"], variable["Type"], variable["Tree"]) for variable in self.Controler.GetEditedElementInterfaceVars(self.TagName, self.Debug)]) if self.Controler.GetEditedElementType(self.TagName, self.Debug)[1] == "function" or words[0] == "T" and self.TextSyntax == "IL": self.Variables[words[-1]] = {} @@ -289,7 +289,15 @@ self.EnumeratedValues.append(value.upper()) self.Colourise(0, -1) - + + def GenerateVariableTree(self, list): + tree = {} + if len(list) == 1 and isinstance(list, ListType): + list = list[0] + for var_name, var_type, var_tree in list: + tree[var_name] = self.GenerateVariableTree(var_tree) + return tree + def RefreshScaling(self, refresh=True): pass