o
     JAf                     @   sf   d dl mZmZ G dd deZdd Zedkr1d dlmZ edd	d
d d dlm	Z	 e	e dS dS )    )LabelFramec                   @   s   e Zd Zdd Zd	ddZdS )
MultiStatusBarc                 K   s   t j| |fi | i | _d S )N)r   __init__labels)selfZmasterkw r	   (/usr/lib/python3.10/idlelib/statusbar.pyr      s   
zMultiStatusBar.__init__ leftr   c                 C   sb   || j vrt| ddd}|j|ddd || j |< n| j | }|dkr)|j|d |j|d d S )Nr   w)Zborderwidthanchor   )sideZpadyZpadx)width)text)r   r   packZconfig)r   namer   r   r   Zlabelr	   r	   r
   	set_label
   s   

zMultiStatusBar.set_labelN)r   r   r   )__name__
__module____qualname__r   r   r	   r	   r	   r
   r      s    r   c                    s   ddl m}m} ddlm}m} || }tt|  	ddd  \}}|d||d f  |
d ||}||d	d
d}	|	  t|  dd  dd  jddd  fdd}
||d|
d}|jdd |  d S )Nr   )ToplevelText)r   Button+   z+%d+%d   zTest multistatus bar   (   )Zheightr   oneZhellotwoZworldZbottomx)r   fillc                      s     dd   dd d S )Nr!   Zfoor"   Zbar)r   r	   Zmsbr	   r
   change%   s   z _multistatus_bar.<locals>.changezUpdate status)r   Zcommand)r   )tkinterr   r   tkinter.ttkr   r   mapintZgeometrysplittitler   r   r   )parentr   r   r   r   topr#   yframer   r&   Zbuttonr	   r%   r
   _multistatus_bar   s"    
r1   __main__)mainz idlelib.idle_test.test_statusbar   F)	verbosityexit)runN)
r(   r   r   r   r1   r   Zunittestr3   Zidlelib.idle_test.htestr7   r	   r	   r	   r
   <module>   s    