3
ff @ s d dl Z d dlZd dlZd dlZd dlmZmZ d dlm Z m
Z
mZ dddZG dd de
Z
G dd d e
ZG d
d deZdd
Zedkrd dlmZ edddd d dlmZ ee dS ) N)ObjectTreeItemmake_objecttreeitem)TreeNodeTreeItemScrolledCanvasc C sT |d krt j| }t|dddatjjddd t||attj d ta
t
j d S )NZwhiter )ZbgZhighlightthickness Zboth)expandZfill)tkToplevelr ZscframeZpack
StackTreeItemitemr ZcanvasZnoder )rootflisttbtop r 8/opt/alt/python36/lib64/python3.6/idlelib/stackviewer.pyStackBrowser
s
r c @ s6 e Zd ZdddZdd Zdd Zdd Zd
d ZdS )
r Nc C s || _ | j|| _| j | _d S )N)r get_stackstack
get_exceptiontext)selfr r r r r __init__ s zStackTreeItem.__init__c C sP |d krt j}g }|r&|jd kr&|j}x$|d k rJ|j|j|jf |j}q(W |S )N)syslast_tracebacktb_frametb_nextappend tb_lineno)r r r r r r r s
zStackTreeItem.get_stackc C s@ t j}t j}t|dr|j}t|}|d k r<|d t| }|S )N__name__z: )r last_type
last_valuehasattrr! str)r typevaluesr r r r ' s
zStackTreeItem.get_exceptionc C s | j S )N)r )r r r r GetText1 s zStackTreeItem.GetTextc C s. g }x$| j D ]}t|| j}|j| qW |S )N)r
FrameTreeItemr r )r sublistinfor
r r r
GetSubList4 s
zStackTreeItem.GetSubList)NN)r!
__module____qualname__r r r r) r- r r r r r s
r c @ s, e Zd Zdd Zdd Zdd Zdd Zd S )
r* c C s || _ || _d S )N)r, r )r r, r r r r r > s zFrameTreeItem.__init__c C s| | j \}}y|jd }W n d}Y nX |j}|j}|j}tj||}|j }|dkrhd|||f }nd||||f }|S )Nr! ? z%s, line %d: %sz%s.%s(...), line %d: %s)r0 r1 N)r, f_globalsf_codeco_filenameco_name linecachegetlinestrip) r r linenomodnamecodefilenamefuncnameZ
sourceliner
r r r r) B s
zFrameTreeItem.GetTextc C sR | j \}}g }|j|jk r4td|j| j}|j| td|j| j}|j| |S )Nz