B
    &[¨_$  ã               @   s(   d dl mZ d dlZG dd„ deƒZdS )é    )ÚBaseTraceHierarchyTypeNc                   s¦   e Zd ZdZdZddddhZedd„ ƒZejd	d„ ƒZed
d„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚDomainZpiez
pie.domainÚcolumnÚrowÚxÚyc             C   s   | d S )aY  
        If there is a layout grid, use the domain for this column in
        the grid for this pie trace .
    
        The 'column' property is a integer and may be specified as:
          - An int (or float that will be cast to an int)
            in the interval [0, 9223372036854775807]

        Returns
        -------
        int
        r   © )Úselfr   r   úA/tmp/pip-install-l29rncou/plotly/plotly/graph_objs/pie/_domain.pyr      s    zDomain.columnc             C   s   || d< d S )Nr   r   )r	   Úvalr   r   r
   r      s    c             C   s   | d S )aS  
        If there is a layout grid, use the domain for this row in the
        grid for this pie trace .
    
        The 'row' property is a integer and may be specified as:
          - An int (or float that will be cast to an int)
            in the interval [0, 9223372036854775807]

        Returns
        -------
        int
        r   r   )r	   r   r   r
   r   %   s    z
Domain.rowc             C   s   || d< d S )Nr   r   )r	   r   r   r   r
   r   5   s    c             C   s   | d S )aí  
        Sets the horizontal domain of this pie trace (in plot
        fraction).
    
        The 'x' property is an info array that may be specified as:
    
        * a list or tuple of 2 elements where:
    (0) The 'x[0]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]
    (1) The 'x[1]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        list
        r   r   )r	   r   r   r
   r   ;   s    zDomain.xc             C   s   || d< d S )Nr   r   )r	   r   r   r   r
   r   O   s    c             C   s   | d S )aã  
        Sets the vertical domain of this pie trace (in plot fraction).
    
        The 'y' property is an info array that may be specified as:
    
        * a list or tuple of 2 elements where:
    (0) The 'y[0]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]
    (1) The 'y[1]' property is a number and may be specified as:
          - An int or float in the interval [0, 1]

        Returns
        -------
        list
        r   r   )r	   r   r   r
   r   U   s    zDomain.yc             C   s   || d< d S )Nr   r   )r	   r   r   r   r
   r   h   s    c             C   s   dS )NaÊ          column
            If there is a layout grid, use the domain for this
            column in the grid for this pie trace .
        row
            If there is a layout grid, use the domain for this row
            in the grid for this pie trace .
        x
            Sets the horizontal domain of this pie trace (in plot
            fraction).
        y
            Sets the vertical domain of this pie trace (in plot
            fraction).
        r   )r	   r   r   r
   Ú_prop_descriptionsn   s    zDomain._prop_descriptionsNc                sX  t t| ƒ d¡ d|kr&|d | _dS |dkr4i }n4t|| jƒrJ| ¡ }nt|tƒr`t 	|¡}nt
dƒ‚| dd¡| _| dd¡| _| d	d¡}|dk	rœ|n|}|dk	r°|| d	< | d
d¡}|dk	rÈ|n|}|dk	rÜ|| d
< | dd¡}|dk	rô|n|}|dk	r
|| d< | dd¡}|dk	r$|n|}|dk	r:|| d< | jf t|f|ŽŽ d| _dS )aà  
        Construct a new Domain object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of :class:`plotly.graph_objs.pie.Domain`
        column
            If there is a layout grid, use the domain for this
            column in the grid for this pie trace .
        row
            If there is a layout grid, use the domain for this row
            in the grid for this pie trace .
        x
            Sets the horizontal domain of this pie trace (in plot
            fraction).
        y
            Sets the vertical domain of this pie trace (in plot
            fraction).

        Returns
        -------
        Domain
        ÚdomainÚ_parentNz‹The first argument to the plotly.graph_objs.pie.Domain 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.pie.Domain`Zskip_invalidFÚ	_validateTr   r   r   r   )Úsuperr   Ú__init__r   Ú
isinstanceÚ	__class__Zto_plotly_jsonÚdictÚ_copyÚcopyÚ
ValueErrorÚpopZ_skip_invalidr   Z_process_kwargs)r	   Úargr   r   r   r   ÚkwargsZ_v)r   r   r
   r      s@    




zDomain.__init__)NNNNN)Ú__name__Ú
__module__Ú__qualname__Z_parent_path_strZ	_path_strZ_valid_propsÚpropertyr   Úsetterr   r   r   r   r   Ú__classcell__r   r   )r   r
   r      s   r   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r   r   r   r
   Ú<module>   s   