mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
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:
parent
72d73649ff
commit
148644d5ac
2 changed files with 48 additions and 0 deletions
|
@ -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())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue