X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffocus-manager%2Fkeyboard-focus-manager-impl.h;h=468687ad026d3a6bea64b5daad862f781829112b;hp=de3770fde1503a81de3169e54b15ab1b8ded4381;hb=833eeb9dbee178112f134eb4a7e7504c504a1c04;hpb=a1a0675dc4a30f302eadcee1641d939ced5c823e diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h index de3770f..468687a 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H__ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 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. @@ -19,8 +19,6 @@ */ // EXTERNAL INCLUDES -#include -#include #include // INTERNAL INCLUDES @@ -107,6 +105,11 @@ public: */ Actor GetFocusIndicatorActor(); + /** + * Move current focus to backward + */ + void MoveFocusBackward(); + public: /** @@ -149,6 +152,9 @@ protected: private: + typedef Dali::Vector< Dali::BaseObject* > FocusStack; ///< Define Dali::Vector< Dali::BaseObject* > as FocusStack to contain focus history + typedef FocusStack::Iterator FocusStackIterator; ///< Define FocusStack::Iterator as FocusStackIterator to navigate FocusStack + /** * Get the focus group of current focused actor. * @pre The FocusManager has been initialized. @@ -159,10 +165,10 @@ private: /** * Move the focus to the specified actor and send notification for the focus change. - * @param actorID The ID of the actor to be queried + * @param actor The actor to be queried * @return Whether the focus is successful or not */ - bool DoSetCurrentFocusActor(const unsigned int actorID); + bool DoSetCurrentFocusActor(Actor actor); /** * Move the focus to the next actor towards the specified direction within the layout control @@ -190,11 +196,6 @@ private: void DoKeyboardEnter( Actor actor ); /** - * Create the default indicator actor to highlight the focused actor. - */ - void CreateDefaultFocusIndicatorActor(); - - /** * Check whether the actor is a layout control that supports two dimensional keyboard navigation. * The layout control needs to internally set the focus order for the child actor and be able to * tell KeyboardFocusmanager the next focusable actor in the given direction. @@ -221,15 +222,9 @@ private: /** * Callback for the touch event when the screen is touched and when the touch ends * (i.e. the down & up touch events only). - * @param[in] touchEvent The touch event + * @param[in] touch The touch information */ - void OnTouched(const TouchEvent& touchEvent); - - /** - * Change the keyboard focus status when keyboard focus feature turned on or off. - * @return Whether the status is changed or not. - */ - void OnPhysicalKeyboardStatusChanged(PhysicalKeyboard keyboard); + void OnTouch( const TouchData& touch ); private: @@ -251,13 +246,14 @@ private: bool mFocusGroupLoopEnabled:1; ///< Whether the focus movement is looped within the same focus group - bool mIsKeyboardFocusEnabled:1; ///< Whether keyboard focus feature turned on/off - bool mIsFocusIndicatorEnabled:1; ///< Whether indicator should be shown / hidden. It could be enabled when keyboard focus feature enabled and navigation keys or 'Tab' key pressed. bool mIsWaitingKeyboardFocusChangeCommit:1; /// A flag to indicate PreFocusChangeSignal emitted but the proposed focus actor is not commited by the application yet. + FocusStack mFocusHistory; ///< Stack to contain pre-focused actor's BaseObject* + SlotDelegate< KeyboardFocusManager > mSlotDelegate; + }; } // namespace Internal