-#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
// Forward declarations
class RadioButton;
-}
+} // namespace DALI_INTERNAL
/**
* @addtogroup dali_toolkit_controls_buttons
* @{
*
* 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.
*
* 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
/**
* @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
~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
};
/**
} // namespace Dali
-#endif // __DALI_TOOLKIT_RADIO_BUTTON_H__
+#endif // DALI_TOOLKIT_RADIO_BUTTON_H