TextViewer.py
changeset 297 e837b67cb184
parent 295 c6ef6d92ce16
child 299 15669fe26e56
--- 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