ó ú^‚Rc@soddlTddlmZddlZddlZddlmZdefd„ƒYZdd d„ƒYZdS( iÿÿÿÿ(t*(t EditorWindowN(t IOBindingt OutputWindowcBs˜eZdZd„Zd„Zd„Zd„Zddd„Zd„Zd„Z dddd d!gZ dddddgZ dZ dd„Zd„ZRS("sœAn editor window that can serve as an output file. Also the future base class for the Python shell window. This class has no input facilities. cGs*tj||Œ|jjd|jƒdS(Ns<>(Rt__init__ttexttbindtgoto_file_line(tselftargs((s*/usr/lib/python2.7/idlelib/OutputWindow.pyRscCsdS(Ni((Rtfilename((s*/usr/lib/python2.7/idlelib/OutputWindow.pytispythonsourcescCsdS(NtOutput((R((s*/usr/lib/python2.7/idlelib/OutputWindow.pyt short_titlescCs|jƒrdSdSdS(Ntyestno(t get_saved(R((s*/usr/lib/python2.7/idlelib/OutputWindow.pyt maybesaves tinsertcCsst|tƒr<yt|tjƒ}Wq<tk r8q<Xn|jj|||ƒ|jj|ƒ|jj ƒdS(N( t isinstancetstrtunicodeRtencodingt UnicodeErrorRRtseetupdate(Rtsttagstmark((s*/usr/lib/python2.7/idlelib/OutputWindow.pytwrite%s cCs"x|D]}|j|ƒqWdS(N(R(Rtlinestline((s*/usr/lib/python2.7/idlelib/OutputWindow.pyt writelines2s cCsdS(N((R((s*/usr/lib/python2.7/idlelib/OutputWindow.pytflush6stCuts<>trmenu_check_cuttCopys<>trmenu_check_copytPastes <>trmenu_check_pastesGo to file/lines<>sfile "([^"]*)", line (\d+)s([^\s]+)\((\d+)\)s^(\s*\S.*?):\s*(\d+):s([^\s]+):\s*(\d+):s^\s*(\S.*?):\s*(\d+):c Csô|jdkrQg}x-|jD]"}|jtj|tjƒƒqW||_n|jjddƒ}|j |ƒ}|sÅ|jjddƒ}|j |ƒ}|sÅt j ddd|jƒdSn|\}}|j j |ƒ}|j|ƒdS(Nsinsert linestartsinsert lineendsinsert -1line linestartsinsert -1line lineendsNo special linesTThe line you point at doesn't look like a valid file name followed by a line number.tmaster(tfile_line_progstNonetfile_line_patstappendtretcompilet IGNORECASERtgett_file_line_helpert tkMessageBoxt showerrortflisttopentgotoline( RteventtltpatRtresultR tlinenotedit((s*/usr/lib/python2.7/idlelib/OutputWindow.pyRNs(      cCsªxz|jD]k}|j|ƒ}|r |jddƒ\}}yt|dƒ}|jƒPWqutk rqq quXq q WdSy|t|ƒfSWntk r¥dSXdS(Niitr( R)tsearchtgroupR5tclosetIOErrorR*tintt TypeError(RRtprogtmatchR R;tf((s*/usr/lib/python2.7/idlelib/OutputWindow.pyR1is   ((R"s<>R#(R$s<>R%(R&s <>R'N(NNN(sGo to file/lines<>N(t__name__t __module__t__doc__RR R RRR R!R*t rmenu_specsR+R)RR1(((s*/usr/lib/python2.7/idlelib/OutputWindow.pyRs*         tOnDemandOutputWindowcBsEeZiidd6d6idd6d6Zd„Zd„Zd„ZRS(tbluet foregroundtstdouts#007700tstderrcCs||_d|_dS(N(R4R*towin(RR4((s*/usr/lib/python2.7/idlelib/OutputWindow.pyR…s cCs0|js|jƒn|jj|||ƒdS(N(RPtsetupR(RRRR((s*/usr/lib/python2.7/idlelib/OutputWindow.pyR‰s  cCsxt|jƒ|_}|j}x6|jjƒD]%\}}|r/|j||q/q/W|jdƒ|jj|_dS(Ntsel( RR4RPRttagdefstitemst tag_configuret tag_raiseR(RRPRttagtcnf((s*/usr/lib/python2.7/idlelib/OutputWindow.pyRQŽs  (RGRHRSRRRQ(((s*/usr/lib/python2.7/idlelib/OutputWindow.pyRK}s   (( tTkintertidlelib.EditorWindowRR-R2tidlelibRRRK(((s*/usr/lib/python2.7/idlelib/OutputWindow.pyts   v