B
    ^ c                 @   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 )    )FrameLabelc               @   s   e Zd Zdd Zd	ddZdS )
MultiStatusBarc             K   s   t j| |f| i | _d S )N)r   __init__labels)selfZmasterkw r	   "lib/python3.7/idlelib/statusbar.pyr      s    zMultiStatusBar.__init__ leftr   c             C   sb   || j k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}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   )Toplevelr   Text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	   )msbr	   r
   change$   s    z _multistatus_bar.<locals>.changezUpdate status)r   Zcommand)r   )tkinterr   r   r   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   