X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol.h;h=a7aee353f7c796670da284fc424e8c4648ac3a57;hp=f418372063d48ca070d8aea76b8e48b380abee9a;hb=8a647e87a01c5c78451653c1264a9eea81ac9b20;hpb=9eecb41468197eb2fc03e55c151011ea387e1bed diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index f418372..a7aee35 100644 --- a/dali-toolkit/public-api/controls/control.h +++ b/dali-toolkit/public-api/controls/control.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_CONTROL_H__ -#define __DALI_TOOLKIT_CONTROL_H__ +#ifndef DALI_TOOLKIT_CONTROL_H +#define DALI_TOOLKIT_CONTROL_H /* - * Copyright (c) 2018 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. @@ -19,24 +19,20 @@ */ // EXTERNAL INCLUDES -#include #include +#include #include #include #include #include -#include -#include // INTERNAL INCLUDES #include namespace Dali { - namespace Toolkit { - //Forward declarations. namespace Internal @@ -75,16 +71,15 @@ class Control; class DALI_TOOLKIT_API Control : public CustomActor { public: - /** * @brief Enumeration for the start and end property ranges for control. * @SINCE_1_0.0 */ enum PropertyRange { - PROPERTY_START_INDEX = PROPERTY_REGISTRATION_START_INDEX, ///< Start index is used by the property registration macro. @SINCE_1_0.0 - CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX, ///< Start index of Control properties. @SINCE_1_0.0 - CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000 ///< Reserving 1000 property indices. @SINCE_1_0.0 + PROPERTY_START_INDEX = PROPERTY_REGISTRATION_START_INDEX, ///< Start index is used by the property registration macro. @SINCE_1_0.0 + CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX, ///< Start index of Control properties. @SINCE_1_0.0 + CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000 ///< Reserving 1000 property indices. @SINCE_1_0.0 }; /** @@ -108,27 +103,6 @@ public: STYLE_NAME = PROPERTY_START_INDEX, /** - * @DEPRECATED_1_1.3 - * @brief The background color of the control. - * - * Mutually exclusive with BACKGROUND_IMAGE & BACKGROUND. - * @details Name "backgroundColor", type Property::VECTOR4. - * @see Toolkit::Control::SetStyleName() - * @SINCE_1_0.0 - */ - BACKGROUND_COLOR, - - /** - * @DEPRECATED_1_1.3 - * @brief The background image of the control. - * - * Mutually exclusive with BACKGROUND_COLOR & BACKGROUND. - * @details Name "backgroundImage", type Property::MAP. - * @SINCE_1_0.0 - */ - BACKGROUND_IMAGE, - - /** * @brief Receives key events to the control. * @details Name "keyInputFocus", type Property::BOOLEAN. * @see Toolkit::Control::SetKeyInputFocus() @@ -139,7 +113,6 @@ public: /** * @brief The background of the control. * - * Mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE. * @details Name "background", type Property::MAP or std::string for URL or Property::VECTOR4 for Color. * @SINCE_1_1.3 */ @@ -174,28 +147,27 @@ public: */ enum Direction { - LEFT, ///< Move keyboard focus towards the left direction @SINCE_1_0.0 - RIGHT, ///< Move keyboard focus towards the right direction @SINCE_1_0.0 - UP, ///< Move keyboard focus towards the up direction @SINCE_1_0.0 - DOWN, ///< Move keyboard focus towards the down direction @SINCE_1_0.0 - PAGE_UP, ///< Move keyboard focus towards the previous page direction @SINCE_1_2.14 - PAGE_DOWN ///< Move keyboard focus towards the next page direction @SINCE_1_2.14 + LEFT, ///< Move keyboard focus towards the left direction @SINCE_1_0.0 + RIGHT, ///< Move keyboard focus towards the right direction @SINCE_1_0.0 + UP, ///< Move keyboard focus towards the up direction @SINCE_1_0.0 + DOWN, ///< Move keyboard focus towards the down direction @SINCE_1_0.0 + PAGE_UP, ///< Move keyboard focus towards the previous page direction @SINCE_1_2.14 + PAGE_DOWN ///< Move keyboard focus towards the next page direction @SINCE_1_2.14 }; }; // Typedefs /// @brief Key Event signal type. @SINCE_1_0.0 - typedef Signal KeyEventSignalType; + typedef Signal KeyEventSignalType; /// @brief Key InputFocusType signal type. @SINCE_1_0.0 - typedef Signal KeyInputFocusSignalType; + typedef Signal KeyInputFocusSignalType; /// @brief ResourceReady signal type. @SINCE_1_2.60 - typedef Signal ResourceReadySignalType; + typedef Signal ResourceReadySignalType; public: // Creation & Destruction - /** * @brief Creates a new instance of a Control. * @@ -223,6 +195,14 @@ public: // Creation & Destruction Control(const Control& uiControl); /** + * @brief Move constructor. + * + * @SINCE_1_9.23 + * @param[in] rhs Handle to move + */ + Control(Control&& rhs); + + /** * @brief Dali::Control is intended as a base class. * * This is non-virtual since derived Handle types must not contain data or virtual methods. @@ -231,19 +211,26 @@ public: // Creation & Destruction ~Control(); public: // operators - /** - * @brief Assignment operator. + * @brief Copy assignment operator. * * Changes this handle to point to another real object. * @SINCE_1_0.0 * @param[in] handle Object to assign this to * @return Reference to this */ - Control& operator=( const Control& handle ); + Control& operator=(const Control& handle); -public: + /** + * @brief Move assignment operator. + * + * @SINCE_1_9.23 + * @param[in] rhs Object to assign this to + * @return Reference to this + */ + Control& operator=(Control&& rhs); +public: /** * @brief Downcasts a handle to Control handle. * @@ -254,7 +241,7 @@ public: * @param[in] handle Handle to an object * @return A handle to a Control or an uninitialized handle */ - static Control DownCast( BaseHandle handle ); + static Control DownCast(BaseHandle handle); // Key Input @@ -338,7 +325,7 @@ public: * @SINCE_1_0.0 * @param[in] styleName A string matching a style described in a stylesheet */ - void SetStyleName( const std::string& styleName ); + void SetStyleName(const std::string& styleName); /** * @brief Retrieves the name of the style to be applied to the control (if any). @@ -359,27 +346,7 @@ public: * * @note The background color fully blends with the actor color. */ - void SetBackgroundColor( const Vector4& color ); - - /** - * @DEPRECATED_1_1.3 - * - * @brief Retrieves the background color of the control. - * - * @SINCE_1_0.0 - * @return The background color of the control - */ - Vector4 GetBackgroundColor() const DALI_DEPRECATED_API; - - /** - * @DEPRECATED_1_2_8, use Property::BACKGROUND instead - * - * @brief Sets an image as the background of the control. - * - * @SINCE_1_0.0 - * @param[in] image The image to set as the background - */ - void SetBackgroundImage( Image image ) DALI_DEPRECATED_API; + void SetBackgroundColor(const Vector4& color); /** * @brief Clears the background. @@ -405,7 +372,7 @@ public: * @param[in] index The Property index of the visual * @return Return the loading status (PREPARING, READY and FAILED) of visual resource */ - Visual::ResourceStatus GetVisualResourceStatus( const Dali::Property::Index index ); + Visual::ResourceStatus GetVisualResourceStatus(const Dali::Property::Index index); // Signals @@ -489,15 +456,12 @@ public: * @note A RelayoutRequest is queued by Control before this signal is emitted */ ResourceReadySignalType& ResourceReadySignal(); - public: // Intended for control developers - /** * @brief Creates an initialized Control. * * @SINCE_1_0.0 * @param[in] implementation The implementation for this control - * @return A handle to a newly allocated Dali resource * @note Should NOT be called to create a handle from the implementation. As stated, this allocates a NEW Dali resource. */ explicit Control(Internal::Control& implementation); @@ -512,7 +476,6 @@ public: // Intended for control developers explicit Control(Dali::Internal::CustomActor* internal); public: // Templates for Deriving Classes - /** * @brief Template to allow deriving controls to DownCast handles to deriving handle classes. * @@ -524,18 +487,18 @@ public: // Templates for Deriving Classes * @see DownCast(BaseHandle) */ template - DALI_INTERNAL static T DownCast( BaseHandle handle ) + DALI_INTERNAL static T DownCast(BaseHandle handle) { T result; - CustomActor custom = Dali::CustomActor::DownCast( handle ); - if ( custom ) + CustomActor custom = Dali::CustomActor::DownCast(handle); + if(custom) { CustomActorImpl& customImpl = custom.GetImplementation(); I* impl = dynamic_cast(&customImpl); - if (impl) + if(impl) { result = T(customImpl.GetOwner()); } @@ -557,12 +520,11 @@ public: // Templates for Deriving Classes { // Can have a NULL pointer so we only need to check if the internal implementation is our class // when there is a value. - if (internal) + if(internal) { DALI_ASSERT_DEBUG(dynamic_cast(&CustomActor(internal).GetImplementation())); } } - }; /** @@ -572,4 +534,4 @@ public: // Templates for Deriving Classes } // namespace Dali -#endif // __DALI_TOOLKIT_CONTROL_H__ +#endif // DALI_TOOLKIT_CONTROL_H