+
    "Ý³jÿ  ã                  ó²   € R t ^ RIHt ^ RIt^ RIHtHt ^RIHt ^RI	H
t
Ht ]'       d   ^RIHt  ! R R4      t ! R	 R
]]
4      t ! R R]]4      tR
R.tR# )zBPane-local progress helpers for split-pane region screen sessions.)ÚannotationsN)ÚOptionalÚTYPE_CHECKING)Ú_RENDER_LOCK)ÚProgressBarÚRollingProgressBar)ÚRegionScreenSessionc                  óz   € ] tR t^tRtR R ltR R ltR R ltR t]	R	 R
 l4       t
RR ltR tRR R lltRtR# )Ú_SessionBoundProgressMixinzIShared pane-bound progress plumbing used by determinate and rolling bars.c               ó$   € V ^8„  d   QhRRRRRR/# )é   Úsessionú'RegionScreenSession'Ú	region_idÚstrÚreturnÚNone© )Úformats   "ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/logbar/region_progress.pyÚ__annotate__Ú'_SessionBoundProgressMixin.__annotate__   s'   € ÷ Wñ WÐ%:ð WÀsð WÈtñ Wó    c                óŠ   € Wn         \        V4      P                  4       ;'       g    VP                  P                  V n        R# )z6Store the owning session and normalized target region.N)Ú_sessionr   ÚstripÚcoordinatorÚroot_region_idÚ
_region_id)Úselfr   r   s   &&&r   Ú_bind_sessionÚ(_SessionBoundProgressMixin._bind_session   s1   € ð  ŒÜ˜i›.×.Ñ.Ó0×VÐV°G×4GÑ4G×4VÑ4VˆŽr   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r      s   € ÷ Dñ D Dñ Dr   c                ó   € R# )z5Allow subclasses to seed extra pane-attachment state.Nr   ©r   s   &r   Ú_on_session_attachÚ-_SessionBoundProgressMixin._on_session_attach   ó   ‚ r   c               ó   € V ^8„  d   QhRR/# r#   r   )r   s   "r   r   r       s   € ÷ Eñ E Dñ Er   c                ó   € R# )z6Allow subclasses to clear extra pane-detachment state.Nr   r%   s   &r   Ú_on_session_detachÚ-_SessionBoundProgressMixin._on_session_detach    r(   r   c                óÌ   € \         ;_uu_ 4        V P                  '       d'   V P                  P                  V P                  V 4       RRR4       V #   + '       g   i     T # ; i)zAMark the pane-local bar dirty and optionally refresh the session.N)r   Ú	_attachedr   Ú_mark_progress_bar_dirtyr   r%   s   &r   Ú_mark_dirtyÚ&_SessionBoundProgressMixin._mark_dirty#   sE   € ÷ Ž\Ø�~�~ˆ~Ø—‘×6Ñ6°t·±ÈÔM÷ ð ˆ÷ Ž\ð ˆús   �9AÁA#	c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   ,   s   € ÷ ñ ˜3ñ r   c                ó   € V P                   # )z:Return the pane identifier this progress bar renders into.)r   r%   s   &r   r   Ú$_SessionBoundProgressMixin.region_id+   s   € ð �‰Ðr   Nc                óŒ  € ?\        V RR4      '       d   V # \        ;_uu_ 4        V P                  '       g   V P                  '       d   V uuRRR4       # RV n        RV n        RV n        RV n        V P                  4        V P                  P                  V P                  V 4       RRR4       V #   + '       g   i     T # ; i)zFAttach the pane-bound renderable instead of the global progress stack.Ú	_headlessFNTç        )Úgetattrr   Úclosedr.   Ú_attached_loggerÚ_owner_loggerÚ_next_title_refresh_atr&   r   Ú_attach_progress_barr   )r   Úloggers   &&r   ÚattachÚ!_SessionBoundProgressMixin.attach1   s›   € ð ä�4˜ e×,Ò,ØˆKçŽ\Ø�{�{ˆ{˜dŸnŸn˜nØ÷ Š\ð "ˆDŒNØ$(ˆDÔ!Ø!%ˆDÔØ*-ˆDÔ'Ø×#Ñ#Ô%Ø�M‰M×.Ñ.¨t¯©ÀÔE÷ ð ˆ÷ Ž\ð ˆús   ¥$B2Á
B2ÁAB2Â2C	c                ó<  € \         ;_uu_ 4        V P                  '       g   V uuRRR4       # V P                  4        V P                  P	                  V P
                  V 4       RV n        RV n        RV n        RV n        RRR4       V #   + '       g   i     T # ; i)z9Detach the pane-bound renderable from its session footer.NFÚ r7   )	r   r.   r+   r   Ú_detach_progress_barr   r:   Ú_last_rendered_liner<   r%   s   &r   ÚdetachÚ!_SessionBoundProgressMixin.detachE   s|   € ÷ Ž\Ø—>—>�>Ø÷ Š\ð ×#Ñ#Ô%Ø�M‰M×.Ñ.¨t¯©ÀÔEØ"ˆDŒNØ$(ˆDÔ!Ø')ˆDÔ$Ø*-ˆDÔ'÷ ð ˆ÷ Ž\ð ˆús   �B
®AB
Â
B	c               ó   € V ^8„  d   QhRR/# )r   ÚforceÚboolr   )r   s   "r   r   r   T   s   € ÷ Qñ Q˜$ñ Qr   c                óÔ   € \        V RR4      '       d   R# \        ;_uu_ 4        V P                  P                  V P                  WR7       RRR4       R#   + '       g   i     R# ; i)z<Resolve and optionally paint the pane-local progress footer.r6   FN)rH   )r8   r   r   Ú_draw_progress_barr   )r   rH   s   &&r   ÚdrawÚ_SessionBoundProgressMixin.drawT   sB   € ô �4˜ e×,Ò,ÙçŽ\Ø�M‰M×,Ñ,¨T¯_©_¸dÐ,ÔP÷ �\�\Š\ús   ¤(AÁA'	)r.   r:   rD   r<   r;   r   r   )N)F)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r    r&   r+   r0   Úpropertyr   r?   rE   rL   Ú__static_attributes__r   r   r   r
   r
      sF   † ÙSõWõDõEòð ôó ðô
ò(÷Qó Qr   r
   c                  ó:   a € ] tR t^^tRtRR/R V 3R llltRtV ;t# )ÚRegionProgressBarz7Progress bar that renders into one session pane footer.Úoutput_intervalNc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r   r   r   r   rW   úOptional[int]r   r   r   )r   s   "r   r   ÚRegionProgressBar.__annotate__a   s4   € ÷ /ñ /ð 'ð	/ð
 ð/ð 'ð/ð 
ñ/r   c               óN   <€ \         SV `  VRVR7       V P                  W#4       R# )zABind one determinate progress bar to a split-pane session region.N)ÚiterableÚownerrW   ©ÚsuperÚ__init__r    )r   r\   r   r   rW   Ú	__class__s   &&$$$€r   r`   ÚRegionProgressBar.__init__a   s'   ø€ ô 	‰Ñ (°$ÈÐÔXØ×Ñ˜7Ö.r   r   )rN   rO   rP   rQ   rR   r`   rT   Ú__classcell__©ra   s   @r   rV   rV   ^   s   ø† ÙAð/ð *.÷/÷ /ð /r   rV   c                  óZ   a € ] tR t^otRtRRRRR^/R V 3R llltR	 R
 ltR R ltRtV ;t	# )ÚRegionRollingProgressBarz:Rolling spinner that renders into one session pane footer.rW   NÚintervalg      à?Útail_lengthc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r   r   r   r   r   rW   rY   rg   Úfloatrh   Úintr   r   r   )r   s   "r   r   Ú%RegionRollingProgressBar.__annotate__r   sH   € ÷ /ñ /ð 'ð/ð ð	/ð
 'ð/ð ð/ð ð/ð 
ñ/r   c               óP   <€ \         SV `  RVVVR7       V P                  W4       R# )z8Bind one rolling spinner to a split-pane session region.N)r]   rW   rg   rh   r^   )r   r   r   rW   rg   rh   ra   s   &$$$$$€r   r`   Ú!RegionRollingProgressBar.__init__r   s3   ø€ ô 	‰ÑØØ+ØØ#ð	 	ô 	
ð 	×Ñ˜7Ö.r   c               ó   € V ^8„  d   QhRR/# r#   r   )r   s   "r   r   rl   …   s   € ÷ Jñ J Dñ Jr   c                ó\   € \         P                  ! 4       V P                  ,           V n        R# )z;Seed the next wall-clock refresh when the spinner attaches.N)ÚtimeÚ	monotonicÚ	_intervalÚ_next_spinner_refresh_atr%   s   &r   r&   Ú+RegionRollingProgressBar._on_session_attach…   s   € ô )-¯ªÓ(8¸4¿>¹>Õ(IˆÖ%r   c               ó   € V ^8„  d   QhRR/# r#   r   )r   s   "r   r   rl   Š   s   € ÷ ,ñ , Dñ ,r   c                ó   € RV n         R# )z4Clear the pending spinner deadline before detaching.r7   N©rt   r%   s   &r   r+   Ú+RegionRollingProgressBar._on_session_detachŠ   s   € ð ),ˆÖ%r   rx   )
rN   rO   rP   rQ   rR   r`   r&   r+   rT   rc   rd   s   @r   rf   rf   o   s>   ø† ÙDð/ð
 *.ð/ð ð/ð ÷/ò /õ&J÷
,ó ,r   rf   )rR   Ú
__future__r   rq   Útypingr   r   Úlogbarr   Úprogressr   r   r   r   r
   rV   rf   Ú__all__r   r   r   Ú<module>r      s\   ðñ Iå "ã ß *å  ß 5çÝ,÷GQñ GQôT/Ð2°Kô /ô",Ð9Ð;Mô ,ðB Ð :Ð
;‚r   