Adjust the position of the partial Frame
[platform/framework/native/uifw.git] / inc / FUiIInputConnectionEventListener.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 /**
19  * @file                FUiIInputConnectionEventListener.h
20  * @brief       This is the header file for the %IInputConnectionEventListener class.
21  *
22  * This header file contains the declarations of the %IInputConnectionEventListener class.
23  *
24  *
25  */
26
27 #ifndef _FUI_IINPUT_CONNECTION_EVENT_LISTENER_H_
28 #define _FUI_IINPUT_CONNECTION_EVENT_LISTENER_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 Rectangle;
40 }} // Tizen::Graphics
41
42
43 namespace Tizen { namespace Ui {
44
45 class InputConnection;
46
47 /**
48  * @class       IInputConnectionEventListener
49  * @brief       This is the header file for the %IInputConnectionEventListener class.
50  * This header file contains the declarations of the %IInputConnectionEventListener class.
51  * It's possible to not work the callback depending on the current InputMethod.
52  * @since 2.0
53  *
54  * The %IInputConnectionEventListener interface defines methods for processing between the InputConnection and the input method.
55  */
56 class _OSP_EXPORT_ IInputConnectionEventListener
57         : virtual public Tizen::Base::Runtime::IEventListener
58 {
59 public:
60         /**
61          * 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.
62          *
63          * @since 2.0
64          */
65         virtual ~IInputConnectionEventListener(void) {}
66
67         /**
68          * Notifies when the show state of the InputPanel is changed.
69          *
70          * @since 2.0
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          * Notifies when the language of the InputPanel is changed.
78          *
79          * @since 2.0
80          * @param[in]   source          The source of the event
81          * @param[in]   language        The language code
82          */
83         virtual void OnInputConnectionPanelLanguageChanged(Tizen::Ui::InputConnection& source, Tizen::Locales::LanguageCode language) = 0;
84
85         /**
86          * Notifies when the size of the InputPanel is changed.
87          *
88          * @since 2.0
89          * @param[in]   source          The source of the event
90          * @param[in]   bounds          The size
91          */
92         virtual void OnInputConnectionPanelBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::Rectangle& bounds) = 0;
93
94         /**
95          * Notifies when the show state of the Text-Prediction is changed.
96          *
97          * @since 2.0
98          * @param[in]   source          The source of the event
99          * @param[in]   isShown         The state
100          */
101         virtual void OnInputConnectionTextPredictionShowStateChanged(Tizen::Ui::InputConnection& source, bool isShown) = 0;
102
103         /**
104          * Notifies when the size of the Text-Prediction is changed.
105          *
106          * @since 2.0
107          * @param[in]   source          The source of the event
108          * @param[in]   bounds          The size
109          */
110         virtual void OnInputConnectionTextPredictionBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::Rectangle& bounds) = 0;
111
112         /**
113          * Notifies when the key of the InputPanel is selected.
114          *
115          * @since 2.0
116          * @param[in]   source          The source of the event
117          * @param[in]   committedText           The committed text.
118          */
119         virtual void OnInputConnectionTextCommitted(Tizen::Ui::InputConnection& source, const Tizen::Base::String& committedText) = 0;
120
121         /**
122          * Notifies when the key of the InputPanel is selected during the composing.
123          *
124          * @since 2.0
125          * @param[in]   source          The source of the event
126          * @param[in]   composingText           The composing text.
127          * @param[in]   cursorPosition  the current cursor position.
128          */
129         virtual void OnInputConnectionComposingTextChanged(Tizen::Ui::InputConnection& source, const Tizen::Base::String& composingText, int cursorPosition) = 0;
130
131 protected:
132         //
133         // This method is for internal use only. Using this method can cause behavioral, security-related,
134         // and consistency-related issues in the application.
135         //
136         // This method is reserved and may change its name at any time without
137         // prior notice.
138         //
139         virtual void IInputConnectionEventListener_Reserved1(void) {}
140
141         //
142         // This method is for internal use only. Using this method can cause behavioral, security-related,
143         // and consistency-related issues in the application.
144         //
145         // This method is reserved and may change its name at any time without
146         // prior notice.
147         //
148         virtual void IInputConnectionEventListener_Reserved2(void) {}
149
150         //
151         // This method is for internal use only. Using this method can cause behavioral, security-related,
152         // and consistency-related issues in the application.
153         //
154         // This method is reserved and may change its name at any time without
155         // prior notice.
156         //
157         virtual void IInputConnectionEventListener_Reserved3(void) {}
158
159         //
160         // This method is for internal use only. Using this method can cause behavioral, security-related,
161         // and consistency-related issues in the application.
162         //
163         // This method is reserved and may change its name at any time without
164         // prior notice.
165         //
166         virtual void IInputConnectionEventListener_Reserved4(void) {}
167
168         //
169         // This method is for internal use only. Using this method can cause behavioral, security-related,
170         // and consistency-related issues in the application.
171         //
172         // This method is reserved and may change its name at any time without
173         // prior notice.
174         //
175         virtual void IInputConnectionEventListener_Reserved5(void) {}
176 }; // IInputConnectionEventListener
177
178 }} // Tizen::Ui
179 #endif // _FUI_IINPUT_CONNECTION_EVENT_LISTENER_H_