
    kjU                     `    d dl Z  G d de j                        Z G d de j                        Zy)    Nc                       e Zd Zd Zd Zy)Tabc                     t        j                  |d      }t        j                  |dd      }t        j                  ||      }t         j                  j                  | |       || _        || _        y)zL
        onclick is called on click with the tab offset as argument
        center)align)relatived   )r   widthN)urwidTextPaddingAttrMap
WidgetWrap__init__offsetonclick)selfr   contentattrr   ps         e/home/ubuntu/.cache/pipx/cdb5059130eadca/lib/python3.12/site-packages/mitmproxy/tools/console/tabs.pyr   zTab.__init__   s[     JJwh/MM!83DEMM!T"!!$*    c                 R    |dk(  r"|dk(  r| j                  | j                         yy y )Nzmouse press   T)r   r   )r   sizeeventbuttoncolrowfocuss          r   mouse_eventzTab.mouse_event   s+    M!fkLL% '2!r   N)__name__
__module____qualname__r   r!    r   r   r   r      s    	r   r   c                   2     e Zd Zd fd	Zd Zd Zd Z xZS )Tabsc                     t         |   t        j                  g              || _        || _        | j                          y N)superr   r   Pile
tab_offsettabsshow)r   r-   r,   	__class__s      r   r   zTabs.__init__   s/    B($			r   c                 2    || _         | j                          y r)   )r,   r.   )r   r   s     r   
change_tabzTabs.change_tab   s     		r   c                 L   t        | j                        }|dk(  r"| j                  | j                  dz   |z         nM|dk(  r"| j                  | j                  dz   |z         n&|dk(  r!| j                  | j                  dz
  |z         | j                  j                  ||      S )Nm_nextr   rightleft)lenr-   r1   r,   _wkeypress)r   r   keyns       r   r8   zTabs.keypress!   s    		N(?OOT__q0A56G^OOT__q0A56F]OOT__q0A56wwc**r   c           	      p   | j                   sy g }t        t        | j                               D ]  } | j                   |   d          }|| j                  t        | j                         z  k(  r(|j	                  t        ||d| j                               g|j	                  t        ||d| j                                t        j                  |d      }t        j                   | j                   | j                  t        | j                         z     d          |      | _
        d| j                  _        y )Nr   headingheading_inactiver   )dividechars)bodyheaderr?   )r-   ranger6   r,   appendr   r1   r   ColumnsFramer7   focus_position)r   headersitxts       r   r.   z	Tabs.show+   s    yys499~& 	QA!$))A,q/#CDOOc$))n44s1c9dooFGs1c+=tOP	Q --Q7++?4??S^;<Q?A'
 "(r   )r   )r"   r#   r$   r   r1   r8   r.   __classcell__)r/   s   @r   r'   r'      s    +(r   r'   )r   r   r   r'   r%   r   r   <module>rJ      s,    %

 $$(5 $(r   