import six
from ipywidgets import Widget, DOMWidget, widget_serialization, Color, register
from traitlets import (
    Unicode, Int, CInt, Instance, ForwardDeclaredInstance, This, Enum,
    Tuple, List, Dict, Float, CFloat, Bool, Union, Any,
    )

from .sceneObject import sceneObject


@register
class layer(sceneObject):
    """layer

    Autogenerated by generate-wrappers.js
    """

    def __init__(self, map_id='', **kwargs):
        kwargs['map_id'] = map_id
        super(layer, self).__init__(**kwargs)

    _model_name = Unicode('layerModel').tag(sync=True)

    active = Bool(True, allow_none=False).tag(sync=True)

    annotations = List().tag(sync=True)

    attribution = Unicode(None, allow_none=True).tag(sync=True)

    map_id = Unicode('', allow_none=False).tag(sync=True)

    name = Unicode('', allow_none=False).tag(sync=True)

    opacity = CFloat(1, allow_none=False).tag(sync=True)

    selectionAPI = Bool(True, allow_none=False).tag(sync=True)

    sticky = Bool(True, allow_none=False).tag(sync=True)

    visible = Bool(True, allow_none=False).tag(sync=True)

    zIndex = CInt(None, allow_none=True).tag(sync=True)


if six.PY3:
    import inspect
    # Include explicit signature since the metaclass screws it up
    layer.__signature__ = inspect.signature(layer.__init__)
