Purge underscored header file barriers
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / slider / slider.h
index 1a382bd..603e110 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_SLIDER_H__
-#define __DALI_TOOLKIT_SLIDER_H__
+#ifndef DALI_TOOLKIT_SLIDER_H
+#define DALI_TOOLKIT_SLIDER_H
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,125 +31,272 @@ namespace Internal DALI_INTERNAL
 {
 class Slider;
 }
+/**
+ * @addtogroup dali_toolkit_controls_slider
+ * @{
+ */
 
 /**
- * @brief Slider is a control to enable sliding an indicator between two values
+ * @brief Slider is a control to enable sliding an indicator between two values.
+ *
+ * Signals
+ * | %Signal Name      | Method                        |
+ * |-------------------|-------------------------------|
+ * | valueChanged      | @ref ValueChangedSignal()     |
+ * | markReached       | @ref MarkReachedSignal()      |
+ * | slidingFinished   | @ref SlidingFinishedSignal()  |
+ * @SINCE_1_1.39
  */
-class DALI_IMPORT_API Slider : public Control
+class DALI_TOOLKIT_API Slider : public Control
 {
 public:
 
-  //Signal Names
-  static const char* const SIGNAL_VALUE_CHANGED;
-  static const char* const SIGNAL_MARK;
-
   // Properties
-  static const Property::Index LOWER_BOUND_PROPERTY;            ///< Property, name "lower-bound",       type FLOAT
-  static const Property::Index UPPER_BOUND_PROPERTY;            ///< Property, name "upper-bound",       type FLOAT
-  static const Property::Index VALUE_PROPERTY;                  ///< Property, name "value",             type FLOAT
-
-  static const Property::Index HIT_REGION_PROPERTY;             ///< Property, name "hit-region",        type VECTOR2
-  static const Property::Index BACKING_REGION_PROPERTY;         ///< Property, name "backing-region",    type VECTOR2
-  static const Property::Index HANDLE_REGION_PROPERTY;          ///< Property, name "handle-region",     type VECTOR2
-
-  static const Property::Index BACKING_IMAGE_NAME_PROPERTY;     ///< Property, name "backing-image-name",  type STRING
-  static const Property::Index HANDLE_IMAGE_NAME_PROPERTY;      ///< Property, name "handle-image-name",   type STRING
-  static const Property::Index PROGRESS_IMAGE_NAME_PROPERTY;    ///< Property, name "progress-image-name", type STRING
-  static const Property::Index POPUP_IMAGE_NAME_PROPERTY;       ///< Property, name "popup-image-name",    type STRING
-  static const Property::Index POPUP_ARROW_IMAGE_NAME_PROPERTY; ///< Property, name "popup-arrow-image-name", type STRING
-
-  static const Property::Index DISABLE_COLOR_PROPERTY;          ///< Property, name "disable-color",    type VECTOR4
-  static const Property::Index POPUP_TEXT_COLOR_PROPERTY;       ///< Property, name "popup-text-color", type VECTOR4
-
-  static const Property::Index VALUE_PRECISION_PROPERTY;        ///< Property, name "value-precision",  type INT
 
-  static const Property::Index SHOW_POPUP_PROPERTY;             ///< Property, name "show-popup",       type BOOLEAN
-  static const Property::Index SHOW_VALUE_PROPERTY;             ///< Property, name "show-value",       type BOOLEAN
-
-  static const Property::Index ENABLED_PROPERTY;                ///< Property, name "enabled",          type BOOLEAN
+  /**
+   * @brief Enumeration for the start and end property ranges for this control.
+   * @SINCE_1_1.39
+   */
+  enum PropertyRange
+  {
+    PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1, ///< @SINCE_1_1.39
+    PROPERTY_END_INDEX =   PROPERTY_START_INDEX + 1000              ///< Reserve property indices @SINCE_1_1.39
+  };
 
-  static const Property::Index MARKS_PROPERTY;                  ///< Property, name "marks",            type Property::Array<float>
-  static const Property::Index SNAP_TO_MARKS_PROPERTY;          ///< Property, name "snap-to-marks",    type BOOLEAN
-  static const Property::Index MARK_TOLERANCE_PROPERTY;         ///< Property, name "mark-tolerance",   type FLOAT
+  /**
+   * @brief Enumeration for the instance of properties belonging to the Slider class.
+   * @SINCE_1_1.39
+   */
+  struct Property
+  {
+    /**
+     * @brief Enumeration for the instance of properties belonging to the Slider class.
+     * @SINCE_1_1.39
+     */
+    enum
+    {
+
+      /**
+       * @brief name "lowerBound", type float.
+       * @SINCE_1_1.39
+       */
+      LOWER_BOUND = PROPERTY_START_INDEX,
+
+      /**
+       * @brief name "upperBound", type float.
+       * @SINCE_1_1.39
+       */
+      UPPER_BOUND,
+
+      /**
+       * @brief name "value", type float.
+       * @SINCE_1_1.39
+       */
+      VALUE,
+
+      /**
+       * @brief name "trackVisual", type string if it is a url, map otherwise.
+       * @SINCE_1_1.39
+       */
+      TRACK_VISUAL,
+
+      /**
+       * @brief name "handleVisual", type string if it is a url, map otherwise.
+       * @SINCE_1_1.39
+       */
+      HANDLE_VISUAL,
+
+      /**
+       * @brief name "progressVisual", type string if it is a url, map otherwise.
+       * @SINCE_1_1.39
+       */
+      PROGRESS_VISUAL,
+
+      /**
+       * @brief name "popupVisual", type string if it is a url, map otherwise.
+       * @SINCE_1_1.39
+       */
+      POPUP_VISUAL,
+
+      /**
+       * @brief name "popupArrowVisual", type string if it is a url, map otherwise.
+       * @SINCE_1_1.39
+       */
+      POPUP_ARROW_VISUAL,
+
+      /**
+       * @brief name "disabledColor", type Vector4.
+       * @SINCE_1_1.39
+       */
+      DISABLED_COLOR,
+
+      /**
+       * @brief name "valuePrecision", type int.
+       * @SINCE_1_1.39
+       */
+      VALUE_PRECISION,
+
+      /**
+       * @brief name "showPopup", type bool.
+       * @SINCE_1_1.39
+       */
+      SHOW_POPUP,
+
+      /**
+       * @brief name "showValue", type bool.
+       * @SINCE_1_1.39
+       */
+      SHOW_VALUE,
+
+      /**
+       * @brief name "marks", type Property::Array<float>.
+       * @SINCE_1_1.39
+       */
+      MARKS,
+
+      /**
+       * @brief name "snapToMarks", type bool.
+       * @SINCE_1_1.39
+       */
+      SNAP_TO_MARKS,
+
+      /**
+       * @brief name "markTolerance", type float.
+       * @SINCE_1_1.39
+       */
+      MARK_TOLERANCE,
+    };
+  };
 
 public:
 
   /**
-   * Create the Slider control
-   * @return A handle to the Slider control.
+   * @brief Creates the Slider control.
+   * @SINCE_1_1.39
+   * @return A handle to the Slider control
    */
   static Slider New();
 
   /**
-   * Creates an empty Slider handle
+   * @brief Creates an empty Slider handle.
+   * @SINCE_1_1.39
    */
   Slider();
 
   /**
-   * Copy constructor. Creates another handle that points to the same real object
+   * @brief Copy constructor.
+   *
+   * Creates another handle that points to the same real object.
+   * @SINCE_1_1.39
+   * @param[in] handle Handle to an object
    */
   Slider( const Slider& handle );
 
   /**
-   * Assignment operator. Changes this handle to point to another real object
+   * @brief Assignment operator.
+   *
+   * Changes this handle to point to another real object.
+   * @SINCE_1_1.39
+   * @param[in] handle Handle to an object
+   * @return A reference to this
    */
   Slider& operator=( const Slider& handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
+   * @SINCE_1_1.39
    */
   ~Slider();
 
   /**
-   * Downcast an Object handle to Slider. If handle points to a Slider the
-   * downcast produces valid handle. If not the returned handle is left uninitialized.
+   * @brief Downcasts an Object handle to Slider.
+   *
+   * If handle points to a Slider, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
+   * @SINCE_1_1.39
    * @param[in] handle Handle to an object
    * @return handle to a Slider or an uninitialized handle
    */
   static Slider DownCast( BaseHandle handle );
 
-public:
-
-  // Signals
+public:  // Signals
 
-  // Value changed
+  /**
+   * @brief Value changed signal type.
+   * @SINCE_1_1.39
+   */
   typedef Signal< bool ( Slider, float ) > ValueChangedSignalType;
-  typedef Signal< bool ( Slider, int ) > MarkSignalType;
 
   /**
-   * Signal emitted when the slider value changes
+   * @brief Mark reached signal type.
+   * @SINCE_1_1.39
+   */
+  typedef Signal< bool ( Slider, int ) > MarkReachedSignalType;
+
+  /**
+   * @brief Signal emitted when the slider value changes.
+   *
+   * A callback of the following type may be connected:
+   * @code
+   *   bool YourCallbackName( Slider slider, float value );
+   * @endcode
+   * @SINCE_1_1.39
+   * @return The signal to connect to
    */
   ValueChangedSignalType& ValueChangedSignal();
 
   /**
-   * Signal emitted when the sliding is finished
+   * @brief Signal emitted when the sliding is finished.
+   *
+   * A callback of the following type may be connected:
+   * @code
+   *   bool YourCallbackName( Slider slider, float value );
+   * @endcode
+   * @SINCE_1_1.39
+   * @return The signal to connect to
    */
   ValueChangedSignalType& SlidingFinishedSignal();
 
   /**
-   * Signal emitted when the slider handle reaches a mark
+   * @brief Signal emitted when the slider handle reaches a mark.
+   *
+   * A callback of the following type may be connected:
+   * @code
+   *   bool YourCallbackName( Slider slider, int value );
+   * @endcode
+   * @SINCE_1_1.39
+   * @return The signal to connect to
    */
-  MarkSignalType& MarkSignal();
+  MarkReachedSignalType& MarkReachedSignal();
 
 public: // Not intended for application developers
 
+  /// @cond internal
   /**
-   * Creates a handle using the Toolkit::Internal implementation.
-   * @param[in]  implementation  The Control implementation.
+   * @brief Creates a handle using the Toolkit::Internal implementation.
+   *
+   * @SINCE_1_1.39
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL Slider(Internal::Slider& implementation);
 
   /**
-   * Allows the creation of this Control from an Internal::CustomActor pointer.
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
+   *
+   * @SINCE_1_1.39
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL Slider( Dali::Internal::CustomActor* internal );
+  /// @endcond
 };
 
+/**
+ * @}
+ */
 } // namespace Toolkit
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_SLIDER_H__
+#endif // DALI_TOOLKIT_SLIDER_H