diff -r f7df265edd54 -r d8425712acef TextViewer.py --- 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())