2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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 FUiIInputConnectionEventListener.h
20 * @brief This is the header file for the %IInputConnectionEventListener interface.
22 * This header file contains the declarations of the %IInputConnectionEventListener interface.
27 #ifndef _FUI_IINPUT_CONNECTION_EVENT_LISTENER_H_
28 #define _FUI_IINPUT_CONNECTION_EVENT_LISTENER_H_
30 #include <FBaseRtIEventListener.h>
31 #include <FLclLocale.h>
32 #include <FUiInputConnectionTypes.h>
34 namespace Tizen { namespace Base {
38 namespace Tizen { namespace Graphics {
43 namespace Tizen { namespace Ui {
45 class InputConnection;
48 * @interface IInputConnectionEventListener
49 * @brief This interface defines methods for processing between the %InputConnection and the input method.
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.
55 class _OSP_EXPORT_ IInputConnectionEventListener
56 : virtual public Tizen::Base::Runtime::IEventListener
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.
64 virtual ~IInputConnectionEventListener(void) {}
67 * Called when the show state of the InputPanel is changed.
71 * @param[in] source The source of the event
72 * @param[in] showState The state
74 virtual void OnInputConnectionPanelShowStateChanged(Tizen::Ui::InputConnection& source, Tizen::Ui::InputPanelShowState showState) = 0;
77 * Called when the language of the InputPanel is changed.
81 * @param[in] source The source of the event
82 * @param[in] language The language code
84 virtual void OnInputConnectionPanelLanguageChanged(Tizen::Ui::InputConnection& source, Tizen::Locales::LanguageCode language) = 0;
87 * Called when the size of the InputPanel is changed.
91 * @param[in] source The source of the event
92 * @param[in] bounds The size
94 virtual void OnInputConnectionPanelBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::Rectangle& bounds) = 0;
97 * Called when the show state of the Text-Prediction is changed.
101 * @param[in] source The source of the event
102 * @param[in] isShown The state
104 virtual void OnInputConnectionTextPredictionShowStateChanged(Tizen::Ui::InputConnection& source, bool isShown) = 0;
107 * Called when the size of the Text-Prediction is changed.
111 * @param[in] source The source of the event
112 * @param[in] bounds The size
114 virtual void OnInputConnectionTextPredictionBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::Rectangle& bounds) = 0;
117 * Called when the key of the InputPanel is selected.
121 * @param[in] source The source of the event
122 * @param[in] committedText The committed text
124 virtual void OnInputConnectionTextCommitted(Tizen::Ui::InputConnection& source, const Tizen::Base::String& committedText) = 0;
127 * Called when the key of the InputPanel is selected during the composing.
131 * @param[in] source The source of the event
132 * @param[in] composingText The composing text
133 * @param[in] cursorPosition The current cursor position
135 virtual void OnInputConnectionComposingTextChanged(Tizen::Ui::InputConnection& source, const Tizen::Base::String& composingText, int cursorPosition) = 0;
139 // This method is for internal use only. Using this method can cause behavioral, security-related,
140 // and consistency-related issues in the application.
142 // This method is reserved and may change its name at any time without
145 virtual void IInputConnectionEventListener_Reserved1(void) {}
148 // This method is for internal use only. Using this method can cause behavioral, security-related,
149 // and consistency-related issues in the application.
151 // This method is reserved and may change its name at any time without
154 virtual void IInputConnectionEventListener_Reserved2(void) {}
157 // This method is for internal use only. Using this method can cause behavioral, security-related,
158 // and consistency-related issues in the application.
160 // This method is reserved and may change its name at any time without
163 virtual void IInputConnectionEventListener_Reserved3(void) {}
166 // This method is for internal use only. Using this method can cause behavioral, security-related,
167 // and consistency-related issues in the application.
169 // This method is reserved and may change its name at any time without
172 virtual void IInputConnectionEventListener_Reserved4(void) {}
175 // This method is for internal use only. Using this method can cause behavioral, security-related,
176 // and consistency-related issues in the application.
178 // This method is reserved and may change its name at any time without
181 virtual void IInputConnectionEventListener_Reserved5(void) {}
182 }; // IInputConnectionEventListener
185 #endif // _FUI_IINPUT_CONNECTION_EVENT_LISTENER_H_