
    h23                         S SK r S SKJrJrJrJr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Jr   " S S\5      rg)    N)UnionTupleCallableOptionalAny   )	CTkCanvas)ThemeManager)
DrawEngine)CTkBaseClass)CTkFont)CTkImage)pop_from_dict_by_setcheck_kwargs_emptyc                     ^  \ rS rSrSr1 Skr             S*S\S\S\S\\   S	\	\
\\
\
4   4   S
\\	\
\\
\
4   4      S\\	\
\\
\
4   4      S\\	\
\\
\
4   4      S\
S\\	\\4      S\	\S4   S\
S\
S\4U 4S jjjrU 4S jrU 4S jrS+U 4S jjrS rS rU 4S jrS rS,U 4S jjrS,U 4S jjrS\
S\4U 4S jjrS-S \
S!\S"\
4S# jjrS+S \
S$\\
   4S% jjrS& rS' rS( r S)r!U =r"$ ).CTkLabel   z
Label with rounded corners. Default is fg_color=None (transparent fg_color).
For detailed information check out the documentation.

state argument will probably be removed because it has no effect
>   padxpadystatecursorjustify	takefocus	underlinetextvariableNmasterwidthheightcorner_radiusbg_colorfg_color
text_colortext_color_disabledtextfontimagecompoundanchor
wraplengthc                 p  > [         TU ]  XX#S9  Uc  [        R                  S   S   OU R	                  USS9U l        Uc  [        R                  S   S   OU R	                  U5      U l        UcE  S[        R                  S   ;   a  [        R                  S   S   U l        O(U R                  U l        OU R	                  U5      U l        Uc  [        R                  S   S   OUU l        Xl	        Xl
        Xl        U R                  U5      U l        Xl        [        U R                  [         5      (       a%  U R                  R#                  U R$                  5        U
c
  ['        5       OU R)                  U
5      U l        [        U R*                  [&        5      (       a%  U R*                  R-                  U R.                  5        U R1                  S	S
S9  U R3                  S	S
S9  [5        U S	U R7                  U R8                  5      U R7                  U R:                  5      S9U l        U R<                  R?                  S	S	SS9  [A        U R<                  5      U l!        [D        RF                  " U S	S	S	S	U R                  U R                  U R7                  U R                  5      U R                  U RI                  U R*                  5      S9
U l%        U RJ                  RL                  " S0 [O        XRP                  5      D6  [S        USS9  U RU                  5         U R%                  5         U RW                  5         g )N)r   r    r   r   r   r!   Ttransparencyr"   r#   r   r   r   )weight)r   highlightthicknessr   r   nswerowcolumnsticky)
r   r.   r   r   borderwidthr(   r'   r)   r$   r%   )raise_error ),super__init__r
   theme_check_color_type	_fg_color_text_color_text_color_disabled_corner_radius_anchor_text_wraplength_check_image_type_image	_compound
isinstancer   add_configure_callback_update_imager   _check_font_type_fontadd_size_configure_callback_update_fontgrid_rowconfiguregrid_columnconfigurer	   _apply_widget_scaling_desired_width_desired_height_canvasgridr   _draw_enginetkinterLabel_apply_font_scaling_label	configurer   _valid_tk_label_attributesr   _create_grid_draw)selfr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   kwargs	__class__s                   a/var/www/fran/franai/venv/lib/python3.13/site-packages/customtkinter/windows/widgets/ctk_label.pyr8   CTkLabel.__init__   s   ( 	V HPGW++J7
C]a]s]st|  LP]s  ^QKUK]<--j9,Gcgcycy  {E  dF&$(:(::(FF,8,>,>z,J<,X),0,<,<)(,(>(>?R(SD% R_Qfl00<_Mly 
% ,,U3!dkk8,,KK..t/A/AB #',WYD4I4I$4O
djj'**JJ2243D3DE 	q+!!!A!. 45'+'A'A$BUBU'V(,(B(B4CWCW(XZ 	a&9&t||4mm478)*)*01+/<<-1^^/3/I/I$JZJZ/[)-)-)A)A$**)M	O 	^ 4V=\=\ ]^6t4

    c                   > [         TU ]  " U0 UD6  U R                  R                  U R	                  U R
                  5      U R	                  U R                  5      S9  U R                  R                  U R                  U R                  5      S9  U R                  R                  U R	                  U R                  5      S9  U R                  5         U R                  5         U R                  SS9  g )Nr   r   r%   r)   T)no_color_updates)r7   _set_scalingrQ   rX   rN   rO   rP   rW   rV   rI   rA   rZ   rG   r[   )r\   argsr]   r^   s      r_   rg   CTkLabel._set_scalingk   s    d-f-T%?%?@S@S%T]a]w]wx|  yM  yM  ^N  	O4#;#;DJJ#GH)C)CDDTDT)UV

D
)ra   c                 D   > [         TU ]  U5        U R                  5         g N)r7   _set_appearance_moderG   )r\   mode_stringr^   s     r_   rl   CTkLabel._set_appearance_modev   s    $[1ra   c                    > [         TU ]  X5        U R                  R                  U R	                  U R
                  5      U R	                  U R                  5      S9  U R                  5         U R                  5         g )Nrc   )	r7   _set_dimensionsrQ   rX   rN   rO   rP   rZ   r[   )r\   r   r   r^   s      r_   rp   CTkLabel._set_dimensionsz   sd    .T%?%?@S@S%T&*&@&@AUAU&V 	 	X

ra   c                     U R                   R                  U R                  U R                  5      S9  U R                  R                  5         U R                  R                  SSSS9  g)zWpass font to tkinter widgets with applied font scaling and update grid with workaround rd   r   r/   r0   N)rW   rX   rV   rI   rQ   grid_forgetrR   r\   s    r_   rK   CTkLabel._update_font   sQ    4#;#;DJJ#GH 	  "a&9ra   c                 D   [        U R                  [        5      (       aP  U R                  R	                  U R                  R                  U R                  5       U R                  5       5      S9  g U R                  b$  U R                  R	                  U R                  S9  g g )N)r&   )rE   rC   r   rW   rX   create_scaled_photo_image_get_widget_scaling_get_appearance_modert   s    r_   rG   CTkLabel._update_image   sz    dkk8,,KK!!(M(MdNfNfNhNRNgNgNi)k! l[[$KK!!!4 %ra   c                    > [        U R                  [        5      (       a%  U R                  R                  U R                  5        [
        TU ]  5         g rk   )rE   rI   r   remove_size_configure_callbackrK   r7   destroy)r\   r^   s    r_   r}   CTkLabel.destroy   s6    djj'**JJ55d6G6GHra   c                     U R                   S:w  a  U R                   OSnU R                  R                  SSUU R                  [	        U R
                  [        U R                  S-  5      5      5      S9  g)zconfigure grid system (1x1) center r      )r1   r2   r3   r   N)r?   rW   rR   rN   minr>   round_current_height)r\   text_label_grid_stickys     r_   rZ   CTkLabel._create_grid   sh     261IrQq1G"88T=P=PRWX\XlXlopXpRq9rs 	 	ura   c                   > [         TU ]  U5        U R                  R                  U R	                  U R
                  5      U R	                  U R                  5      U R	                  U R                  5      S5      nUSL d  U(       Ga  U R                  U R                  5      S:X  a  U R                  R                  SU R                  U R                  5      U R                  U R                  5      S9  U R                  R                  U R                  U R                  5      U R                  U R                   5      U R                  U R                  5      S9  OU R                  R                  SU R                  U R                  5      U R                  U R                  5      S9  U R                  R                  U R                  U R                  5      U R                  U R                   5      U R                  U R                  5      S9  U R                  R                  U R                  U R                  5      S9  g g )Nr   Ftransparentinner_parts)filloutline)fgdisabledforegroundbg)r   )r7   r[   rS   draw_rounded_rect_with_borderrN   _current_widthr   r>   _apply_appearance_moder;   rQ   
itemconfig	_bg_colorrW   rX   r<   r=   )r\   rf   requires_recoloringr^   s      r_   r[   CTkLabel._draw   s   &'"//MMdNhNhimi|i|N}NRNhNhimi}i}N~NRNhNhimi|i|N}NOQ
 u$(;**4>>:mK''-1-H-H-X040K0KDNN0[ ( ] %%)D)DTEUEU)V9=9T9TUYUnUn9o)-)D)DT^^)T & V ''-1-H-H-X040K0KDNN0[ ( ] %%)D)DTEUEU)V9=9T9TUYUnUn9o)-)D)DT^^)T & V LL""d&A&A$..&Q"R% )<ra   c                 2  > SU;   a(  UR                  S5      U l        U R                  5         SnSU;   a&  U R                  UR                  S5      SS9U l        SnSU;   a'  U R                  UR                  S5      5      U l        SnSU;   a'  U R                  UR                  S5      5      U l        SnSU;   a9  UR                  S5      U l        U R                  R                  U R                  S9  S	U;   a  [        U R                  [        5      (       a%  U R                  R                  U R                  5        U R                  UR                  S	5      5      U l        [        U R                  [        5      (       a%  U R                  R!                  U R                  5        U R                  5         S
U;   a  [        U R"                  [$        5      (       a%  U R"                  R'                  U R(                  5        U R+                  UR                  S
5      5      U l        [        U R"                  [$        5      (       a%  U R"                  R-                  U R(                  5        U R)                  5         SU;   a9  UR                  S5      U l        U R                  R                  U R.                  S9  SU;   aI  UR                  S5      U l        U R                  R                  U R0                  S9  U R                  5         SU;   aH  UR                  S5      U l        U R                  R                  U R5                  U R2                  5      S9  U R                  R                  " S0 [7        X R8                  5      D6  [:        TU ]$  " SSU0UD6  g )Nr   Tr!   r+   r"   r#   r$   )r$   r%   r&   r'   )r'   r(   )r(   r)   re   require_redrawr6   )popr>   rZ   r:   r;   r<   r=   r@   rW   rX   rE   rI   r   r|   rK   rH   rJ   rC   r   remove_configure_callbackrG   rB   rF   rD   r?   rA   rN   r   rY   r7   )r\   r   r]   r^   s      r_   rX   CTkLabel.configure   s   f$"(**_"=D!N!33FJJz4JY]3^DN!N6!#55fjj6NOD!N F*(,(>(>vzzJ_?`(aD%!NVF+DJKK!!tzz!2V$**g..

99$:K:KL..vzz&/ABDJ$**g..

66t7H7HIf$++x0055d6H6HI00G1DEDK$++x002243E3EF #ZZ
3DNKK!!4>>!:v!::h/DLKK!!!66!%zz,7DKK!!T-G-GHXHX-Y!Z^ 4V=\=\ ]^BB6Bra   attribute_namereturnc                   > US:X  a  U R                   $ US:X  a  U R                  $ US:X  a  U R                  $ US:X  a  U R                  $ US:X  a  U R                  $ US:X  a  U R
                  $ US:X  a  U R                  $ US:X  a  U R                  $ US	:X  a  U R                  $ US
:X  a  U R                  $ XR                  ;   a  U R                  R                  U5      $ [        TU ]1  U5      $ )Nr   r!   r"   r#   r$   r%   r&   r'   r(   r)   )r>   r;   r<   r=   r@   rI   rC   rD   r?   rA   rY   rW   cgetr7   )r\   r   r^   s     r_   r   CTkLabel.cget   s    _,&&&z)>>!|+###44,,,v%::v%::w&;;z)>>!x'<<|+###>>>;;##N337<//ra   sequencecommandaddc                     US:X  d  USL d  [        S5      eU R                  R                  XSS9  U R                  R                  XSS9  g)/called on the tkinter.Label and tkinter.Canvas +TzE'add' argument can only be '+' or True to preserve internal callbacks)r   N)
ValueErrorrQ   bindrW   )r\   r   r   r   s       r_   r   CTkLabel.bind  sI    s
cTkdee(65ra   funcidc                     Ub  [        S5      eU R                  R                  US5        U R                  R                  US5        g)r   Nz'funcid' argument can only be None, because there is a bug in tkinter and its not clear whether the internal callbacks will be unbinded or not)r   rQ   unbindrW   )r\   r   r   s      r_   r   CTkLabel.unbind  sE     q r rHd+8T*ra   c                 6    U R                   R                  5       $ rk   )rW   focusrt   s    r_   r   CTkLabel.focus  s    {{  ""ra   c                 6    U R                   R                  5       $ rk   )rW   	focus_setrt   s    r_   r   CTkLabel.focus_set  s    {{$$&&ra   c                 6    U R                   R                  5       $ rk   )rW   focus_forcert   s    r_   r   CTkLabel.focus_force"  s    {{&&((ra   )r?   rQ   rD   r>   rS   r;   rI   rC   rW   r@   r<   r=   rA   )r      Nr   NNNr   NNr   r   r   )NN)F)NNT)#__name__
__module____qualname____firstlineno____doc__rY   r   intr   r   strr   tupler   r   r8   rg   rl   rp   rK   rG   r}   rZ   r[   rX   anyr   r   r   r   r   r   r   __static_attributes____classcell__)r^   s   @r_   r   r      s   "U
  !049FCGEINR'9=04!)'#$!PPP P !)	P !eCHo!56P $E#uS#X*>$?@P &eCsCx,@&ABP '/uS%S/5I/J&KP P  eWn 56P hn-P P P  !!P Pd	*:5
uS84Cl03 03 0:6S 6( 6 6+s +8C= +#') )ra   r   )rT   typingr   r   r   r   r   core_renderingr	   r9   r
   r   core_widget_classesr   r%   r   r&   r   utilityr   r   r   r6   ra   r_   <module>r      s1     8 8 %  & -   =V)| V)ra   