2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 * @file FUi_FocusManagerImpl.h
19 * @brief This is the header file for the _FocusManagerImpl class.
21 * This header file contains the declarations of the _FocusManagerImpl class. @n.
23 #ifndef _FUI_INTERNAL_FOCUS_MANAGER_IMPL_H_
24 #define _FUI_INTERNAL_FOCUS_MANAGER_IMPL_H_
27 #include <FBaseObject.h>
29 namespace Tizen { namespace Ui
38 * @brief This class manages the application's current focus owned by the UI control
39 * and its ancestor Window.
42 * Use this class to query the application's current focus owner.
44 class _FocusManagerImpl
45 : public Tizen::Base::Object
49 * Returns the pointer to the current focus manager.
52 * @return The current focus manager instance
54 static _FocusManagerImpl* GetInstance(void);
58 * Gets the current focus owner.
61 * @return The current focus owner
62 * @remarks The method returns the current focus owner of this application.
64 _ControlImpl* GetCurrentFocusOwner(void) const;
68 * Gets the current focused Window.
71 * @return The current focused Window
72 * @remarks The method returns the application's current focus owner's ancestor
73 * Window or Window that is currently focused.
75 _WindowImpl* GetCurrentFocusedWindow(void) const;
77 static void Initialize(void);
79 static void ReleaseInstance(void);
83 * This is the default constructor for this class.
87 _FocusManagerImpl(void);
91 * This is the destructor for this class.
95 virtual ~_FocusManagerImpl(void);
97 _FocusManagerImpl(_FocusManagerImpl& rhs);
98 _FocusManagerImpl& operator=(_FocusManagerImpl& rhs);
100 static void InitializeInstance(void);
103 static _FocusManagerImpl* __pInstance;
104 }; // _FocusManagerImpl
108 #endif // _FUI_INTERNAL_FOCUS_MANAGER_IMPL_H_