��Qc@soddlTddlmZddlZddlZddlmZdefd��YZdd d��YZdS(
i�(t*(tEditorWindowN(t IOBindingtOutputWindowcBs�eZdZd�Zd�Zd�Zd�Zddd�Zd�Zd�Z dddd d!gZdddddgZdZ
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<<goto-file-line>>(Rt__init__ttexttbindtgoto_file_line(tselftargs((s*/sys/lib/python2.7/idlelib/OutputWindow.pyRscCsdS(Ni((Rtfilename((s*/sys/lib/python2.7/idlelib/OutputWindow.pytispythonsourcescCsdS(NtOutput((R((s*/sys/lib/python2.7/idlelib/OutputWindow.pytshort_titlescCs|j�rdSdSdS(Ntyestno(t get_saved(R((s*/sys/lib/python2.7/idlelib/OutputWindow.pyt maybesavestinsertcCsst|t�r<yt|tj�}Wq<tk
r8q<Xn|jj|||�|jj|�|jj �dS(N(
t
isinstancetstrtunicodeRtencodingtUnicodeErrorRRtseetupdate(Rtsttagstmark((s*/sys/lib/python2.7/idlelib/OutputWindow.pytwrite%s
cCs"x|D]}|j|�qWdS(N(R(Rtlinestline((s*/sys/lib/python2.7/idlelib/OutputWindow.pyt
writelines2s
cCsdS(N((R((s*/sys/lib/python2.7/idlelib/OutputWindow.pytflush6stCuts<<cut>>trmenu_check_cuttCopys<<copy>>trmenu_check_copytPastes <<paste>>trmenu_check_pastesGo to file/lines<<goto-file-line>>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
jddd|j�dSn|\}}|jj
|�}|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_helperttkMessageBoxt showerrortflisttopentgotoline( RteventtltpatRtresultR
tlinenotedit((s*/sys/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*/sys/lib/python2.7/idlelib/OutputWindow.pyR1is
((R"s<<cut>>R#(R$s<<copy>>R%(R&s <<paste>>R'N(NNN(sGo to file/lines<<goto-file-line>>N(t__name__t
__module__t__doc__RRR
RRR R!R*trmenu_specsR+R)RR1(((s*/sys/lib/python2.7/idlelib/OutputWindow.pyRs*
tOnDemandOutputWindowcBsEeZiidd6d6idd6d6Zd�Zd�Zd�ZRS(tbluet
foregroundtstdouts#007700tstderrcCs||_d|_dS(N(R4R*towin(RR4((s*/sys/lib/python2.7/idlelib/OutputWindow.pyR�s cCs0|js|j�n|jj|||�dS(N(RPtsetupR(RRRR((s*/sys/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*/sys/lib/python2.7/idlelib/OutputWindow.pyRQ�s
(RGRHRSRRRQ(((s*/sys/lib/python2.7/idlelib/OutputWindow.pyRK}s (( tTkintertidlelib.EditorWindowRR-R2tidlelibRRRK(((s*/sys/lib/python2.7/idlelib/OutputWindow.pyt<module>s
v
|