/**
* @copydoc Toolkit::KeyboardFocusManager::MoveFocus
*/
- bool MoveFocus(Toolkit::Control::KeyboardFocus::Direction direction);
+ bool MoveFocus(Toolkit::Control::KeyboardFocus::Direction direction, const std::string& deviceName = "");
/**
* @copydoc Toolkit::KeyboardFocusManager::ClearFocus
*/
bool IsFocusIndicatorEnabled() const;
+ /**
+ * @copydoc Toolkit::DevelKeyboardFocusManager::EnableDefaultAlgorithm
+ */
+ void EnableDefaultAlgorithm(bool enable);
+
+ /**
+ * @copydoc Toolkit::DevelKeyboardFocusManager::IsDefaultAlgorithmEnabled
+ */
+ bool IsDefaultAlgorithmEnabled() const;
+
+ /**
+ * @copydoc Toolkit::DevelKeyboardFocusManager::SetFocusFinderRootActor
+ */
+ void SetFocusFinderRootActor(Actor actor);
+
+ /**
+ * @copydoc Toolkit::DevelKeyboardFocusManager::ResetFocusFinderRootActor
+ */
+ void ResetFocusFinderRootActor();
+
public:
/**
* @copydoc Toolkit::KeyboardFocusManager::PreFocusChangeSignal()
void OnTouch(const TouchEvent& touch);
/**
+ * Callback for the wheel event when the custom wheel event occurs.
+ * @param[in] wheel The WheelEvent information
+ */
+ bool OnCustomWheelEvent(const WheelEvent& wheel);
+
+ /**
+ * Callback for the wheel event when the wheel event occurs.
+ * @param[in] wheel The WheelEvent information
+ */
+ void OnWheelEvent(const WheelEvent& wheel);
+
+ /**
* Called when the window focus is changed.
* @param[in] window The window whose focus is changed
* @param[in] focusIn Whether the focus is in/out
*/
Actor GetFocusActorFromCurrentWindow();
+ /**
+ * Recursively deliver events to the control and its parents, until the event is consumed or the stage is reached.
+ * @param[in] actor The actor got WheelEvent.
+ * @param[in] event The WheelEvent.
+ * @return True if WheelEvent is consumed.
+ */
+ bool EmitCustomWheelSignals(Actor actor, const WheelEvent& event);
+
+ /**
+ * Clear the focus indicator actor.
+ */
+ void ClearFocusIndicator();
+
+ /**
+ * Gets the current native window id
+ */
+ uint32_t GetCurrentWindowId() const;
+
private:
// Undefined
KeyboardFocusManager(const KeyboardFocusManager&);
Actor mFocusIndicatorActor; ///< The focus indicator actor shared by all the keyboard focusable actors for highlight
+ WeakHandle<Actor> mFocusFinderRootActor; ///<The root actor from which the focus finder is started.
+
FocusStack mFocusHistory; ///< Stack to contain pre-focused actor's BaseObject*
SlotDelegate<KeyboardFocusManager> mSlotDelegate;
bool mIsWaitingKeyboardFocusChangeCommit : 1; /// A flag to indicate PreFocusChangeSignal emitted but the proposed focus actor is not commited by the application yet.
bool mClearFocusOnTouch : 1; ///< Whether clear focus on touch.
+
+ bool mEnableDefaultAlgorithm : 1; ///< Whether use default algorithm focus
+
+ uint32_t mCurrentWindowId; ///< The current native window id
+
};
} // namespace Internal