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.
19 * @file FUiFocusManager.h
20 * @brief This is the header file for the %FocusManager class.
22 * This header file contains the declarations of the %FocusManager class.
25 #ifndef _FUI_FOCUS_MANAGER_H_
26 #define _FUI_FOCUS_MANAGER_H_
28 #include <FBaseObject.h>
30 namespace Tizen { namespace Ui
39 * @brief This class manages the current focus of the application owned by the UI control and its ancestor Window.
43 * The %FocusManager class is used to query the application's current focus owner.
45 class _OSP_EXPORT_ FocusManager
46 : public Tizen::Base::Object
50 * Gets the pointer to the current focus manager.
54 * @return The current focus manager instance
56 static FocusManager* GetInstance(void);
59 * Gets the current focus owner.
63 * @return The current focus owner
64 * @remarks The method returns the current focus owner of this application.
66 Control* GetCurrentFocusOwner(void) const;
69 * Gets the current focused Window.
73 * @return The current focused Window
74 * @remarks This method returns the application's current focus owner's ancestor Window or the %Window that is currently focused.
76 Window* GetCurrentFocusedWindow(void) const;
80 // This default constructor is intentionally declared as private so that only the platform can create an instance.
85 // This destructor is intentionally declared as private so that only the platform can delete an instance.
87 virtual ~FocusManager(void);
90 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
92 FocusManager(const FocusManager& rhs);
95 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
97 FocusManager& operator=(const FocusManager& rhs);
102 #endif // _FUI_FOCUS_MANAGER_H_