B
    p[                 @   s   d Z ddl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 ddlmZmZmZ i Zd	ed
< ee
eG dd deeZee
eG dd deZee
eG dd deZeG dd deZdS )zBox widgets.

These widgets are containers that can be used to
group other widgets together and control their
relative layouts.
   )registerwidget_serializationWidget)	DOMWidget)
CoreWidget)	doc_subst)
TypedTuple    )UnicodeCaselessStrEnumInstancea  
    children: iterable of Widget instances
        list of widgets to display

    box_style: str
        one of 'success', 'info', 'warning' or 'danger', or ''.
        Applies a predefined style to the box. Defaults to '',
        which applies no pre-defined style.
Z
box_paramsc                   s   e Zd ZdZedjddZedjddZee	e
ddjf ddieZed	d
dddgdddjddZd fdd	Zdd Z  ZS )BoxaT   Displays multiple widgets in a group.

    The widgets are laid out horizontally.

    Parameters
    ----------
    {box_params}

    Examples
    --------
    >>> import ipywidgets as widgets
    >>> title_widget = widgets.HTML('<em>Box Example</em>')
    >>> slider = widgets.IntSlider()
    >>> widgets.Box([title_widget, slider])
    ZBoxModelT)syncZBoxViewzList of widget children)Ztraithelpr   ZsuccessinfoZwarningZdanger z%Use a predefined styling for the box.)valuesZdefault_valuer    c                s*   ||d< t t| jf | | tj d S )Nchildren)superr   __init__Zon_displayed_fire_children_displayed)selfr   kwargs)	__class__r   <lib/python3.7/site-packages/ipywidgets/widgets/widget_box.pyr   >   s    zBox.__init__c             C   s   x| j D ]}|  qW d S )N)r   Z_handle_displayed)r   Zchildr   r   r   r   C   s    zBox._fire_children_displayed)r   )__name__
__module____qualname____doc__r
   tag_model_name
_view_namer   r   r   r   r   r   Z	box_styler   r   __classcell__r   r   )r   r   r      s   r   c               @   s0   e Zd ZdZedjddZedjddZdS )VBoxaO   Displays multiple widgets vertically using the flexible box model.

    Parameters
    ----------
    {box_params}

    Examples
    --------
    >>> import ipywidgets as widgets
    >>> title_widget = widgets.HTML('<em>Vertical Box Example</em>')
    >>> slider = widgets.IntSlider()
    >>> widgets.VBox([title_widget, slider])
    Z	VBoxModelT)r   ZVBoxViewN)r   r   r   r   r
   r    r!   r"   r   r   r   r   r$   H   s   r$   c               @   s0   e Zd ZdZedjddZedjddZdS )HBoxaS   Displays multiple widgets horizontally using the flexible box model.

    Parameters
    ----------
    {box_params}

    Examples
    --------
    >>> import ipywidgets as widgets
    >>> title_widget = widgets.HTML('<em>Horizontal Box Example</em>')
    >>> slider = widgets.IntSlider()
    >>> widgets.HBox([title_widget, slider])
    Z	HBoxModelT)r   ZHBoxViewN)r   r   r   r   r
   r    r!   r"   r   r   r   r   r%   \   s   r%   c               @   s,   e Zd ZedjddZedjddZdS )GridBoxZGridBoxModelT)r   ZGridBoxViewN)r   r   r   r
   r    r!   r"   r   r   r   r   r&   p   s   r&   N)r   Zwidgetr   r   r   Z	domwidgetr   Zwidget_corer   Zdocutilsr   Ztrait_typesr   Z	traitletsr
   r   r   Z_doc_snippetsr   r$   r%   r&   r   r   r   r   <module>	   s&   	'

