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=3f2f169c789a96f6c471059b771a08dc2aa2b51d;hp=76f646ff2f950afbab031aca9448a813fdacbf23;hb=a3b69d118ee5f918a827b23ea76813a7aefad845;hpb=0ccf79d8c24cc732f22d9c80cb089d70883aa363 diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index 76f646f..3f2f169 100644 --- a/dali-toolkit/public-api/controls/control.h +++ b/dali-toolkit/public-api/controls/control.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_CONTROL_H__ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 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. @@ -49,6 +49,7 @@ class Control; * @brief Control is the base class for all controls. * * The implementation of the control must be supplied; see Internal::Control for more details. + * @SINCE_1_0.0 * @see Internal::Control * * Signals @@ -72,41 +73,79 @@ class DALI_IMPORT_API Control : public CustomActor public: /** - * @brief The start and end property ranges for control. + * @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. - CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX, ///< Start index of Control properties. - CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000 ///< Reserving 1000 property indices. + 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 }; /** - * @brief An enumeration of properties belonging to the Control class. + * @brief Enumeration for the instance of properties belonging to the Control class. + * @SINCE_1_0.0 */ struct Property { + /** + * @brief Enumeration for the instance of properties belonging to the Control class. + * @SINCE_1_0.0 + */ enum { - STYLE_NAME = PROPERTY_START_INDEX, ///< name "styleName", @see SetStyleName, type std::string - BACKGROUND_COLOR, ///< name "background-color", @deprecated DALi 1.1.3 mutually exclusive with BACKGROUND_IMAGE & BACKGROUND, type Vector4 - BACKGROUND_IMAGE, ///< name "background-image", @deprecated DALi 1.1.3 mutually exclusive with BACKGROUND_COLOR & BACKGROUND, type Map - KEY_INPUT_FOCUS, ///< name "keyInputFocus", @see SetKeyInputFocus, type bool - BACKGROUND, ///< name "background", @since DALi 1.1.3 mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map + /** + * @brief name "styleName", type std::string. + * @SINCE_1_0.0 + * @see SetStyleName + */ + STYLE_NAME = PROPERTY_START_INDEX, + /** + * @DEPRECATED_1_1.3 + * @brief name "backgroundColor", mutually exclusive with BACKGROUND_IMAGE & BACKGROUND, type Vector4. + * @SINCE_1_0.0 + * @see SetStyleName + */ + BACKGROUND_COLOR, + /** + * @DEPRECATED_1_1.3 + * @brief name "backgroundImage", mutually exclusive with BACKGROUND_COLOR & BACKGROUND, type Map. + * @SINCE_1_0.0 + */ + BACKGROUND_IMAGE, + /** + * @brief name "keyInputFocus", type bool. + * @SINCE_1_0.0 + * @see SetKeyInputFocus + */ + KEY_INPUT_FOCUS, + /** + * @brief name "background", mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map or std::string for URL. + * @SINCE_1_1.3 + */ + BACKGROUND, }; }; /** * @brief Describes the direction to move the keyboard focus towards. + * @SINCE_1_0.0 */ struct KeyboardFocus { + /** + * @brief Keyboard focus direction. + * @SINCE_1_0.0 + */ enum Direction { - LEFT, ///< Move keyboard focus towards the left direction - RIGHT, ///< Move keyboard focus towards the right direction - UP, ///< Move keyboard focus towards the up direction - DOWN ///< Move keyboard focus towards the down 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 }; }; @@ -121,32 +160,36 @@ public: public: // Creation & Destruction /** - * @brief Create a new instance of a Control. + * @brief Creates a new instance of a Control. * - * @return A handle to a new Control. + * @SINCE_1_0.0 + * @return A handle to a new Control */ static Control New(); /** - * @brief Create an uninitialized Control handle. + * @brief Creates an uninitialized Control handle. * * Only derived versions can be instantiated. Calling member * functions with an uninitialized Dali::Object is not allowed. + * @SINCE_1_0.0 */ Control(); /** * @brief Copy constructor. * - * Creates another handle that points to the same real object + * Creates another handle that points to the same real object. + * @SINCE_1_0.0 * @param[in] uiControl Handle to copy */ Control(const Control& uiControl); /** - * @brief Dali::Control is intended as a base class + * @brief Dali::Control is intended as a base class. * * This is non-virtual since derived Handle types must not contain data or virtual methods. + * @SINCE_1_0.0 */ ~Control(); @@ -155,22 +198,24 @@ public: // operators /** * @brief Assignment operator. * - * Changes this handle to point to another real object + * 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 + * @return Reference to this */ Control& operator=( const Control& handle ); public: /** - * @brief Downcast an Object handle to Control. + * @brief Downcasts a handle to Control handle. * - * If handle points to a Control the downcast produces valid - * handle. If not the returned handle is left uninitialized. + * If handle points to a Control, 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 handle to a Control or an uninitialized handle + * @return A handle to a Control or an uninitialized handle */ static Control DownCast( BaseHandle handle ); @@ -180,23 +225,24 @@ public: * @brief This sets the control to receive key events. * * The key event can originate from a virtual or physical keyboard. + * @SINCE_1_0.0 * @pre The Control has been initialized. * @pre The Control should be on the stage before setting keyboard focus. - * @return True if the control has foucs, False otherwise. */ void SetKeyInputFocus(); /** * @brief Quries whether the control has key input focus. * - * Note: The control can be set to have the focus and still not receive all the key events if another control has over ridden it. + * @SINCE_1_0.0 + * @return true if this control has keyboard input focus + * @pre The Control has been initialized. + * @pre The Control should be on the stage before setting keyboard focus. + * @note The control can be set to have the focus and still not receive all the key events if another control has over ridden it. * As the key input focus mechanism works like a stack, the top most control receives all the key events, and passes on the * unhandled events to the controls below in the stack. A control in the stack will regain key input focus when there are no more * controls above it in the focus stack. - * To query for the conrol which is on top of the focus stack use Dali::Toolkit::KeyInputFocusManager::GetCurrentKeyboardFocusActor() - * @pre The Control has been initialized. - * @pre The Control should be on the stage before setting keyboard focus. - * @return true if this control has keyboard input focus + * To query for the control which is on top of the focus stack use Dali::Toolkit::KeyInputFocusManager::GetCurrentKeyboardFocusActor(). */ bool HasKeyInputFocus(); @@ -204,6 +250,7 @@ public: * @brief Once an actor is Set to receive key input focus this function is called to stop it receiving key events. * * A check is performed to ensure it was previously set, if this check fails then nothing is done. + * @SINCE_1_0.0 * @pre The Actor has been initialized. */ void ClearKeyInputFocus(); @@ -213,7 +260,8 @@ public: /** * @brief Retrieves the pinch gesture detector of the control. * - * @return The pinch gesture detector. + * @SINCE_1_0.0 + * @return The pinch gesture detector * @note Will return an empty handle if the control does not handle the gesture itself. */ PinchGestureDetector GetPinchGestureDetector() const; @@ -221,7 +269,8 @@ public: /** * @brief Retrieves the pan gesture detector of the control. * - * @return The pan gesture detector. + * @SINCE_1_0.0 + * @return The pan gesture detector * @note Will return an empty handle if the control does not handle the gesture itself. */ PanGestureDetector GetPanGestureDetector() const; @@ -229,7 +278,8 @@ public: /** * @brief Retrieves the tap gesture detector of the control. * - * @return The tap gesture detector. + * @SINCE_1_0.0 + * @return The tap gesture detector * @note Will return an empty handle if the control does not handle the gesture itself. */ TapGestureDetector GetTapGestureDetector() const; @@ -237,7 +287,8 @@ public: /** * @brief Retrieves the long press gesture detector of the control. * - * @return The long press gesture detector. + * @SINCE_1_0.0 + * @return The long press gesture detector * @note Will return an empty handle if the control does not handle the gesture itself. */ LongPressGestureDetector GetLongPressGestureDetector() const; @@ -247,14 +298,15 @@ public: /** * @brief Sets the name of the style to be applied to the control. * - * @param[in] styleName A string matching a style described in a stylesheet. + * @SINCE_1_0.0 + * @param[in] styleName A string matching a style described in a stylesheet */ void SetStyleName( const std::string& styleName ); /** * @brief Retrieves the name of the style to be applied to the control (if any). - * - * @return A string matching a style or an empty string. + * @SINCE_1_0.0 + * @return A string matching a style, or an empty string */ const std::string& GetStyleName() const; @@ -263,32 +315,38 @@ public: /** * @brief Sets the background color of the control. * - * @note if SetBackgroundImage is called later, this background color is removed. - * + * @SINCE_1_0.0 * @param[in] color The required background color of the control * + * @note If SetBackgroundImage is called later, this background color is removed. + * * @note The background color fully blends with the actor color. */ void SetBackgroundColor( const Vector4& color ); /** - * @brief Retrieves the background color of the control. + * @DEPRECATED_1_1.3 * - * @deprecated DALi 1.1.3 API removed. + * @brief Retrieves the background color of the control. * - * @return The background color of the control. + * @SINCE_1_0.0 + * @return The background color of the control */ - Vector4 GetBackgroundColor() const; + Vector4 GetBackgroundColor() const DALI_DEPRECATED_API; /** + * @DEPRECATED_1_2_8, use Property::BACKGROUND instead + * * @brief Sets an image as the background of the control. * - * @param[in] image The image to set as the background. + * @SINCE_1_0.0 + * @param[in] image The image to set as the background */ - void SetBackgroundImage( Image image ); + void SetBackgroundImage( Image image ) DALI_DEPRECATED_API; /** * @brief Clears the background. + * @SINCE_1_0.0 */ void ClearBackground(); @@ -303,13 +361,14 @@ public: * @endcode * The return value of True, indicates that the event should be consumed. * Otherwise the signal will be emitted on the next parent of the actor. + * @SINCE_1_0.0 + * @return The signal to connect to * @pre The Control has been initialized. - * @return The signal to connect to. */ KeyEventSignalType& KeyEventSignal(); /** - * @brief This signal is emitted when the control gets Key Input Focus + * @brief This signal is emitted when the control gets Key Input Focus. * * A callback of the following type may be connected: * @code @@ -317,8 +376,9 @@ public: * @endcode * The return value of True, indicates that the event should be consumed. * Otherwise the signal will be emitted on the next parent of the actor. + * @SINCE_1_0.0 + * @return The signal to connect to * @pre The Control has been initialized. - * @return The signal to connect to. */ KeyInputFocusSignalType& KeyInputFocusGainedSignal(); @@ -333,19 +393,20 @@ public: * @endcode * The return value of True, indicates that the event should be consumed. * Otherwise the signal will be emitted on the next parent of the actor. + * @SINCE_1_0.0 + * @return The signal to connect to * @pre The Control has been initialized. - * @return The signal to connect to. */ KeyInputFocusSignalType& KeyInputFocusLostSignal(); public: // Intended for control developers /** - * @brief Create an initialised Control. - * - * @param[in] implementation The implementation for this control. - * @return A handle to a newly allocated Dali resource. + * @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); @@ -354,7 +415,8 @@ public: // Intended for control developers * @brief This constructor is used by CustomActor within Dali core to create additional Control handles * using an Internal CustomActor pointer. * - * @param [in] internal A pointer to a newly allocated Dali resource + * @SINCE_1_0.0 + * @param[in] internal A pointer to a newly allocated Dali resource */ explicit Control(Dali::Internal::CustomActor* internal); @@ -363,10 +425,11 @@ public: // Templates for Deriving Classes /** * @brief Template to allow deriving controls to DownCast handles to deriving handle classes. * - * @tparam T The handle class - * @tparam I The implementation class - * @param[in] handle Handle to an object - * @return Handle to a class T or an uninitialized handle. + * @tparam T The handle class + * @tparam I The implementation class + * @SINCE_1_0.0 + * @param[in] handle Handle to an object + * @return Handle to a class T or an uninitialized handle * @see DownCast(BaseHandle) */ template @@ -394,8 +457,9 @@ public: // Templates for Deriving Classes * @brief Template to allow deriving controls to verify whether the Internal::CustomActor* is actually an * implementation of their class. * - * @tparam I The implementation class - * @param[in] internal Pointer to the Internal::CustomActor + * @tparam I The implementation class + * @SINCE_1_0.0 + * @param[in] internal Pointer to the Internal::CustomActor */ template DALI_INTERNAL void VerifyCustomActorPointer(Dali::Internal::CustomActor* internal)