Fix for klockwork minor issues.
[platform/framework/native/uifw.git] / inc / FUiIInputConnectionEventListenerF.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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 /**
19  * @file                FUiIInputConnectionEventListenerF.h
20  * @brief       This is the header file for the %IInputConnectionEventListenerF interface.
21  *
22  * This header file contains the declarations of the %IInputConnectionEventListenerF interface.
23  *
24  *
25  */
26
27 #ifndef _FUI_IINPUT_CONNECTION_EVENT_LISTENER_F_H_
28 #define _FUI_IINPUT_CONNECTION_EVENT_LISTENER_F_H_
29
30 #include <FBaseRtIEventListener.h>
31 #include <FLclLocale.h>
32 #include <FUiInputConnectionTypes.h>
33
34 namespace Tizen { namespace Base {
35         class String;
36 }} // Tizen::Base
37
38 namespace Tizen { namespace Graphics {
39         class FloatRectangle;
40 }} // Tizen::Graphics
41
42
43 namespace Tizen { namespace Ui {
44
45 class InputConnection;
46
47 /**
48  * @interface   IInputConnectionEventListenerF
49  * @brief       This interface defines methods for processing between the %InputConnection and the input method.
50  *
51  * @since 2.1
52  *
53  * The %IInputConnectionEventListener interface defines methods for processing between the InputConnection and the input method. It is possible to not work the callback depending on the current InputMethod.
54  */
55 class _OSP_EXPORT_ IInputConnectionEventListenerF
56         : virtual public Tizen::Base::Runtime::IEventListener
57 {
58 public:
59         /**
60          * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
61          *
62          * @since 2.1
63          */
64         virtual ~IInputConnectionEventListenerF(void) {}
65
66         /**
67          * Called when the show state of the InputPanel is changed.
68          *
69          * @since 2.1
70          *
71          * @param[in]   source          The source of the event
72          * @param[in]   showState       The state
73          */
74         virtual void OnInputConnectionPanelShowStateChanged(Tizen::Ui::InputConnection& source, Tizen::Ui::InputPanelShowState showState) = 0;
75
76         /**
77          * Called when the language of the InputPanel is changed.
78          *
79          * @since 2.1
80          *
81          * @param[in]   source          The source of the event
82          * @param[in]   language        The language code
83          */
84         virtual void OnInputConnectionPanelLanguageChanged(Tizen::Ui::InputConnection& source, Tizen::Locales::LanguageCode language) = 0;
85
86         /**
87          * Called when the size of the InputPanel is changed.
88          *
89          * @since 2.1
90          *
91          * @param[in]   source          The source of the event
92          * @param[in]   bounds          The size
93          */
94         virtual void OnInputConnectionPanelBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::FloatRectangle& bounds) = 0;
95
96         /**
97          * Called when the show state of the Text-Prediction is changed.
98          *
99          * @since 2.1
100          *
101          * @param[in]   source          The source of the event
102          * @param[in]   isShown         The state
103          */
104         virtual void OnInputConnectionTextPredictionShowStateChanged(Tizen::Ui::InputConnection& source, bool isShown) = 0;
105
106         /**
107          * Called when the size of the Text-Prediction is changed.
108          *
109          * @since 2.1
110          *
111          * @param[in]   source          The source of the event
112          * @param[in]   bounds          The size
113          */
114         virtual void OnInputConnectionTextPredictionBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::FloatRectangle& bounds) = 0;
115
116         /**
117          * Called when the key of the InputPanel is selected.
118          *
119          * @since 2.1
120          *
121          * @param[in]   source          The source of the event
122          * @param[in]   committedText           The committed text
123          */
124         virtual void OnInputConnectionTextCommitted(Tizen::Ui::InputConnection& source, const Tizen::Base::String& committedText) = 0;
125
126         /**
127          * Called when the key of the InputPanel is selected during the composing.
128          *
129          * @since 2.1
130          *
131          * @param[in]   source          The source of the event
132          * @param[in]   composingText           The composing text
133          * @param[in]   cursorPosition  The current cursor position
134          */
135         virtual void OnInputConnectionComposingTextChanged(Tizen::Ui::InputConnection& source, const Tizen::Base::String& composingText, int cursorPosition) = 0;
136
137 protected:
138         //
139         // This method is for internal use only. Using this method can cause behavioral, security-related,
140         // and consistency-related issues in the application.
141         //
142         // This method is reserved and may change its name at any time without
143         // prior notice.
144         //
145         virtual void IInputConnectionEventListenerF_Reserved1(void) {}
146
147         //
148         // This method is for internal use only. Using this method can cause behavioral, security-related,
149         // and consistency-related issues in the application.
150         //
151         // This method is reserved and may change its name at any time without
152         // prior notice.
153         //
154         virtual void IInputConnectionEventListenerF_Reserved2(void) {}
155
156         //
157         // This method is for internal use only. Using this method can cause behavioral, security-related,
158         // and consistency-related issues in the application.
159         //
160         // This method is reserved and may change its name at any time without
161         // prior notice.
162         //
163         virtual void IInputConnectionEventListenerF_Reserved3(void) {}
164
165         //
166         // This method is for internal use only. Using this method can cause behavioral, security-related,
167         // and consistency-related issues in the application.
168         //
169         // This method is reserved and may change its name at any time without
170         // prior notice.
171         //
172         virtual void IInputConnectionEventListenerF_Reserved4(void) {}
173
174         //
175         // This method is for internal use only. Using this method can cause behavioral, security-related,
176         // and consistency-related issues in the application.
177         //
178         // This method is reserved and may change its name at any time without
179         // prior notice.
180         //
181         virtual void IInputConnectionEventListenerF_Reserved5(void) {}
182 }; // IInputConnectionEventListenerF
183
184 }} // Tizen::Ui
185 #endif // _FUI_IINPUT_CONNECTION_EVENT_LISTENER_F_H_
186