namespace Toolkit
{
+/**
+ * @addtogroup dali_toolkit_controls
+ * @{
+ */
+
class StyleManager;
namespace Internal
{
-class FocusManager;
-class KeyboardFocusManager;
-class KeyInputFocusManager;
-
/**
* @brief This is the internal base class for all controls.
*
void SetBackgroundImage( Image image );
/**
+ * @brief Set the background with a property map.
+ *
+ * @param[in] map The background property map.
+ */
+ void SetBackground(const Property::Map& map);
+
+ /**
* @copydoc Dali::Toolkit::Control::ClearBackground
*/
void ClearBackground();
*/
bool IsKeyboardFocusGroup();
- // Called by Focus Manager
-
/**
- * @brief Called by the focus manager and keyboard focus manager to Activate the Control
+ * @brief Called by the AccessibilityManager to activate the Control.
*/
DALI_INTERNAL void AccessibilityActivate();
+ /**
+ * @brief Called by the KeyboardFocusManager.
+ */
+ DALI_INTERNAL void KeyboardEnter();
+
// Signals
/**
*/
DALI_INTERNAL bool EmitKeyEventSignal( const KeyEvent& event );
+private:
+
+ /**
+ * Sets up the background image/color based on the current state.
+ * This will set the depth index (always), and add to stage if the control is on stage.
+ *
+ */
+ void UpdateBackgroundState();
+
protected: // For derived classes to call
/**
/**
* @copydoc CustomActorImpl::OnStageConnection()
*/
- virtual void OnStageConnection();
+ virtual void OnStageConnection( int depth );
/**
* @copydoc CustomActorImpl::OnStageDisconnection()
virtual bool OnKeyEvent( const KeyEvent& event );
/**
- * @copydoc CustomActorImpl::OnMouseWheelEvent()
+ * @copydoc CustomActorImpl::OnWheelEvent()
*/
- virtual bool OnMouseWheelEvent( const MouseWheelEvent& event );
+ virtual bool OnWheelEvent( const WheelEvent& event );
/**
* @copydoc CustomActorImpl::OnRelayout()
*/
virtual bool OnAccessibilityValueChange( bool isIncrease );
+ /**
+ * @brief This method should be overridden by deriving classes when they wish to respond
+ * the accessibility zoom action
+ *
+ * @return true if the zoom action has been consumed by this control
+ */
+ virtual bool OnAccessibilityZoom();
+
// Keyboard focus
/**
* @param[in] loopEnabled Whether the focus movement should be looped within the control.
* @return the next keyboard focusable actor in this control or an empty handle if no actor can be focused.
*/
- virtual Actor GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::Control::KeyboardFocusNavigationDirection direction, bool loopEnabled );
+ virtual Actor GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled );
/**
* @brief Informs this control that its chosen focusable actor will be focused.
*/
virtual void OnKeyboardFocusChangeCommitted( Actor commitedFocusableActor );
+ /**
+ * @brief This method is called when the control has enter pressed on it.
+ *
+ * Derived classes should override this to perform custom actions.
+ * @return true if this control supported this action.
+ */
+ virtual bool OnKeyboardEnter();
+
// Gestures
/**
* @param handle
* @return implementation
*/
-Internal::Control& GetImplementation( Dali::Toolkit::Control& handle );
+DALI_IMPORT_API Internal::Control& GetImplementation( Dali::Toolkit::Control& handle );
/**
* @brief Get implementation from the handle
* @param handle
* @return implementation
*/
-const Internal::Control& GetImplementation( const Dali::Toolkit::Control& handle );
+DALI_IMPORT_API const Internal::Control& GetImplementation( const Dali::Toolkit::Control& handle );
} // namespace Internal
+/**
+ * @}
+ */
} // namespace Toolkit
} // namespace Dali