TextViewer.py
changeset 249 d8425712acef
parent 235 7b58a3b5b6ec
child 295 c6ef6d92ce16
--- a/TextViewer.py	Fri Sep 05 18:12:23 2008 +0200
+++ b/TextViewer.py	Fri Sep 05 18:13:18 2008 +0200
@@ -99,7 +99,7 @@
             else:
                 event(self, function)
     
-    def __init__(self, parent, tagname, window, controler):
+    def __init__(self, parent, tagname, window, controler, debug = False, instancepath = ""):
         wx.stc.StyledTextCtrl.__init__(self, parent, ID_TEXTVIEWER, size=wx.Size(0, 0), style=0)
         
         self.CmdKeyAssign(ord('+'), wx.stc.STC_SCMOD_CTRL, wx.stc.STC_CMD_ZOOMIN)
@@ -150,6 +150,8 @@
         self.CurrentAction = None
         self.TagName = tagname
         self.Errors = []
+        self.Debug = debug
+        self.InstancePath = instancepath
         
         self.ParentWindow = window
         self.Controler = controler
@@ -169,8 +171,14 @@
     def GetTagName(self):
         return self.TagName
     
+    def GetInstancePath(self):
+        return self.InstancePath
+    
     def IsViewing(self, tagname):
-        return self.TagName == tagname
+        if self.Debug:
+            return self.InstancePath == tagname
+        else:
+            return self.TagName == tagname
     
     def SetMode(self, mode):
         pass
@@ -201,7 +209,7 @@
         except:
             values = event.GetDragText()
         if isinstance(values, tuple):
-            if values[1] in ["functionBlock", "program", "location"]:
+            if values[1] in ["functionBlock", "program", "location", "debug"]:
                 event.SetDragText("")
             elif values[1] == "function":
                 event.SetDragText(values[0])
@@ -251,7 +259,7 @@
         self.DisableEvents = True
         old_cursor_pos = self.GetCurrentPos()
         old_text = self.GetText()
-        new_text = self.Controler.GetEditedElementText(self.TagName)
+        new_text = self.Controler.GetEditedElementText(self.TagName, self.Debug)
         self.SetText(new_text)
         new_cursor_pos = GetCursorPos(old_text, new_text)
         if new_cursor_pos != None:
@@ -264,12 +272,12 @@
         self.DisableEvents = False
         
         words = self.TagName.split("::")
-        self.Variables = [variable["Name"].upper() for variable in self.Controler.GetEditedElementInterfaceVars(self.TagName)]
-        if self.Controler.GetEditedElementType(self.TagName)[1] == "function" or words[0] == "T" and self.TextSyntax == "IL":
+        self.Variables = [variable["Name"].upper() 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.append(words[-1].upper())
         
         self.Functions = []
-        for category in self.Controler.GetBlockTypes(self.TagName):
+        for category in self.Controler.GetBlockTypes(self.TagName, self.Debug):
             for blocktype in category["list"]:
                 if blocktype["type"] == "function" and blocktype["name"] not in self.Keywords and blocktype["name"] not in self.Variables:
                     self.Functions.append(blocktype["name"].upper())