
    -e]                       d Z ddlmZ ddlZ ej        e          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 dZ G d de
          Z G d de
          Z G d de          Z G d de	          Zd ZdS )a   Integrate Bokeh extensions into Sphinx autodoc.

Ensures that autodoc directives such as ``autoclass`` automatically make use of
Bokeh-specific directives when appropriate. The following Bokeh extensions are
configured:

* :ref:`bokeh.sphinxext.bokeh_color`
* :ref:`bokeh.sphinxext.bokeh_enum`
* :ref:`bokeh.sphinxext.bokeh_model`
* :ref:`bokeh.sphinxext.bokeh_prop`

To enable this extension, add `"bokeh.sphinxext.bokeh_autodoc"` to the
extensions list in your Sphinx configuration module.

    )annotationsN)AttributeDocumenterClassDocumenterModuleLevelDocumenter)Color)Enumeration)PropertyDescriptor)Model   )PARALLEL_SAFE)ColorDocumenterEnumDocumenterModelDocumenterPropDocumentersetupc                  >    e Zd ZdZdZdZed             Zd	dZd Z	dS )
r   zbokeh-color    c                ,    t          |t                    S N)
isinstancer   clsmember
membernameisattrparents        =lib/python3.11/site-packages/bokeh/sphinxext/bokeh_autodoc.pycan_document_memberz#ColorDocumenter.can_document_memberJ   s    &%(((    Fc                    d S r    )selfmore_contentno_docstrings      r   add_contentzColorDocumenter.add_contentO   s    r    c                
    dg fS NFr"   r#   want_alls     r   get_object_membersz"ColorDocumenter.get_object_membersR       byr    N)F)
__name__
__module____qualname__directivetypeobjtypepriorityclassmethodr   r&   r+   r"   r    r   r   r   E   s_        !MGH) ) [)       r    r   c                  6    e Zd ZdZdZdZed             Zd ZdS )r   z
bokeh-enumenumr   c                ,    t          |t                    S r   )r   r   r   s        r   r   z"EnumDocumenter.can_document_member[   s    &+...r    c                
    dg fS r(   r"   r)   s     r   r+   z!EnumDocumenter.get_object_membersb   r,   r    N)	r-   r.   r/   r0   r1   r2   r3   r   r+   r"   r    r   r   r   V   sK         MGH/ / [/    r    r   c                  4    e Zd ZdZdZdZdZed             ZdS )r   z
bokeh-proppropr   ic                ,    t          |t                    S r   )r   r	   r   s        r   r   z"PropDocumenter.can_document_memberl   s    &"4555r    N)	r-   r.   r/   r0   r1   r2   member_orderr3   r   r"   r    r   r   r   f   sA         MGHL6 6 [6 6 6r    r   c                  0    e Zd ZdZdZdZed             ZdS )r   zbokeh-modelmodelr   c                V    t          |t                    ot          |t                    S r   )r   type
issubclassr
   r   s        r   r   z#ModelDocumenter.can_document_memberv   s!    &$''EJvu,E,EEr    N)r-   r.   r/   r0   r1   r2   r3   r   r"   r    r   r   r   q   sA        !MGHF F [F F Fr    r   c                    |                      t                     |                      t                     |                      t                     |                      t                     t
          S )z+ Required Sphinx extension setup function. )add_autodocumenterr   r   r   r   r   )apps    r   r   r   {   sX    ?+++>***>***?+++r    )__doc__
__future__r   logging	getLoggerr-   logsphinx.ext.autodocr   r   r   bokeh.colors.colorr   bokeh.core.enumsr   bokeh.core.property.descriptorsr	   bokeh.modelr
   r   r   __all__r   r   r   r   r   r"   r    r   <module>rO      s   & # " " " " " g!! [ Z Z Z Z Z Z Z Z Z % $ $ $ $ $ ( ( ( ( ( ( > > > > > >            "    +   "    *    6 6 6 6 6( 6 6 6F F F F Fo F F F    r    