WDB enhancement: Click once on a line with a class instance in the

local or global variables list and you get a window with the instance
variable of the class instance.  This list is of course automatically
kept up to date.
This commit is contained in:
Sjoerd Mullender 1993-10-01 14:29:45 +00:00
parent 72d73649ff
commit 148644d5ac
2 changed files with 48 additions and 0 deletions

View file

@ -61,6 +61,30 @@ class FrameWindow(basewin.BaseWindow):
dummy = self.editor.event(WE_COMMAND, \
self.win, detail)
def mouse_down(self, detail):
(h, v), clicks, button, mask = detail
i = v / stdwin.lineheight()
if 5 <= i < len(self.displaylist):
import string
name = string.splitfields(self.displaylist[i],' = ')[0]
if not self.dict.has_key(name):
stdwin.fleep()
return
value = self.dict[name]
if not hasattr(value, '__dict__'):
stdwin.fleep()
return
name = 'instance ' + `value`
if self.debugger.framewindows.has_key(name):
self.debugger.framewindows[name].popup()
else:
self.debugger.framewindows[name] = \
FrameWindow().init(self.debugger,
self.frame, value.__dict__,
name)
return
stdwin.fleep()
def re_eval(self):
import string, repr
expr = string.strip(self.editor.gettext())