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=bac883585bccb683b944f088a55151c6015dc1a4;hp=1e6f8d9c007deb5c51a8606c47d22ab6c6f60e90;hb=618c084142032296c60a188b9438d63a81a2d264;hpb=2ec164cd618f93ccafe17b1d0b8ff16401ed4aef diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index 1e6f8d9..bac8835 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) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 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. @@ -40,6 +40,10 @@ namespace Internal { class Control; } +/** + * @addtogroup dali-toolkit-controls + * @{ + */ /** * @brief Control is the base class for all controls. @@ -48,18 +52,20 @@ class Control; * @see Internal::Control * * Signals - * | %Signal Name | Method | - * |-------------------|-----------------------------------------------------| - * | key-event | @ref KeyEventSignal() | - * | tapped | @ref GetTapGestureDetector().DetectedSignal() | - * | panned | @ref GetPanGestureDetector().DetectedSignal() | - * | pinched | @ref GetPinchGestureDetector().DetectedSignal() | - * | long-pressed | @ref GetLongPressGestureDetector().DetectedSignal() | + * | %Signal Name | Method | + * |------------------------|-----------------------------------------------------| + * | key-event | @ref KeyEventSignal() | + * | key-input-focus-gained | @ref KeyInputFocusGainedSignal() | + * | key-input-focus-lost | @ref KeyInputFocusLostSignal() | + * | tapped | @ref GetTapGestureDetector().DetectedSignal() | + * | panned | @ref GetPanGestureDetector().DetectedSignal() | + * | pinched | @ref GetPinchGestureDetector().DetectedSignal() | + * | long-pressed | @ref GetLongPressGestureDetector().DetectedSignal() | * * Actions - * | %Action Name | %Control method called | - * |-------------------|-----------------------------------------------------| - * | control-activated | %OnActivated() | + * | %Action Name | %Control method called | + * |-------------------------|----------------------------------------------------| + * | accessibility-activated | %OnAccessibilityActivated() | */ class DALI_IMPORT_API Control : public CustomActor { @@ -82,8 +88,8 @@ public: { enum { - BACKGROUND_COLOR = PROPERTY_START_INDEX, ///< name "background-color", @see SetBackgroundColor, type Vector4 - BACKGROUND_IMAGE, ///< name "background-image", @see SetBackgroundImage, type Map + STYLE_NAME = PROPERTY_START_INDEX, ///< name "style-name", @see SetStyleName, type std::string + BACKGROUND, ///< name "background", @see SetBackgroundImage, type Map, @since DALi 1.1.4 KEY_INPUT_FOCUS, ///< name "key-input-focus", @see SetKeyInputFocus, type bool }; }; @@ -91,12 +97,15 @@ public: /** * @brief Describes the direction to move the keyboard focus towards. */ - enum KeyboardFocusNavigationDirection + struct KeyboardFocus { - 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 + 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 + }; }; // Typedefs @@ -104,6 +113,9 @@ public: /// @brief Key Event signal type; typedef Signal KeyEventSignalType; + /// @brief Key InputFocusType signal type; + typedef Signal KeyInputFocusSignalType; + public: // Creation & Destruction /** @@ -160,20 +172,6 @@ public: */ static Control DownCast( BaseHandle handle ); - /** - * @brief Retrieve the Control implementation. - * - * @return The implementation. - */ - Internal::Control& GetImplementation(); - - /** - * @brief Retrieve the Control implementation. - * - * @return The implementation. - */ - const Internal::Control& GetImplementation() const; - // Key Input /** @@ -242,6 +240,22 @@ public: */ LongPressGestureDetector GetLongPressGestureDetector() const; + // Styling + + /** + * @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. + */ + 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. + */ + const std::string& GetStyleName() const; + // Background /** @@ -256,6 +270,8 @@ public: /** * @brief Retrieves the background color of the control. * + * @deprecated DALi 1.1.3 API removed. + * * @return The background color of the control. */ Vector4 GetBackgroundColor() const; @@ -263,8 +279,6 @@ public: /** * @brief Sets an image as the background of the control. * - * The color of this image is blended with the background color @see SetBackgroundColor - * * @param[in] image The image to set as the background. */ void SetBackgroundImage( Image image ); @@ -274,13 +288,6 @@ public: */ void ClearBackground(); - /** - * @brief Retrieves the actor used as the background for this control. - * - * @return The actor that used as the background for this control. - */ - Actor GetBackgroundActor() const; - // Signals /** @@ -290,13 +297,43 @@ public: * @code * bool YourCallbackName(Control control, const KeyEvent& event); * @endcode - * The return value of True, indicates that the touch event should be consumed. - * Otherwise the signal will be emitted on the next sensitive parent of the actor. + * 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. * @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 + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName( Control control ); + * @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. + * @pre The Control has been initialized. + * @return The signal to connect to. + */ + KeyInputFocusSignalType& KeyInputFocusGainedSignal(); + + /** + * @brief This signal is emitted when the control loses Key Input Focus + * which could be due to it being gained by another Control or Actor or just cleared from + * this control as no longer required. + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName( Control control ); + * @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. + * @pre The Control has been initialized. + * @return The signal to connect to. + */ + KeyInputFocusSignalType& KeyInputFocusLostSignal(); + public: // Intended for control developers /** @@ -369,6 +406,9 @@ public: // Templates for Deriving Classes }; +/** + * @} + */ } // namespace Toolkit } // namespace Dali