a
    If                     @   sb   d dl mZmZ G dd deZdd Zedkr^d dlmZ edd	d
d d dlm	Z	 e	e 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	   "lib/python3.9/idlelib/statusbar.pyr      s    zMultiStatusBar.__init__ leftr   c                 C   sb   || j vr4t| ddd}|j|ddd || j |< n
| j | }|dkrR|j|d |j|d d S )Nr   w)ZborderwidthZ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   Z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   )Z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"     
r.   __main__)mainz idlelib.idle_test.test_statusbar   F)	verbosityexit)runN)
r%   r   r   r   r.   r   Zunittestr0   Zidlelib.idle_test.htestr4   r	   r	   r	   r
   <module>   s   