From 8571ed86479c03a67a6bae44e8115379c792b41c Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 10 Oct 1998 19:15:32 +0000 Subject: [PATCH] Add a label at the top showing (very basic) help for the stack viewer. Add a label at the bottom showing the exception info. --- Tools/idle/StackViewer.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Tools/idle/StackViewer.py b/Tools/idle/StackViewer.py index a59668afc9a..dbfc4b01271 100644 --- a/Tools/idle/StackViewer.py +++ b/Tools/idle/StackViewer.py @@ -21,6 +21,11 @@ class StackViewer: self.root = root self.top = top top.wm_title("Stack viewer") + # Create help label + self.helplabel = Label(top, + text="Click once to view variables; twice for source", + borderwidth=2, relief="groove") + self.helplabel.pack(fill="x") # Create top frame, with scrollbar and listbox self.topframe = Frame(top) self.topframe.pack(fill="both", expand=1) @@ -38,10 +43,14 @@ class StackViewer: self.listbox.bind("", self.popup_event) self.listbox.bind("", self.up_event) self.listbox.bind("", self.down_event) + # Create status label + self.statuslabel = Label(top, text="status") + self.statuslabel.pack(fill="x") # Load the stack linecache.checkcache() stack = getstack() self.load_stack(stack) + self.statuslabel.config(text=getexception()) def load_stack(self, stack): self.stack = stack @@ -232,6 +241,18 @@ def getstack(t=None, f=None): return stack +def getexception(type=None, value=None): + if type is None: + type = sys.last_type + value = sys.last_value + if hasattr(type, "__name__"): + type = type.__name__ + s = str(type) + if value is not None: + s = s + ": " + str(value) + return s + + class NamespaceViewer: def __init__(self, frame, title, dict):