class Elm_Check (Elm_Layout, Elm_Interface_Atspi_Widget_Action)
{
   eo_prefix: elm_obj_check;
   properties {
      state {
         set {
            /*@
            @brief Set the on/off state of the check object

            @if MOBILE @since_tizen 2.3
            @elseif WEARABLE @since_tizen 2.3.1
            @endif

            @remark This sets the state of the check. If set with elm_check_state_pointer_set()
            the state of that variable is also changed. Calling this @b doesn't cause
            the "changed" signal to be emitted.

            @ingroup Check */
         }
         get {
            /*@
            @brief Get the state of the check object

            @if MOBILE @since_tizen 2.3
            @elseif WEARABLE @since_tizen 2.3.1
            @endif

            @return The boolean state

            @ingroup Check */
         }
         values {
            bool state; /*@ The state to use (1 == on, 0 == off) */
         }
      }
      state_pointer {
         set {
            /*@
            @brief Set a convenience pointer to a boolean to change

            @if MOBILE @since_tizen 2.3
            @elseif WEARABLE @since_tizen 2.3.1
            @endif

            @remark This sets a pointer to a boolean, that, in addition to the check objects
            state will also be modified directly. To stop setting the object pointed
            to simply use NULL as the @p statep parameter. If @p statep is not NULL,
            then when this is called, the check objects state will also be modified to
            reflect the value of the boolean @p statep points to, just like calling
            elm_check_state_set().

            @ingroup Check */
         }
         values {
            bool *statep; /*@ Pointer to the boolean to modify */
         }
      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Evas.Object_Smart.add;
      Elm_Widget.activate;
      Elm_Widget.focus_next_manager_is;
      Elm_Widget.focus_direction_manager_is;
      Elm_Widget.theme_apply;
      Elm_Widget.sub_object_del;
      Elm_Widget.disable;
      Elm_Widget.event;
      Elm_Container.content_set;
      Elm_Layout.text_aliases.get;
      Elm_Layout.content_aliases.get;
      Elm_Layout.sizing_eval;
      Elm_Interface_Atspi_Accessible.state_set.get;
      Elm_Interface_Atspi_Widget_Action.elm_actions.get;
   }
   events {
      changed;
      language,changed;
      access,changed;
      focused;
      unfocused;
   }

}
