[dali_2.3.23] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / progress-bar / progress-bar.h
index 4a6ce3a..66c24a5 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_PROGRESS_BAR_H
 
 /*
- * Copyright (c) 2017 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 ProgressBar;
@@ -38,27 +36,7 @@ class ProgressBar;
 
 /**
  * @brief ProgressBar is a control to give the user an indication of the progress of an operation.
- * *
- *     Determinate Progress State
- *
- *      #  : Progress visual
- *      *  : Secondary Progress visual
- *      =  : Track visual
- *     40% : Label visual
- *
- *     =============================================
- *     = ###############**** 40%                   =
- *     =============================================
- *
- *     Indeterminate Progress State
- *
- *      /  : Indeterminate visual
  *
- *     =============================================
- *     = ///////////////////////////////////////// =
- *     =============================================
- *
- * Also progress value percentage is shown as text inside the progress bar.
  * Signals
  * | %Signal Name      | Method                        |
  * |-------------------|-------------------------------|
@@ -67,10 +45,9 @@ class ProgressBar;
  * @SINCE_1_2.60
  */
 
-class DALI_IMPORT_API ProgressBar : public Control
+class DALI_TOOLKIT_API ProgressBar : public Control
 {
 public:
-
   // Properties
 
   /**
@@ -80,15 +57,19 @@ public:
   enum PropertyRange
   {
     PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1, ///< Start Index. @SINCE_1_2.60
-    PROPERTY_END_INDEX =   PROPERTY_START_INDEX + 1000              ///< Reserve property indices. @SINCE_1_2.60
+    PROPERTY_END_INDEX   = PROPERTY_START_INDEX + 1000              ///< Reserve property indices. @SINCE_1_2.60
   };
 
   /**
-   * @brief An enumeration of properties belonging to the ProgressBar class.
+   * @brief Enumeration of properties belonging to the ProgressBar class.
    * @SINCE_1_2.60
    */
   struct Property
   {
+    /**
+     * @brief Enumeration for the instance of properties belonging to the ProgressBar class.
+     * @SINCE_1_2.60
+     */
     enum
     {
       /**
@@ -172,9 +153,8 @@ public:
   };
 
 public:
-
   /**
-   * @brief Creates the ProgressBar control.
+   * @brief Creates the ProgressBar control. It creates a horizontal linear shape of progress bar.
    * @SINCE_1_2.60
    * @return A handle to the ProgressBar control
    */
@@ -191,16 +171,36 @@ public:
    *
    * Creates another handle that points to the same real object.
    * @SINCE_1_2.60
+   * @param[in] handle Handle to an object
    */
-  ProgressBar( const ProgressBar& handle );
+  ProgressBar(const ProgressBar& handle);
+
+  /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ProgressBar(ProgressBar&& rhs) noexcept;
 
   /**
    * @brief Assignment operator.
    *
    * Changes this handle to point to another real object.
    * @SINCE_1_2.60
+   * @param[in] handle Handle to an object
+   * @return A reference to this
+   */
+  ProgressBar& operator=(const ProgressBar& handle);
+
+  /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
    */
-  ProgressBar& operator=( const ProgressBar& handle );
+  ProgressBar& operator=(ProgressBar&& rhs) noexcept;
 
   /**
    * @brief Destructor.
@@ -219,15 +219,14 @@ public:
    * @param[in] handle Handle to an object
    * @return handle to a ProgressBar or an uninitialized handle
    */
-  static ProgressBar DownCast( BaseHandle handle );
-
-public:  // Signals
+  static ProgressBar DownCast(BaseHandle handle);
 
+public: // Signals
   /**
    * @brief Value changed signal type.
    * @SINCE_1_2.60
    */
-  typedef Signal< void ( ProgressBar, float, float ) > ValueChangedSignalType;
+  typedef Signal<void(ProgressBar, float, float)> ValueChangedSignalType;
 
   /**
    * @brief Signal emitted when the ProgressBar value changes.
@@ -242,7 +241,6 @@ public:  // Signals
   ValueChangedSignalType& ValueChangedSignal();
 
 public: // Not intended for application developers
-
   /// @cond internal
   /**
    * @brief Creates a handle using the Toolkit::Internal implementation.
@@ -254,7 +252,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    * @param[in]  internal  A pointer to the internal CustomActor
    */
-  explicit DALI_INTERNAL ProgressBar( Dali::Internal::CustomActor* internal );
+  explicit DALI_INTERNAL ProgressBar(Dali::Internal::CustomActor* internal);
   /// @endcond
 };