Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_ILanguageEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
10 //
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.
16 //
17 /**
18  * @file        FUiCtrl_ILanguageEventListener.h
19  * @brief       This is the header file for the _ILanguageEventListener class.
20  *
21  * This header file contains the declarations of the _ILanguageEventListener class.
22  */
23
24 #ifndef _FUI_CTRL_INTERNAL_ILANGUAGE_EVENT_LISTENER_H_
25 #define _FUI_CTRL_INTERNAL_ILANGUAGE_EVENT_LISTENER_H_
26
27 // Includes
28 #include <FOspConfig.h>
29 #include <FLclLocale.h>
30 #include <FBaseRtIEventListener.h>
31
32 namespace Tizen { namespace Ui { namespace Controls
33 {
34
35 /**
36  * @if PRIVCORE
37  * This is internal. If used in an application, the application can get rejected during the certification process.
38  * @interface  ILanguageEventListener
39  * @brief      This interface implements the listener for the language event.
40  * @since                               1.0
41  *
42  * The ILanguageEventListener interface receives language events. The class that processes a language event
43  * implements this interface, and the instance created with that class is registered with a UI control, using the control's
44  * AddLanguageEventListener() method. @n
45  *
46  * When the current input language is changed (for example, when the user toggles the input language from the virtual
47 * keypad, the listener's OnLanguageChanged() method is
48 * invoked.
49  */
50
51 class _ILanguageEventListener
52         : virtual public Tizen::Base::Runtime::IEventListener
53 {
54
55 // Operation
56
57 public:
58         /**
59          * @if PRIVCORE
60          * This is the default constructor for this class.
61          *
62          * @since                               1.0
63          */
64         _ILanguageEventListener(void) {};
65
66         /**
67          * @if PRIVCORE
68          * This is internal. If used in an application, the application can get rejected during the certification process.
69          * This is the destructor for this class.
70          *
71          * @since                               1.0
72          */
73         virtual ~_ILanguageEventListener(void) {}
74
75         /**
76          * @if PRIVCORE
77          * Notifies when the input language is changed.
78          *
79          * @since                       1.0
80          * @param[in] source         The source of the event
81          * @param[in] previousLanguage       The previous input language
82          * @param[in] currentLanguage       The current input language
83          */
84         virtual void OnLanguageChanged(Tizen::Locales::LanguageCode oldLanguage, Tizen::Locales::LanguageCode newLanguage) = 0;
85 }; // _ILanguageEventListener
86
87 }}} // Tizen::Ui::Controls
88
89 #endif //_FUI_CTRL_INTERNAL_ILANGUAGE_EVENT_LISTENER_H_