m &UIc@sdkZdkZdkZdkTdklZdklZdeifdYZdfdYZ defd YZ d fd YZ dS( N(t*(sListedToplevel(s ScrolledListtIdbcBs5tZdZdZdZdZdZRS(NcCs||_tii|dS(N(tguitselftbdbtBdbt__init__(RR((t-/data/zmath/lib/python2.4/idlelib/Debugger.pyR s cCsH|i|o|idSn|i|}|ii||dS(N(Rt in_rpc_codetframetset_stept_Idb__frame2messagetmessageRt interaction(RR R ((Rt user_lines  cCsK|i|o|idSn|i|}|ii|||dS(N( RRR R R R RR tinfo(RR RR ((Rtuser_exceptions  cCsV|iiidotSn5|i}|iiidotSn|i |SdS(Nsrpc.pys Debugger.py( R tf_codet co_filenametcounttTruetf_backt prev_frametFalseRR(RR R((RRs  cCsh|i}|i}|i}tii |}d||f}|i djod||i f}n|S(Ns%s:%st?s%s: %s()( R RtcodeRtfilenametf_linenotlinenotostpathtbasenameR tco_name(RR RRRRR ((Rt__frame2message's   (t__name__t __module__RRRRR (((RR s     tDebuggercBstZdZZZZddZdZddZ dZ ddZ dZ dZ dZd Zd Zd Zd ZdZd ZdZdZdZdZdZdZddZdZdZdZdZRS(NcCsO|djot|}n||_||_d|_|id|_dS(Ni(tidbtNoneRRtpyshellR tmake_guit interacting(RR'R%((RR6s     cGs.zd|_|ii|SWdd|_XdS(Nii(RR)R%truntargs(RR+((RR*?s  cCsa|io|iidSn|io|iid|_n|ii|ii dS(N( RR)ttoptbellt stackviewertcloseR&R'tclose_debuggertdestroy(Rtevent((RR/Fs    cCs|i}|i|_|i|_}t||_}|iid|iid|id|i |ii d|i t ||_ }|i i ddg|_}t|ddd |i|_}|i|t|dd d |i|_}|i|t|dd d |i|_}|i|t|dd d |i|_}|i|t|dd d |i|_}|i|x.|D]&}|idd|i ddqWt ||_}|ii dd|ip&t||i _|ii!dnt"|ddd |i#d|i|_$|i$i%dddd|i&pt||i _&nt"|ddd |i'd|i&|_(|i(i%dddd|i)p&t||i _)|i)i!dnt"|ddd |i*d|i)|_+|i+i%dddd|i,pt||i _,nt"|ddd |i-d|i,|_.|i.i%ddddt/|dd|_0|i0i ddt/|dd|_1|i1i dddd|i1i2d|_3t |dd|_4|i4i dddd t ||_5|i5i dddd t |dd|_6|i6i dddd |ii7o|i#n|i)i7o|i*n|i,i7o|i-ndS(!Ns Debug ControltDebugtWM_DELETE_WINDOWstanchortwttexttGotcommandtSteptOvertOuttQuittstatetdisabledtsidetleftitStacktvariabletrowitcolumntSourcetLocalstGlobalstfilltxt backgroundtheighttexpandtboth(8RR'tflisttroottListedToplevelR,twm_titlet wm_iconnamet wm_protocolR/tbindtFrametbframetpacktbuttonstbltButtontconttbconttbtappendtsteptbsteptnexttbnexttrettbrettquitt configuretcframetvstackt BooleanVart __class__tsett Checkbuttont show_stacktbstacktgridtvsourcet show_sourcetbsourcetvlocalst show_localstblocalstvglobalst show_globalstbglobalstLabeltstatusterrortcgetterrorbgtfstacktflocalstfglobalstget(RR^RZR'RhRWRPR,((RR(Ss   " " " " "  ! ! ! !c Cs||_|iid||o|\} }}y | i } Wn#t j odt | } nX|dj o(yd| t |f} WqqXnd}nd} d}|i}|iid| d||i}|o2|ii|i|\}} |i|| n|id|iio|inx!|iD]} | idd qIW|ii|i i!x!|iD]} | idd qW|iidd|iiddd|id|_dS( NR7s%ss%s: %styellowtRKiR>tnormalR?("R RR{RgR RttypetvaluettbR"tm1tAttributeErrortstrR&tbgR~R|R.tsvR%t get_stacktstacktit load_stacktshow_variablesRqRtsync_source_lineRYR^R,twakeupRPtmainloop( RR R RRRRRRRR^RR((RR sH           cCst|i}|pdSn|i|\}}|d |ddjo*tii|o|ii ||ndS(Niis<>( RR t_Debugger__frame2filelineRRRRtexistsROt gotofileline(RRR R((RRs  ,cCs%|i}|i}|i}||fS(N(R RRRRRR(RR RRR((Rt__frame2filelines   cCs|ii|iidS(N(RR%t set_continueRPRf(R((RR\s cCs|ii|iidS(N(RR%R RPRf(R((RR`s cCs$|ii|i|iidS(N(RR%tset_nextR RPRf(R((RRbscCs$|ii|i|iidS(N(RR%t set_returnR RPRf(R((RRdscCs|ii|iidS(N(RR%tset_quitRPRf(R((RRfs cCs|i oo|iio_t|i|i||_}|io2|i i |id\}}|i||qnF|i}|o(|ii od|_|ind|id (RRN(RRtcleartrangetlenRR RRtmodnameRRRRR tfuncnamet linecachetgetlinet sourcelinetstringtstripR&titemtindexR_tselect(RRRRRRRRRRRRR R((RRJs0           cCs"|ioti||SndS(soverride base methodN(RRRt popup_eventR2(RR2((RRes cCs?|i}|iddd|i|iddd|idS(soverride base methodtlabelsGo to source lineR9sShow stack frameN(Rtmenut add_commandtgoto_source_linetshow_stack_frame(RR((Rt fill_menujs     cCsFd|jot|ijno|ii|i|ndS(soverride base methodiN(RRRRRR(RR((Rt on_selectrs'cCs|i|dS(soverride base methodN(RRrR(RR((Rt on_doublewscCs#|iid}|i|dS(Ntactive(RtlistboxRRr(RR((RR{scCsX|iid}d|jot|ijno|ii|i|ndS(NRi(RRRRRRR(RR((RRs'cCsd|jot|ijnpdSn|i|\}}|i}|i}t i i |o.|i i|}|o|i|qndS(Ni(RRRRR RRRRRRRtisfileROtopentedittgotoline(RRRRRRR ((RRrs'  ( R"R#RR&RRRRRRRRr(((RRBs        RcBs2tZddZdZdddZdZRS(Nc Csd}d}|odt|}n||_||_dk}|i|_d|i_ d|i_ t ||_ } |i i ddddt| d |d d d d |_|ii ddt| dd|_}|i ddddt| dtdtd|ddd||f|_}|i dddddd|i|d<|i|d