]> granicus.if.org Git - python/commitdiff
Rename classes to StackViewer (the widget) and StackBrowser (the toplevel).
authorGuido van Rossum <guido@python.org>
Fri, 16 Oct 1998 16:10:45 +0000 (16:10 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 16 Oct 1998 16:10:45 +0000 (16:10 +0000)
Tools/idle/StackViewer.py

index f3c6fec3b8379dc2dd9f04efd97be6719d2557e4..878d5fc15dfe705f0b5e48b13d297e1012d74885 100644 (file)
@@ -8,9 +8,9 @@ from repr import Repr
 from ScrolledList import ScrolledList
 
 
-class StackViewer:
+class StackBrowser:
     
-    def __init__(self, root, flist):
+    def __init__(self, root, flist, stack=None):
         self.top = top = Toplevel(root)
         top.protocol("WM_DELETE_WINDOW", self.close)
         top.wm_title("Stack viewer")
@@ -20,8 +20,10 @@ class StackViewer:
             borderwidth=2, relief="groove")
         self.helplabel.pack(fill="x")
         #
-        self.sv = StackViewer1(top, flist, self)
-        self.sv.load_stack(get_stack())
+        self.sv = StackViewer(top, flist, self)
+        if stack is None:
+            stack = get_stack()
+        self.sv.load_stack(stack)
     
     def close(self):
         self.top.destroy()
@@ -89,14 +91,14 @@ class StackViewer:
                 self.localsframe.forget()
 
 
-class StackViewer1(ScrolledList):
+class StackViewer(ScrolledList):
     
     def __init__(self, master, flist, browser):
         ScrolledList.__init__(self, master)
         self.flist = flist
         self.browser = browser
 
-    def load_stack(self, stack):
+    def load_stack(self, stack, index=None):
         self.stack = stack
         self.clear()
 ##        if len(stack) > 10:
@@ -121,6 +123,8 @@ class StackViewer1(ScrolledList):
                 item = "%s.%s(), line %d: %s" % (modname, funcname,
                                                  lineno, sourceline)
             self.append(item)
+        if index is not None:
+            self.select(index)
 
     def fill_menu(self):
         menu = self.menu