#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.
{
class Control;
}
+/**
+ * @addtogroup dali_toolkit_controls
+ * @{
+ */
/**
* @brief Control is the base class for all controls.
* @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 |
+ * |------------------------|-----------------------------------------------------|
+ * | keyEvent | @ref KeyEventSignal() |
+ * | keyInputFocusGained | @ref KeyInputFocusGainedSignal() |
+ * | keyInputFocusLost | @ref KeyInputFocusLostSignal() |
+ * | tapped | @ref GetTapGestureDetector().DetectedSignal() |
+ * | panned | @ref GetPanGestureDetector().DetectedSignal() |
+ * | pinched | @ref GetPinchGestureDetector().DetectedSignal() |
+ * | longPressed | @ref GetLongPressGestureDetector().DetectedSignal() |
*
* Actions
- * | %Action Name | %Control method called |
- * |-------------------|-----------------------------------------------------|
- * | control-activated | %OnActivated() |
+ * | %Action Name | %Control method called |
+ * |------------------------|----------------------------------------------------|
+ * | accessibilityActivated | %OnAccessibilityActivated() |
*/
class DALI_IMPORT_API Control : public CustomActor
{
{
enum
{
- STYLE_NAME = PROPERTY_START_INDEX, ///< name "style-name", @see SetStyleName, type std::string
- BACKGROUND_COLOR, ///< name "background-color", @see SetBackgroundColor, type Vector4
- BACKGROUND_IMAGE, ///< name "background-image", @see SetBackgroundImage, type Map
- KEY_INPUT_FOCUS, ///< name "key-input-focus", @see SetKeyInputFocus, type bool
+ 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 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
/// @brief Key Event signal type;
typedef Signal<bool ( Control, const KeyEvent& ) > KeyEventSignalType;
+ /// @brief Key InputFocusType signal type;
+ typedef Signal<void ( Control ) > KeyInputFocusSignalType;
+
public: // Creation & Destruction
/**
*/
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
/**
*/
LongPressGestureDetector GetLongPressGestureDetector() const;
- // Background
+ // Styling
/**
* @brief Sets the name of the style to be applied to the control.
/**
* @brief Sets the background color of the control.
*
+ * @note if SetBackgroundImage is called later, this background color is removed.
+ *
* @param[in] color The required background color of the control
*
* @note The background color fully blends with the actor color.
/**
* @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;
/**
* @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 );
*/
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
/**
* @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
/**
};
+/**
+ * @}
+ */
} // namespace Toolkit
} // namespace Dali