3 § féã@sêdZddlmZmZmZmZmZmZmZm Z m Z ddl m Z m Z mZddlmZddlmZGdd„de ƒZGdd „d e ƒZGd d „d e ƒZGd d „d eƒZddd„Zddd„ZedkræddlmZedddd�ddlmZeeƒdS)zSimple text browser for IDLE é) ÚToplevelÚTextÚTclErrorÚ HORIZONTALÚVERTICALÚNÚSÚEÚW)ÚFrameÚ ScrollbarÚButton)Ú showerror)Ú color_configcs0eZdZdZ‡fdd„Zdd„Zdd„Z‡ZS)ÚAutoHiddenScrollbarzpA scrollbar that is automatically hidden when not needed. Only the grid geometry manager is supported. cs<t|ƒdkst|ƒdkr"|jƒn|jƒtƒj||ƒdS)Nggð?)ÚfloatÚgridZ grid_removeÚsuperÚset)ÚselfÚloÚhi)Ú __class__©ú5/opt/alt/python36/lib64/python3.6/idlelib/textview.pyrs zAutoHiddenScrollbar.setcKst|jj›d�ƒ‚dS)Nz does not support "pack")rrÚ__name__)rÚkwargsrrrÚpackszAutoHiddenScrollbar.packcKst|jj›d�ƒ‚dS)Nz does not support "place")rrr)rrrrrÚplaceszAutoHiddenScrollbar.place)rÚ __module__Ú __qualname__Ú__doc__rrrÚ __classcell__rr)rrr s rcs"eZdZdZd‡fdd„ Z‡ZS)Ú TextFramezDisplay text with scrollbar.Úwordcstƒj|ƒd|d<d|d<t||dd�|_}t|ƒ|jddtttt d�|j ddd �|j ddd �|j d |ƒd |d <|j ƒt|td |jd�|_}|j|d<|jddttd�|dk�rt|td |jd�|_}|j|d<|jddtt d�dS)zvCreate a frame for Textview. parent - parent widget for this frame rawtext - text to display ZsunkenZreliefi¼Zheightr)ÚwrapZhighlightthickness)ÚrowÚcolumnZstickyé)ZweightgZdisabledÚstateF)ZorientÚ takefocusÚcommandZyscrollcommandZnoneZxscrollcommandN)rÚ__init__rÚtextrrrrr r Zgrid_rowconfigureZgrid_columnconfigureÚinsertZ focus_setrrZyviewÚyscrollrrZxviewÚxscroll)rÚparentZrawtextr%r-r/r0)rrrr,"s,     zTextFrame.__init__)r$)rrr r!r,r"rr)rrr#sr#cs,eZdZdZd‡fdd„ Zd dd„Z‡ZS) Ú ViewFramez#Display TextFrame and Close button.r$csxtƒj|ƒ||_|jd|jƒ|jd|jƒt|||d�|_t|d|jdd�|_}|jj ddd d �|j d d �dS) Nzz)r%ÚCloseF)r-r+r*ÚtopTÚboth)ÚsideÚexpandÚfillZbottom)r6) rr,r1ZbindÚokr#Z textframer Ú button_okr)rr1r-r%r:)rrrr,Gs zViewFrame.__init__NcCs|jjƒdS)zDismiss text viewer dialog.N)r1Údestroy)rÚeventrrrr9Rsz ViewFrame.ok)r$)N)rrr r!r,r9r"rr)rrr2Es r2cs4eZdZdZd dddœ‡fdd„ Zd d d „Z‡ZS) Ú ViewWindowz%A simple text viewer dialog for IDLE.Tr$F)Ú_htestÚ_utestc sÊtƒj|ƒd|d<|jƒd}|jƒ|s.dnd} |jd|›d| ›�ƒ|j|ƒt|||d�|_|jd|j ƒt |d |j d d �|_ } |jj d d dd�||_ |j rÆ|j|ƒ|jƒ|sÆ|jƒdS)a Show the given text in a scrollable window with a 'close' button. If modal is left True, users cannot interact with other windows until the textview window is closed. parent - parent of this dialog title - string which is title of popup dialog text - text to display in dialog wrap - type of text wrapping to use ('word', 'char' or 'none') _htest - bool; change box location when running htest. _utest - bool; don't wait_window when running unittest. éZ borderwidthé édz =750x500+ú+)r%ZWM_DELETE_WINDOWr3F)r-r+r*r4Tr5)r6r7r8N)rr,Z winfo_rootxZ winfo_rootyZgeometryÚtitler2Z viewframeZprotocolr9r r:rÚis_modalZ transientZgrab_setZ wait_window) rr1rDr-Úmodalr%r>r?ÚxÚyr:)rrrr,Zs"    zViewWindow.__init__NcCs|jr|jƒ|jƒdS)zDismiss text viewer dialog.N)rEZ grab_releaser;)rr<rrrr9}sz ViewWindow.ok)Tr$)N)rrr r!r,r9r"rr)rrr=Ws"r=Tr$FcCst||||||d�S)a‹Create text viewer for given text. parent - parent of this dialog title - string which is the title of popup dialog text - text to display in this dialog wrap - type of text wrapping to use ('word', 'char' or 'none') modal - controls if users can interact with other windows while this dialog is displayed _utest - bool; controls wait_window on unittest )r%r?)r=)r1rDr-rFr%r?rrrÚ view_text„s rIc Csœy&t|d|d��}|jƒ}WdQRXWn\tk rPtdd|›d�|d�YnHtk r‚} ztdt| ƒ|d�WYdd} ~ XnXt||||||d �SdS) z™Create text viewer for text in filename. Return error message if file cannot be read. Otherwise calls view_text with contents of the file. Úr)ÚencodingNzFile Load ErrorzUnable to load file z .)rDÚmessager1zUnicode Decode Error)r%r?)ÚopenÚreadÚOSErrorrÚUnicodeDecodeErrorÚstrrI) r1rDÚfilenamerKrFr%r?ÚfileÚcontentsÚerrrrrÚ view_file’s   rVÚ__main__)Úmainzidlelib.idle_test.test_textviewé)Ú verbosityÚexit)ÚrunN)Tr$F)Tr$F)r!Ztkinterrrrrrrrr r Z tkinter.ttkr r r Ztkinter.messageboxrZidlelib.colorizerrrr#r2r=rIrVrZunittestrXZidlelib.idle_test.htestr\rrrrÚs ,  &-