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.
diff --git a/Lib/lib-stdwin/wdbframewin.py b/Lib/lib-stdwin/wdbframewin.py
index 9e21365..3a7f6fe 100644
--- a/Lib/lib-stdwin/wdbframewin.py
+++ b/Lib/lib-stdwin/wdbframewin.py
@@ -61,6 +61,30 @@
 			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())
diff --git a/Lib/stdwin/wdbframewin.py b/Lib/stdwin/wdbframewin.py
index 9e21365..3a7f6fe 100755
--- a/Lib/stdwin/wdbframewin.py
+++ b/Lib/stdwin/wdbframewin.py
@@ -61,6 +61,30 @@
 			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())