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 FUiIInputConnectionEventListener.h
20 * @brief This is the header file for the %IInputConnectionEventListener class.
22 * This header file contains the declarations of the %IInputConnectionEventListener class.
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 * @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.
54 * The %IInputConnectionEventListener interface defines methods for processing between the InputConnection and the input method.
56 class _OSP_EXPORT_ IInputConnectionEventListener
57 : virtual public Tizen::Base::Runtime::IEventListener
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.
65 virtual ~IInputConnectionEventListener(void) {}
68 * Notifies 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 * Notifies when the language of the InputPanel is changed.
80 * @param[in] source The source of the event
81 * @param[in] language The language code
83 virtual void OnInputConnectionPanelLanguageChanged(Tizen::Ui::InputConnection& source, Tizen::Locales::LanguageCode language) = 0;
86 * Notifies when the size of the InputPanel is changed.
89 * @param[in] source The source of the event
90 * @param[in] bounds The size
92 virtual void OnInputConnectionPanelBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::Rectangle& bounds) = 0;
95 * Notifies when the show state of the Text-Prediction is changed.
98 * @param[in] source The source of the event
99 * @param[in] isShown The state
101 virtual void OnInputConnectionTextPredictionShowStateChanged(Tizen::Ui::InputConnection& source, bool isShown) = 0;
104 * Notifies when the size of the Text-Prediction is changed.
107 * @param[in] source The source of the event
108 * @param[in] bounds The size
110 virtual void OnInputConnectionTextPredictionBoundsChanged(Tizen::Ui::InputConnection& source, const Tizen::Graphics::Rectangle& bounds) = 0;
113 * Notifies when the key of the InputPanel is selected.
116 * @param[in] source The source of the event
117 * @param[in] committedText The committed text.
119 virtual void OnInputConnectionTextCommitted(Tizen::Ui::InputConnection& source, const Tizen::Base::String& committedText) = 0;
122 * Notifies when the key of the InputPanel is selected during the composing.
125 * @param[in] source The source of the event
126 * @param[in] composingText The composing text.
127 * @param[in] cursorPosition the current cursor position.
129 virtual void OnInputConnectionComposingTextChanged(Tizen::Ui::InputConnection& source, const Tizen::Base::String& composingText, int cursorPosition) = 0;
133 // This method is for internal use only. Using this method can cause behavioral, security-related,
134 // and consistency-related issues in the application.
136 // This method is reserved and may change its name at any time without
139 virtual void IInputConnectionEventListener_Reserved1(void) {}
142 // This method is for internal use only. Using this method can cause behavioral, security-related,
143 // and consistency-related issues in the application.
145 // This method is reserved and may change its name at any time without
148 virtual void IInputConnectionEventListener_Reserved2(void) {}
151 // This method is for internal use only. Using this method can cause behavioral, security-related,
152 // and consistency-related issues in the application.
154 // This method is reserved and may change its name at any time without
157 virtual void IInputConnectionEventListener_Reserved3(void) {}
160 // This method is for internal use only. Using this method can cause behavioral, security-related,
161 // and consistency-related issues in the application.
163 // This method is reserved and may change its name at any time without
166 virtual void IInputConnectionEventListener_Reserved4(void) {}
169 // This method is for internal use only. Using this method can cause behavioral, security-related,
170 // and consistency-related issues in the application.
172 // This method is reserved and may change its name at any time without
175 virtual void IInputConnectionEventListener_Reserved5(void) {}
176 }; // IInputConnectionEventListener
179 #endif // _FUI_IINPUT_CONNECTION_EVENT_LISTENER_H_