Formatting API
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / buttons / radio-button.h
index 3dcd111..8ec4f5a 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_RADIO_BUTTON_H__
-#define __DALI_TOOLKIT_RADIO_BUTTON_H__
+#ifndef DALI_TOOLKIT_RADIO_BUTTON_H
+#define DALI_TOOLKIT_RADIO_BUTTON_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2029 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
 {
-
 // Forward declarations
 
 namespace Internal DALI_INTERNAL
@@ -34,7 +32,7 @@ namespace Internal DALI_INTERNAL
 // Forward declarations
 
 class RadioButton;
-}
+} // namespace DALI_INTERNAL
 /**
  * @addtogroup dali_toolkit_controls_buttons
  * @{
@@ -45,7 +43,7 @@ class RadioButton;
  *
  * Radio buttons are designed to select one of many option at the same time.
  *
- * Every button have its own \e label and \e state, which can be modified by Button::SetLabelText and Button::SetSelected.
+ * Every button have its own \e label and \e state, which can be modified by Button::Property::LABEL and Button::Property::SELECTED.
  *
  * RadioButton can change its current state using Button::SetSelected.
  *
@@ -60,35 +58,35 @@ class RadioButton;
  * Usage example: -
  *
  * @code
- * // in Creating a DALi Application
+ * // In Creating a DALi Application
  *
  * // Create a group to bind two or more RadioButtons together
  * Actor radioGroup = Actor::New();
- * radioGroup.SetParentOrigin( ParentOrigin::CENTER );
+ * radioGroup.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
  * Stage::GetCurrent().Add( radioGroup );
  *
  * // Make the first RadioButton and add it to its parent
  * RadioButton button1 = RadioButton::New();
- * button1.SetLabelText( "button1" );
+ * button1.SetProperty( Button::Property::LABEL, "button1" );
  * button1.SetBackgroundColor( Color::WHITE );
- * button1.SetPosition( 0, -40 );
+ * button1.SetProperty( Actor::Property::POSITION, Vector2( 0, -40 ) );
  * radioGroup.Add( button1 );
  *
  * // Make more RadioButtons and add them to their parent
  * RadioButton button2 = RadioButton::New();
- * button2.SetLabelText( "button2" );
+ * button2.SetProperty( Toolkit::Button::Property::LABEL, "button2" );
  * button2.SetBackgroundColor( Color::WHITE );
- * button2.SetPosition( 0, 40 );
+ * button2.SetProperty( Actor::Property::POSITION, Vector2( 0, 40 ) );
  * radioGroup.Add( button2 );
  *
  * @endcode
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API RadioButton: public Button
+class DALI_TOOLKIT_API RadioButton : public Button
 {
- public:
+public:
   /**
-   * @brief Create an uninitialized RadioButton; this can be initialized with RadioButton::New().
+   * @brief Creates an uninitialized RadioButton; this can be initialized with RadioButton::New().
    *
    * Calling member functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_0.0
@@ -98,17 +96,37 @@ class DALI_IMPORT_API RadioButton: public Button
   /**
    * @brief Copy constructor.
    * @SINCE_1_0.0
+   * @param[in] radioButton Handle to an object
+   */
+  RadioButton(const RadioButton& radioButton);
+
+  /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
    */
-  RadioButton( const RadioButton& radioButton );
+  RadioButton(RadioButton&& rhs);
 
   /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
+   * @param[in] radioButton Handle to an object
+   * @return A reference to this
    */
-  RadioButton& operator=( const RadioButton& radioButton );
+  RadioButton& operator=(const RadioButton& radioButton);
 
   /**
-   * @brief Destructor
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  RadioButton& operator=(RadioButton&& rhs);
+
+  /**
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -116,53 +134,51 @@ class DALI_IMPORT_API RadioButton: public Button
   ~RadioButton();
 
   /**
-   * @brief Create an initialized RadioButton.
+   * @brief Creates an initialized RadioButton.
    *
    * @SINCE_1_0.0
-   * @return A handle to a newly allocated Dali resource.
+   * @return A handle to a newly allocated Dali resource
    */
   static RadioButton New();
 
   /**
-   * @brief Create an initialized RadioButton with given label.
+   * @brief Creates an initialized RadioButton with given label.
    *
    * @SINCE_1_0.0
-   * @param[in] label The button label.
-   *
-   * @return A handle to a newly allocated Dali resource.
+   * @param[in] label The button label
+   * @return A handle to a newly allocated Dali resource
    */
-  static RadioButton New( const std::string& label );
+  static RadioButton New(const std::string& label);
 
   /**
-   * @brief Downcast a handle to RadioButton handle.
+   * @brief Downcasts a handle to RadioButton handle.
    *
-   * If handle points to a RadioButton the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a RadioButton, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
    * @return A handle to a RadioButton or an uninitialized handle
    */
-  static RadioButton DownCast( BaseHandle handle );
-
- public: // Not intended for application developers
+  static RadioButton DownCast(BaseHandle handle);
 
+public: // Not intended for application developers
   /// @cond internal
   /**
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
-  DALI_INTERNAL RadioButton( Internal::RadioButton& implementation );
+  DALI_INTERNAL RadioButton(Internal::RadioButton& implementation);
 
   /**
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
-  DALI_INTERNAL RadioButton( Dali::Internal::CustomActor* internal );
+  DALI_INTERNAL RadioButton(Dali::Internal::CustomActor* internal);
   /// @endcond
 };
 
@@ -173,4 +189,4 @@ class DALI_IMPORT_API RadioButton: public Button
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_RADIO_BUTTON_H__
+#endif // DALI_TOOLKIT_RADIO_BUTTON_H