mirror of
https://github.com/python/cpython.git
synced 2025-09-19 07:00:59 +00:00
Add a label at the top showing (very basic) help for the stack viewer.
Add a label at the bottom showing the exception info.
This commit is contained in:
parent
3d0669d8a1
commit
8571ed8647
1 changed files with 21 additions and 0 deletions
|
@ -21,6 +21,11 @@ class StackViewer:
|
||||||
self.root = root
|
self.root = root
|
||||||
self.top = top
|
self.top = top
|
||||||
top.wm_title("Stack viewer")
|
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
|
# Create top frame, with scrollbar and listbox
|
||||||
self.topframe = Frame(top)
|
self.topframe = Frame(top)
|
||||||
self.topframe.pack(fill="both", expand=1)
|
self.topframe.pack(fill="both", expand=1)
|
||||||
|
@ -38,10 +43,14 @@ class StackViewer:
|
||||||
self.listbox.bind("<ButtonPress-3>", self.popup_event)
|
self.listbox.bind("<ButtonPress-3>", self.popup_event)
|
||||||
self.listbox.bind("<Key-Up>", self.up_event)
|
self.listbox.bind("<Key-Up>", self.up_event)
|
||||||
self.listbox.bind("<Key-Down>", self.down_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
|
# Load the stack
|
||||||
linecache.checkcache()
|
linecache.checkcache()
|
||||||
stack = getstack()
|
stack = getstack()
|
||||||
self.load_stack(stack)
|
self.load_stack(stack)
|
||||||
|
self.statuslabel.config(text=getexception())
|
||||||
|
|
||||||
def load_stack(self, stack):
|
def load_stack(self, stack):
|
||||||
self.stack = stack
|
self.stack = stack
|
||||||
|
@ -232,6 +241,18 @@ def getstack(t=None, f=None):
|
||||||
return 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:
|
class NamespaceViewer:
|
||||||
|
|
||||||
def __init__(self, frame, title, dict):
|
def __init__(self, frame, title, dict):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue