-#ifndef __DALI_TOOLKIT_SLIDER_H__
-#define __DALI_TOOLKIT_SLIDER_H__
+#ifndef DALI_TOOLKIT_SLIDER_H
+#define DALI_TOOLKIT_SLIDER_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
namespace Dali
{
-
namespace Toolkit
{
-
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 |
- * |-------------------|-----------------------------|
- * | value-changed | @ref ValueChangedSignal() |
- * | mark | @ref MarkSignal() |
+ * | %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:
+ // Properties
/**
- * @brief The start and end property ranges for this control.
+ * @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,
- PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000 ///< Reserving 1000 property indices
+ 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
};
/**
- * @brief An enumeration of properties belonging to the Slider class.
+ * @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
{
- LOWER_BOUND = PROPERTY_START_INDEX, ///< Property, name "lower-bound", type float
- UPPER_BOUND, ///< Property, name "upper-bound", type float
- VALUE, ///< Property, name "value", type float
- HIT_REGION, ///< Property, name "hit-region", type Vector2
- BACKING_REGION, ///< Property, name "backing-region", type Vector2
- HANDLE_REGION, ///< Property, name "handle-region", type Vector2
- BACKING_IMAGE_NAME, ///< Property, name "backing-image-name", type std::string
- HANDLE_IMAGE_NAME, ///< Property, name "handle-image-name", type std::string
- PROGRESS_IMAGE_NAME, ///< Property, name "progress-image-name", type std::string
- POPUP_IMAGE_NAME, ///< Property, name "popup-image-name", type std::string
- POPUP_ARROW_IMAGE_NAME, ///< Property, name "popup-arrow-image-name", type std::string
- DISABLE_COLOR, ///< Property, name "disable-color", type Vector4
- POPUP_TEXT_COLOR, ///< Property, name "popup-text-color", type Vector4
- VALUE_PRECISION, ///< Property, name "value-precision", type int
- SHOW_POPUP, ///< Property, name "show-popup", type bool
- SHOW_VALUE, ///< Property, name "show-value", type bool
- ENABLED, ///< Property, name "enabled", type bool
- MARKS, ///< Property, name "marks", type Property::Array<float>
- SNAP_TO_MARKS, ///< Property, name "snap-to-marks", type bool
- MARK_TOLERANCE, ///< Property, name "mark-tolerance", type float
+
+ /**
+ * @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 );
+ Slider(const Slider& handle);
/**
- * Assignment operator. Changes this handle to point to another real object
+ * @brief Move constructor
+ * @SINCE_1_9.23
+ *
+ * @param[in] rhs A reference to the moved handle
*/
- Slider& operator=( const Slider& handle );
+ Slider(Slider&& rhs);
/**
- * @brief Destructor
+ * @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 Move assignment
+ * @SINCE_1_9.23
+ *
+ * @param[in] rhs A reference to the moved handle
+ * @return A reference to this
+ */
+ Slider& operator=(Slider&& rhs);
+
+ /**
+ * @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 );
+ static Slider DownCast(BaseHandle handle);
-public:
-
- // Signals
+public: // Signals
+ /**
+ * @brief Value changed signal type.
+ * @SINCE_1_1.39
+ */
+ typedef Signal<bool(Slider, float)> ValueChangedSignalType;
- // Value changed
- typedef Signal< bool ( Slider, float ) > ValueChangedSignalType;
- typedef Signal< bool ( Slider, int ) > MarkSignalType;
+ /**
+ * @brief Mark reached signal type.
+ * @SINCE_1_1.39
+ */
+ typedef Signal<bool(Slider, int)> MarkReachedSignalType;
/**
- * Signal emitted when the slider value changes
+ * @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 );
+ explicit DALI_INTERNAL Slider(Dali::Internal::CustomActor* internal);
+ /// @endcond
};
+/**
+ * @}
+ */
} // namespace Toolkit
} // namespace Dali
-#endif // __DALI_TOOLKIT_SLIDER_H__
+#endif // DALI_TOOLKIT_SLIDER_H