qfc@soddlTddlmZddlZddlZddlmZdefdYZdd dYZdS( i(t*(t EditorWindowN(t IOBindingt OutputWindowcBseZdZdZdZdZdZdddZdZdZ dddd d!gZ dddddgZ dZ ddZdZRS("sAn 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|jdS(Ns<>(Rt__init__ttexttbindtgoto_file_line(tselftargs((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyRscCsdS(Ni((Rtfilename((s,/usr/lib64/python2.7/idlelib/OutputWindow.pytispythonsourcescCsdS(NtOutput((R((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyt short_titlescCs|jrdSdSdS(Ntyestno(t get_saved(R((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyt maybesaves tinsertcCsst|tr<yt|tj}Wq<tk r8q<Xn|jj||||jj||jj dS(N( t isinstancetstrtunicodeRtencodingt UnicodeErrorRRtseetupdate(Rtsttagstmark((s,/usr/lib64/python2.7/idlelib/OutputWindow.pytwrite%s cCs"x|D]}|j|qWdS(N(R(Rtlinestline((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyt writelines2s cCsdS(N((R((s,/usr/lib64/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|tjqW||_n|jjdd}|j |}|s|jjdd}|j |}|st j ddd|jdSn|\}}|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/lib64/python2.7/idlelib/OutputWindow.pyRNs(      cCsxz|jD]k}|j|}|r |jdd\}}yt|d}|jPWqutk rqq quXq q WdSy|t|fSWntk rdSXdS(Niitr( R)tsearchtgroupR5tclosetIOErrorR*tintt TypeError(RRtprogtmatchR R;tf((s,/usr/lib64/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/lib64/python2.7/idlelib/OutputWindow.pyRs*         tOnDemandOutputWindowcBsEeZiidd6d6idd6d6ZdZdZdZRS(tbluet foregroundtstdouts#007700tstderrcCs||_d|_dS(N(R4R*towin(RR4((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyRs cCs0|js|jn|jj|||dS(N(RPtsetupR(RRRR((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyRs  cCsxt|j|_}|j}x6|jjD]%\}}|r/|j||q/q/W|jd|jj|_dS(Ntsel( RR4RPRttagdefstitemst tag_configuret tag_raiseR(RRPRttagtcnf((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyRQs  (RGRHRSRRRQ(((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyRK}s   (( tTkintertidlelib.EditorWindowRR-R2tidlelibRRRK(((s,/usr/lib64/python2.7/idlelib/OutputWindow.pyts   v