
    Cj	                        S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJr  S S	KJr   " S
 S\5      r " S S\5      rg)    )annotationsN)Syntax)work)ComposeResult)Binding)ScrollableContainer)ModalScreenScreen)Staticc                  F   ^  \ rS rSrSrS/rSU 4S jjrS	S jrS rSr	U =r
$ )

CodeScreen   z
    CodeScreen {
        #code {
            border: heavy $accent;
            margin: 2 4;
            scrollbar-gutter: stable;
            Static {
                width: auto;
            }
        }
    }
    )escapedismisszDismiss codec                :   > [         TU ]  5         X l        Xl        g )N)super__init__codetitle)selfr   r   	__class__s      c/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/demo/page.pyr   CodeScreen.__init__   s    	
    c           
   #     #    [        SS9   [        [        U R                  SSSS9SS9v   S S S 5        g ! , (       d  f       g = f7f)Nr   )idpythonT)lexerindent_guidesline_numbers)expand)r   r   r   r   )r   s    r   composeCodeScreen.compose#   s@      F+IIXTPT 	  ,++s   
A!6	A
A Ac                V    U R                  S5      nU R                  Ul        SUl        g )Nz#codezEscape to close)	query_oner   border_titleborder_subtitle)r   code_widgets     r   on_mountCodeScreen.on_mount,   s$    nnW-#':: &7#r   )r   r   )r   strr   r+   returnNone)r,   r   )__name__
__module____qualname____firstlineno__DEFAULT_CSSBINDINGSr   r"   r)   __static_attributes____classcell__)r   s   @r   r   r      s(    K 66H
8 8r   r   c                  N    \ rS rSrSr\" SSSSS9/r\" SS	9SS
 j5       rS r	Sr
g)
PageScreen2   zh
    PageScreen {
        width: 100%;
        height: 1fr;
        overflow-y: auto;        
    }
    c	show_codeCodez*Show the code used to generate this screen)tooltipT)threadc                     [        USSS9 nUR                  5       sSSS5        $ ! , (       d  f       g= f! [         a     gf = f)z/Read code from disk, or return `None` on error.rtzutf-8)encodingN)openread	Exception)r   source_filefile_s      r   get_codePageScreen.get_codeC   s;    	k4':ezz| ;:: 		s#   8 '	8 
58 8 
AAc                <  #    [         R                  " U R                  5      nUc  U R                  SSSS9  g U R	                  U5      R                  5       I S h  vN nUc  U R                  SSSS9  g U R                  R                  [        SU5      5        g  N?7f)Nz$Could not get the code for this pagez	Show codeerror)r   severityzCode for this page)	inspectgetsourcefiler   notifyrF   waitapppush_screenr   )r   rD   r   s      r   action_show_codePageScreen.action_show_codeL   s     ++DNN;KK6!   
 ]];/4466<KK6!    HH  ,@$!GH 7s   ABBA B N)rD   r+   r,   z
str | None)r.   r/   r0   r1   r2   r   r3   r   rF   rQ   r4   rS   r   r   r7   r7   2   sE    K 	@		
H 
 Ir   r7   )
__future__r   rK   rich.syntaxr   textualr   textual.appr   textual.bindingr   textual.containersr   textual.screenr	   r
   textual.widgetsr   r   r7   rS   r   r   <module>r\      s;    "    % # 2 . " 8  8F,I ,Ir   