-#ifndef __DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H__
-#define __DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H__
+#ifndef DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H
+#define DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
namespace Dali
{
+class Window;
+
namespace Toolkit
{
/**
* @copydoc Toolkit::KeyboardFocusManager
*/
-class KeyboardFocusManager : public Dali::BaseObject
+class KeyboardFocusManager : public Dali::BaseObject, public ConnectionTracker
{
public:
*/
void SetCustomAlgorithm(CustomAlgorithmInterface& interface);
+ /**
+ * @copydoc Toolkit::DevelKeyboardFocusManager::UseFocusIndicator
+ */
+ void EnableFocusIndicator(bool enable);
+
+ /**
+ * @copydoc Toolkit::DevelKeyboardFocusManager::UseFocusIndicator
+ */
+ bool IsFocusIndicatorEnabled() const;
+
public:
/**
typedef FocusStack::iterator FocusStackIterator; ///< Define FocusStack::Iterator as FocusStackIterator to navigate FocusStack
/**
+ * This will be called when the adaptor is initialized
+ */
+ void OnAdaptorInit();
+
+ /**
+ * This will be called when a new wndow is created
+ * @param window The new window
+ */
+ void OnWindowCreated( Dali::Window& window );
+
+ /**
* Get configuration from StyleManager.
*/
void GetConfigurationFromStyleManger();
Actor mFocusIndicatorActor; ///< The focus indicator actor shared by all the keyboard focusable actors for highlight
- int mIsFocusIndicatorEnabled; ///< Whether indicator should be shown / hidden when getting focus. It could be enabled when keyboard focus feature is enabled and navigation keys or 'Tab' key are pressed.
+ int mIsFocusIndicatorShown; ///< Whether indicator should be shown / hidden when getting focus. It could be enabled when keyboard focus feature is enabled and navigation keys or 'Tab' key are pressed.
bool mFocusGroupLoopEnabled:1; ///< Whether the focus movement is looped within the same focus group
bool mClearFocusOnTouch:1; ///< Whether clear focus on touch.
+ bool mEnableFocusIndicator; ///< Whether use focus indicator
+
+ bool mAlwaysShowIndicator; ///< Whether always show indicator. If true, the indicator would be directly shown when focused.
+
FocusStack mFocusHistory; ///< Stack to contain pre-focused actor's BaseObject*
SlotDelegate< KeyboardFocusManager > mSlotDelegate;
} // namespace Dali
-#endif // __DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H__
+#endif // DALI_TOOLKIT_INTERNAL_KEYBOARD_FOCUS_MANAGER_H