
    h;                         S SK JrJrJrJr   S SK Jr  S SK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  SSKJr  SSKJr   " S S\R4                  \\5      rg! \ a	    S SKJr   N^f = f)    )UnionTupleOptionalAny)LiteralN   )CTkFrame)CTkScrollbar)CTkAppearanceModeBaseClass)CTkScalingBaseClass)CTkBaseClass)CTkLabel)CTkFont)ThemeManagerc            $       >  ^  \ rS rSr                S/S\S\S\S\\\\4      S\\\\4      S\\\	\\4   4   S\\\\	\\4   4      S	\\\\	\\4   4      S
\\\\	\\4   4      S\\\\	\\4   4      S\\\\	\\4   4      S\\\\	\\4   4      S\\\\	\\4   4      S\S\\\
\4      S\S\S   4"S jjrS rS rU 4S jrU 4S jrS0S jrS rS\4S jrS rS rS rS  rS! rS" rS# rS$ rS% rS& rS' rS( r S) r!S* r"S+ r#S1S, jr$S1S- jr%S.r&U =r'$ )2CTkScrollableFrame   masterwidthheightcorner_radiusborder_widthbg_colorfg_colorborder_colorscrollbar_fg_colorscrollbar_button_colorscrollbar_button_hover_colorlabel_fg_colorlabel_text_color
label_text
label_fontlabel_anchororientation)vertical
horizontalc                   ^  UT l         UT l        UT l        [        USSUXVXxS9T l        [
        R                  " T R                  SS9T l        T R                  5         T R                   S:X  a^  [        T R                  ST R                  R                  XUS9T l        T R                  R                  T R                  R                  S9  OmT R                   S:X  a]  [        T R                  ST R                  R                  XUS9T l        T R                  R                  T R                  R                  S9  UT l        [!        T R                  UUUT R                  R#                  S	5      UUc  [$        R&                  S
   S   OUS9T l        [
        R*                  R-                  T T R                  SS9  [.        R,                  " T 5        [0        R,                  " T SS9  T R3                  5         T R                  R                  T R5                  T R                  5      T R5                  T R                  5      S9  T R7                  SU 4S j5        T R                  R7                  ST R8                  5        T R;                  ST R<                  SS9  T R;                  ST R>                  SS9  T R;                  ST R>                  SS9  T R;                  ST R@                  SS9  T R;                  ST R@                  SS9  T R                  RC                  SST SS9T l"        T R                  R#                  S5      S:X  a  [
        R*                  R                  T T RG                  T R                  R#                  S5      5      S9  T R                  R                  T RG                  T R                  R#                  S5      5      S9  O[
        R*                  R                  T T RG                  T R                  R#                  S5      5      S9  T R                  R                  T RG                  T R                  R#                  S5      5      S9  ST l$        g ) Nr   )r   r   r   r   r   r   r   r   )r   highlightthicknessr&   )r   r$   commandr   button_colorbutton_hover_color)xscrollcommandr%   )yscrollcommandr   r   r   )textanchorfontr   
text_colorr   widget)scaling_typer   r   z<Configure>c                 h   > TR                   R                  TR                   R                  S5      S9$ )Nall)scrollregion)_parent_canvas	configurebbox)eselfs    l/var/www/fran/franai/venv/lib/python3.13/site-packages/customtkinter/windows/widgets/ctk_scrollable_frame.py<lambda>-CTkScrollableFrame.__init__.<locals>.<lambda>K   s,    4+>+>+H+HVZViViVnVnotVu+H+v    z<MouseWheel>+)addz<KeyPress-Shift_L>z<KeyPress-Shift_R>z<KeyRelease-Shift_L>z<KeyRelease-Shift_R>nw)windowr/   r   transparentr   bgF)%_orientation_desired_width_desired_heightr	   _parent_frametkinterCanvasr8   _set_scroll_incrementsr
   xview
_scrollbarr9   setyview_label_textr   cgetr   theme_labelFrame__init__r   r   _create_grid_apply_widget_scalingbind_fit_frame_dimensions_to_canvasbind_all_mouse_wheel_all_keyboard_shift_press_all_keyboard_shift_release_allcreate_window_create_window_id_apply_appearance_mode_shift_pressed)r<   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   s   `                 r=   rX   CTkScrollableFrame.__init__   s   * ( $%%V1QVc3?]eB%nnD4F4F[\]##%,*$2D2DR^hlh{h{  iB  iB4F  A]^DO))9L9L)M*,*$2D2DR\fjfyfyff4F  A]^DO))9L9L)M%t11
<^h-1-?-?-D-D_-Ubrftf|(:(:;O(PQa(b  CQR 	tD,?,?TUV"++D1$$TA%%D,F,FtGZGZ,[-1-G-GH\H\-] 	& 	_ 			-!vw  0T0TUnd&;&;E*D,J,JPST*D,J,JPST,d.N.NTWX,d.N.NTWX!%!4!4!B!B1aPT]a!B!b"":.-?MM##DT-H-HI[I[I`I`akIl-m#n))T-H-HI[I[I`I`akIl-m)nMM##DT-H-HI[I[I`I`akIl-m#n))T-H-HI[I[I`I`akIl-m)n#r@   c                     [         R                  R                  U 5        [        R                  " U 5        [        R                  " U 5        g N)rL   rW   destroyr   r   r<   s    r=   rh   CTkScrollableFrame.destroy]   s0    d#"**40##D)r@   c           	         U R                  U R                  R                  S5      U R                  R                  S5      -   5      nU R                  S:X  a  U R                  R	                  SSS9  U R                  R                  SSS9  U R                  R                  SSSXS4S9  U R                  R                  S	SSUS
9  U R                  b-  U R                  S:w  a  U R                  R                  SSSXS9  g U R                  R                  5         g U R                  S:X  a  U R                  R	                  SSS9  U R                  R                  SSS9  U R                  R                  SSSUS4US9  U R                  R                  SSSUS9  U R                  b.  U R                  S:w  a  U R                  R                  SSS	SXS9  g U R                  R                  5         g g )Nr   r   r&   r   r   )weightnsew)rowcolumnstickypadxpady   )rn   ro   rp   rq    ewr%   )rn   ro   rp   rr   )rn   ro   
columnspanrp   rq   rr   )rZ   rK   rT   rH   grid_columnconfiguregrid_rowconfigurer8   gridrP   rS   rV   grid_forget)r<   border_spacings     r=   rY   CTkScrollableFrame._create_gridb   s   33D4F4F4K4KO4\_c_q_q_v_v  xF  `G  5G  H,33Aa3@0010=$$1V.pq_r$sOO  Qqn U+0@0@B0F  QqN h'')*,33Aa3@0010=$$1V>[\J]dr$sOO  Qqn U+0@0@B0F  QqQtR` v'') -r@   c                 |  > [         TU ]  U5        U R                  R                  S5      S:X  a  [        R
                  R                  X R                  U R                  R                  S5      5      S9  U R                  R                  U R                  U R                  R                  S5      5      S9  g [        R
                  R                  X R                  U R                  R                  S5      5      S9  U R                  R                  U R                  U R                  R                  S5      5      S9  g )Nr   rE   r   rF   )	super_set_appearance_moderK   rT   rL   rW   r9   rc   r8   )r<   mode_string	__class__s     r=   r   'CTkScrollableFrame._set_appearance_mode{   s    $[1"":.-?MM##D-H-HI[I[I`I`akIl-m#n))T-H-HI[I[I`I`akIl-m)nMM##D-H-HI[I[I`I`akIl-m#n))T-H-HI[I[I`I`akIl-m)nr@   c                    > [         TU ]  X5        U R                  R                  U R	                  U R
                  5      U R	                  U R                  5      S9  g Nr4   )r~   _set_scalingr8   r9   rZ   rI   rJ   )r<   new_widget_scalingnew_window_scalingr   s      r=   r   CTkScrollableFrame._set_scaling   sR    /D%%D,F,FtGZGZ,[-1-G-GH\H\-] 	& 	_r@   c                     Ub  Xl         Ub  X l        U R                  R                  U R	                  U R                   5      U R	                  U R                  5      S9  g r   )rI   rJ   r8   r9   rZ   )r<   r   r   s      r=   _set_dimensions"CTkScrollableFrame._set_dimensions   s[    "'#) %%D,F,FtGZGZ,[-1-G-GH\H\-] 	& 	_r@   c                    SU;   a  U R                  UR                  S5      S9  SU;   a  U R                  UR                  S5      S9  SU;   a`  UR                  S5      nU R                  R                  US9  U R                  b  U R                  R                  US9  U R                  5         SU;   a8  U R                  R                  UR                  S5      S9  U R                  5         S	U;   Ga  U R                  R                  UR                  S	5      S
9  U R                  R                  S	5      S:X  a  [        R                  R                  X R                  U R                  R                  S5      5      S9  U R                  R                  U R                  U R                  R                  S5      5      S9  O[        R                  R                  X R                  U R                  R                  S	5      5      S9  U R                  R                  U R                  U R                  R                  S	5      5      S9  U R                  5        HB  n[        U[        5      (       d  M  UR                  U R                  R                  S	5      S9  MD     SU;   a(  U R                  R                  UR                  S5      S
9  SU;   a(  U R                  R                  UR                  S5      S9  SU;   a(  U R                  R                  UR                  S5      S9  SU;   aI  UR                  S5      U l        U R                  R                  U R                  S9  U R                  5         SU;   a(  U R                  R                  UR                  S5      S9  SU;   a(  U R                  R                  UR                  S5      S9  SU;   a(  U R                  R                  UR                  S5      S
9  SU;   a(  U R                  R                  UR                  S5      S9  U R                  R                  " S0 UD6  g )Nr   r   r   r   r   )r   r   )r   r   )r   rE   r   rF   )r   r   r   )r*   r   )r+   r!   )r.   r"   )r0   r    )r1   r   r#   )r/    )r   poprK   r9   rV   rY   rT   rL   rW   rc   r8   winfo_children
isinstancer   rP   rS   )r<   kwargsnew_corner_radiuschilds       r=   r9   CTkScrollableFrame.configure   s   f  vzz'': ;v  

8(< =f$ &

? ;((7H(I{{&%%4E%FV#((fjj6P(Q((&**Z2H(I!!&&z2mC''1L1LTM_M_MdMdeoMp1q'r##--1L1LTM_M_MdMdeoMp1q-r''1L1LTM_M_MdMdeoMp1q'r##--1L1LTM_M_MdMdeoMp1q-r,,.e\22OOT-?-?-D-DZ-POQ /  6)OO%%vzz:N/O%P#v-OO%%6::>V3W%X)V3OO%%Db9c%d6!%zz,7DKK!!t'7'7!86!KK!!vzz,'?!@'KK!!VZZ8J-K!Lv%KK!!6::6F+G!HV#KK!!N)C!D$$.v.r@   attribute_namec                    US:X  a  U R                   $ US:X  a  U R                  $ US:X  a  U R                  $ US:X  a  U R                  R	                  S5      $ US:X  a  U R                  R	                  S5      $ US:X  a  U R                  R	                  S	5      $ US
:X  a  U R                  R	                  S5      $ UR                  S5      (       a  U R                  R	                  S	5      $ UR                  S5      (       a  U R                  R	                  S5      $ UR                  S5      (       a  U R                  R	                  S5      $ U R                  R	                  U5      $ )Nr   r   r!   r"   r0   r    _text_colorr   r   r#   r/   r   r   r*   r   r+   )rI   rJ   rS   rV   rT   
startswithrP   rK   )r<   r   s     r=   rT   CTkScrollableFrame.cget   sC   W$&&&x''''|+###|+;;##F++11;;##M22//;;##J//~-;;##H--&&';<<??''
33&&'?@@??''77&&'EFF??''(<== %%**>::r@   c                 8   U R                   S:X  a=  U R                  R                  U R                  U R                  R	                  5       S9  g U R                   S:X  a=  U R                  R                  U R                  U R                  R                  5       S9  g g )Nr&   r   r%   r   )rH   r8   itemconfigurerb   winfo_heightwinfo_widthr<   events     r=   r\   2CTkScrollableFrame._fit_frame_dimensions_to_canvas   s    ,--d.D.DTM`M`MmMmMo-p*,--d.D.DDL_L_LkLkLm-n -r@   c                     [         R                  R                  S5      (       a  U R                  R	                  SSS9  g [         R                  S:X  a  U R                  R	                  SSS9  g g )Nwinr   )xscrollincrementyscrollincrementdarwin      )sysplatformr   r8   r9   ri   s    r=   rN   )CTkScrollableFrame._set_scroll_increments   sZ    <<""5))))1q)Q\\X%))1q)Q &r@   c                    U R                  UR                  5      (       Ga3  [        R                  R	                  S5      (       a  U R
                  (       aT  U R                  R                  5       S:w  a5  U R                  R                  S[        UR                  S-  5      * S5        g g U R                  R                  5       S:w  a5  U R                  R                  S[        UR                  S-  5      * S5        g g [        R                  S:X  a  U R
                  (       aH  U R                  R                  5       S:w  a)  U R                  R                  SUR                  * S5        g g U R                  R                  5       S:w  a)  U R                  R                  SUR                  * S5        g g U R
                  (       aH  U R                  R                  5       S:w  a)  U R                  R                  SUR                  * S5        g g U R                  R                  5       S:w  a)  U R                  R                  SUR                  * S5        g g g )Nr   )g        g      ?scroll   unitsr   )check_if_master_is_canvasr2   r   r   r   rd   r8   rO   intdeltarR   r   s     r=   r^   #CTkScrollableFrame._mouse_wheel_all   s   ))%,,77||&&u--&&**002j@++11(Sq=Q<QSZ[ A **002j@++11(Sq=Q<QSZ[ A)&&**002j@++11(U[[L'R A **002j@++11(U[[L'R A &&**002j@++11(U[[L'R A **002j@++11(U[[L'R A) 8r@   c                     SU l         g )NTrd   r   s     r=   r_   ,CTkScrollableFrame._keyboard_shift_press_all  s
    "r@   c                     SU l         g )NFr   r   s     r=   r`   .CTkScrollableFrame._keyboard_shift_release_all  s
    #r@   c                 t    XR                   :X  a  gUR                  b  U R                  UR                  5      $ g)NTF)r8   r   r   )r<   r2   s     r=   r   ,CTkScrollableFrame.check_if_master_is_canvas  s3    (((]]&11&--@@r@   c                 <    U R                   R                  " S0 UD6  g Nr   )rK   packr<   r   s     r=   r   CTkScrollableFrame.pack      )&)r@   c                 <    U R                   R                  " S0 UD6  g r   )rK   placer   s     r=   r   CTkScrollableFrame.place   s      *6*r@   c                 <    U R                   R                  " S0 UD6  g r   )rK   ry   r   s     r=   ry   CTkScrollableFrame.grid#  r   r@   c                 8    U R                   R                  5         g rg   )rK   pack_forgetri   s    r=   r   CTkScrollableFrame.pack_forget&      &&(r@   c                 8    U R                   R                  5         g rg   )rK   place_forgetr   s     r=   r   CTkScrollableFrame.place_forget)  s    '')r@   c                 8    U R                   R                  5         g rg   )rK   rz   r   s     r=   rz   CTkScrollableFrame.grid_forget,  r   r@   c                 8    U R                   R                  5         g rg   )rK   grid_remover   s     r=   r   CTkScrollableFrame.grid_remove/  r   r@   c                 8    U R                   R                  5         g rg   )rK   grid_propagater   s     r=   r   !CTkScrollableFrame.grid_propagate2  s    ))+r@   c                 6    U R                   R                  5       $ rg   )rK   	grid_infor   s     r=   r   CTkScrollableFrame.grid_info5  s    !!++--r@   c                 :    U R                   R                  U5        g rg   )rK   lift)r<   	aboveThiss     r=   r   CTkScrollableFrame.lift8  s    	*r@   c                 :    U R                   R                  U5        g rg   )rK   lower)r<   	belowThiss     r=   r   CTkScrollableFrame.lower;  s      +r@   )
rb   rJ   rI   rV   rS   rH   r8   rK   rP   rd   )   r   NNrE   NNNNNNNrt   Ncenterr%   )NNrg   )(__name__
__module____qualname____firstlineno__r   r   r   r   strr   tupler   r   rX   rh   rY   r   r   r   r9   rT   r\   rN   r^   r_   r`   r   r   r   ry   r   r   rz   r   r   r   r   r   __static_attributes____classcell__)r   s   @r=   r   r      s_    ""<@;?9FCGGKMQQUW[IMKO#%?C%-BL'G$G$G$ G$ !)sCx 9	G$
  (c3h8G$ !eCHo!56G$ $E#uS#X*>$?@G$  (c5c?.B(CDG$ &.eCsCx4H.I%JG$ *2%U38_8L2M)NG$ 08c5c?>R8S/TG$ "*%U38_0D*E!FG$ $,E#uS#X2F,G#HG$  !!G$" &eE7N&;<#G$$  #%G$& &&>?'G$R*
*2o__:/x;3 ;6oRS0#$*+*)*)),.+, ,r@   r   )typingr   r   r   r   r   ImportErrortyping_extensionsrL   r   	ctk_framer	   ctk_scrollbarr
   appearance_moder   scalingr   core_widget_classesr   	ctk_labelr   r0   r   rU   r   rW   r   r   r@   r=   <module>r      s_    . .*  
  ' 7 ( -   i,(BDW i,  *)*s   A$ $A32A3