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)
self.listbox.bind("<ButtonPress-3>", self.popup_event)
self.listbox.bind("<Key-Up>", self.up_event)
self.listbox.bind("<Key-Down>", 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
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):