
    ࢉi+%                     f    d dl mZmZmZmZmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ  G d de      Zy	)
    )UnionTupleListOptionalAny   )	CTkCanvas)ThemeManager)
DrawEngine)CTkBaseClassc                   ^    e Zd ZdZ	 	 	 	 	 	 	 	 	 ddedededeeeef      deeeef      deee	eef   f   d	eeee	eef   f      d
eeee	eef   f      dee	eee	eef   f      df   deedf   f fdZ
dee   f fdZ fdZd fd	Zd fd	Zd fd	Zdedef fdZddZddZ xZS )CTkFramez
    Frame with rounded corners and border.
    Default foreground colors are set according to theme.
    To make the frame transparent set fg_color=None.
    For detailed information check out the documentation.
    Nmasterwidthheightcorner_radiusborder_widthbg_colorfg_colorborder_colorbackground_corner_colors"overwrite_preferred_drawing_methodc                    t        |   d||||d| |t        j                  d   d   n| j	                  |      | _        |t        | j                  t              re| j                  j                  t        j                  d   d   k(  rt        j                  d   d   | _	        nPt        j                  d   d   | _	        n4t        j                  d   d   | _	        n| j	                  |d      | _	        |	| _
        |t        j                  d   d   n|| _        |t        j                  d   d	   n|| _        t        | d
| j                  | j                        | j                  | j                               | _        | j"                  j%                  d
d
dd       | j"                  j'                  | j)                  | j*                               t-        | j"                        | _        |
| _        | j3                  d       y )N)r   r   r   r   r   r   r   top_fg_colorTtransparencyr   r   r   )r   highlightthicknessr   r   r   )xyrelwidth	relheightbg)no_color_updates )super__init__r
   theme_check_color_type_border_color
isinstancer   r   	_fg_color_background_corner_colors_corner_radius_border_widthr	   _apply_widget_scaling_current_width_current_height_canvasplace	configure_apply_appearance_mode	_bg_colorr   _draw_engine#_overwrite_preferred_drawing_method_draw)selfr   r   r   r   r   r   r   r   r   r   kwargs	__class__s               q/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/customtkinter/windows/widgets/ctk_frame.pyr'   zCTkFrame.__init__   s     	`v`Y_` P\Oc\//
;NKimii  AM  jN $++x0;;((L,>,>z,J:,VV%1%7%7
%CN%SDN%1%7%7
%CJ%ODN!-!3!3J!?
!K!33H43PDN)A& R_Qfl00<_MlyO[Oc\//
;NKiu 45'+'A'A$BUBU'V(,(B(B4CWCW(XZ 	Q!a1=$"="=dnn"MN&t||43U0

D
)    returnc                 ~    t         |          }	 |j                  | j                         |S # t        $ r |cY S w xY w)z
        winfo_children of CTkFrame without self.canvas widget,
        because it's not a child but part of the CTkFrame itself
        )r&   winfo_childrenremover3   
ValueError)r;   child_widgetsr=   s     r>   rB   zCTkFrame.winfo_childrenC   sD     .0	!  .   	!  	!s   . <<c                     t        |   |i | | j                  j                  | j	                  | j
                        | j	                  | j                               | j                          y N)r   r   )r&   _set_scalingr3   r5   r0   _desired_width_desired_heightr:   )r;   argsr<   r=   s      r>   rH   zCTkFrame._set_scalingP   s]    d-f-T%?%?@S@S%T&*&@&@AUAU&V 	 	X

r?   c                     t         |   ||       | j                  j                  | j	                  | j
                        | j	                  | j                               | j                          y rG   )r&   _set_dimensionsr3   r5   r0   rI   rJ   r:   )r;   r   r   r=   s      r>   rM   zCTkFrame._set_dimensionsW   sZ    v.T%?%?@S@S%T&*&@&@AUAU&V 	 	X

r?   c                    t         |   |       | j                  j                         sy | j                  3| j
                  j                  | j                  | j                        | j                  | j                               | j                  j                  d| j                  | j                  d                | j                  j                  d| j                  | j                  d                | j                  j                  d| j                  | j                  d                | j                  j                  d| j                  | j                  d	                n| j                  j                  d
       | j
                  j                  | j                  | j                        | j                  | j                        | j                  | j                        | j                  | j                        | j                         }|du s|r6| j"                  dk(  rQ| j                  j                  d| j                  | j$                        | j                  | j$                               nP| j                  j                  d| j                  | j"                        | j                  | j"                               | j                  j                  d| j                  | j&                        | j                  | j&                               | j                  j)                  | j                  | j$                               y y )Nbackground_corner_top_leftr   )fillbackground_corner_top_rightr   background_corner_bottom_right   background_corner_bottom_left   background_parts)r   Ftransparentinner_parts)rP   outlineborder_partsr"   )r&   r:   r3   winfo_existsr-   r8   draw_background_cornersr0   r1   r2   
itemconfigr6   deletedraw_rounded_rect_with_borderr.   r/   r9   r,   r7   r*   r5   )r;   r$   requires_recoloringr=   s      r>   r:   zCTkFrame._draw^   s$   &'||((*))555d6P6PQUQdQd6e6:6P6PQUQeQe6fhLL##$@tGbGbcg  dB  dB  CD  dE  HF#  GLL##$AHcHcdh  eC  eC  DE  eF  IG#  HLL##$D4KfKfgk  hF  hF  GH  hI  LJ#  KLL##$C$JeJefj  gE  gE  FG  gH  KI#  JLL 23"//MMdNhNhimi|i|N}NRNhNhimi}i}N~NRNhNhimi|i|N}NRNhNhimi{i{N|qu  rZ  rZ	 N [ u$(;~~.''-1-H-H-X040K0KDNN0[ ( ] ''-1-H-H-X040K0KDNN0[ ( ] LL##N)-)D)DTEWEW)X,0,G,GHZHZ,[ $ ] LL""d&A&A$..&Q"R )<r?   c                    d|v rk| j                  |j                  d      d      | _        d}| j                         D ]/  }t	        |t
              s|j                  | j                         1 d|v rQ| j                  dk(  rB| j                         D ]/  }t	        |t
              s|j                  | j                         1 d|v r'| j                  |j                  d            | _        d}d|v r|j                  d      | _        d}d	|v r|j                  d	      | _	        d}d
|v r|j                  d
      | _
        d}t        |   dd|i| y )Nr   Tr   )r   r   rW   r   r   r   r   require_redrawr%   )r)   popr,   rB   r+   r   r5   r*   r-   r.   r/   r&   )r;   rb   r<   childr=   s       r>   r5   zCTkFrame.configure   sN   !33FJJz4JY]3^DN!N ,,. =e\2OOT^^O<= ~~.!002 AE!%6@A V#!%!7!7

>8R!SD!N%/-3ZZ8R-SD*!Nf$"(**_"=D!NV#!'N!;D!NBB6Br?   attribute_namec                     |dk(  r| j                   S |dk(  r| j                  S |dk(  r| j                  S |dk(  r| j                  S |dk(  r| j                  S t
        |   |      S )Nr   r   r   r   r   )r.   r/   r,   r*   r-   r&   cget)r;   re   r=   s     r>   rg   zCTkFrame.cget   sw    _,&&&~-%%%z)>>!~-%%%99111 7<//r?   c                 h    |dk(  s|du st        d      | j                  j                  ||d       y) called on the tkinter.Canvas +TzE'add' argument can only be '+' or True to preserve internal callbacks)addN)rD   r3   bind)r;   sequencecommandrk   s       r>   rl   zCTkFrame.bind   s4    s
cTkdee(G6r?   c                 V    |t        d      | j                  j                  |d       y)ri   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)rD   r3   unbind)r;   rm   funcids      r>   rp   zCTkFrame.unbind   s1     q r rHd+r?   )	   rr   NNrW   NNNN)NN)F)NNT)__name__
__module____qualname____doc__r   intr   r   strr   r'   r   anyrB   rH   rM   r:   r5   rg   rl   rp   __classcell__)r=   s   @r>   r   r   	   sU    ""<@;?9FCGGK]aHL0*0*0* 0* !)sCx 9	0*
  (c3h80* !eCHo!560* $E#uS#X*>$?@0*  (c5c?.B(CD0* ,1uS%S/=Q7R1SUY1Y+Z0* 6;395E0*d!S	 !#SP!CF03 03 0 7,r?   r   N)typingr   r   r   r   r   core_renderingr	   r(   r
   r   core_widget_classesr   r   r%   r?   r>   <module>r~      s%    4 4 %  & -{,| {,r?   