X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffocus-manager%2Fkeyinput-focus-manager-impl.h;h=e1d1a94c3db8ae22ebe13f8eebdd686878904af8;hp=4a17c1780c88a9bde80dfa649bfdd3ba911ded50;hb=9795d65d103bdf0524aa92e96475019eff2705f3;hpb=6186bc00f41913660f342671d97d0d2973864ce3 diff --git a/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.h b/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.h index 4a17c17..e1d1a94 100644 --- a/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.h +++ b/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.h @@ -44,9 +44,6 @@ class KeyInputFocusManager; class KeyInputFocusManager : public Dali::BaseObject, public Dali::ConnectionTracker { public: - typedef Dali::Vector< Dali::BaseObject* > FocusStack; - typedef FocusStack::Iterator FocusStackIterator; - /** * Construct a new KeyInputFocusManager. */ @@ -67,11 +64,6 @@ public: */ Toolkit::Control GetCurrentFocusControl() const; - /** - * @copydoc Toolkit::IsKeyboardListener - */ - bool IsKeyboardListener(Toolkit::Control control) const; - public: /** @@ -80,11 +72,6 @@ public: Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType& KeyInputFocusChangedSignal(); /** - * @copydoc Toolkit::KeyInputFocusManager::UnhandledKeyEventSignal() - */ - Toolkit::KeyInputFocusManager::UnhandledKeyEventSignalType& UnhandledKeyEventSignal(); - - /** * Connects a callback function with the object's signals. * @param[in] object The object providing the signal. * @param[in] tracker Used to disconnect the signal. @@ -105,18 +92,10 @@ protected: private: /** - * Search for a control in the focus stack. - * @param[in] control The control for which to search - * @return An iterator to the control. If not found, this will equate to the - * mFocusStack.End() iterator. - */ - FocusStackIterator FindFocusControlInStack( Toolkit::Control control ) const; - - /** * Callback for the key event when no actor in the stage has gained the key input focus * @param[in] event The KeyEvent event. */ - void OnKeyEvent(const KeyEvent& event); + bool OnKeyEvent(const KeyEvent& event); /** * Signal handler called when a focused Control is removed from Stage. @@ -125,9 +104,12 @@ private: void OnFocusControlStageDisconnection( Dali::Actor control ); /** - * Signal handler called when an actor is destroyed. - */ - void OnObjectDestroyed(const Dali::RefObject* object); + * Recursively deliver events to the control and its parents, until the event is consumed or the stage is reached. + * @param[in] control The control got KeyEvent. + * @param[in] event The KeyEvent. + * @return True if KeyEvent is consumed. + */ + bool EmitKeyEventSignal( Toolkit::Control control, const KeyEvent& event ); private: @@ -141,13 +123,9 @@ private: // The key input focus change signal Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType mKeyInputFocusChangedSignal; - // The un-handled key event signal - Toolkit::KeyInputFocusManager::UnhandledKeyEventSignalType mUnhandledKeyEventSignal; - - // Keyboard events are sent to the current focus actor, which will be the actor on the top of the focus actors stack. - FocusStack mFocusStack; SlotDelegate< KeyInputFocusManager > mSlotDelegate; - ObjectRegistry mObjectRegistry; + + Toolkit::Control mCurrentFocusControl; ///< The current focused control }; } // namespace Internal