--- 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())