2 // Open Service Platform
3 // Copyright (c) 2012 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 FWebCtrlIWebKeypadEventListener.h
20 * @brief This is the header file for the %IWebKeypadEventListener interface.
22 * This header file contains the declarations of the %IWebKeypadEventListener interface.
24 #ifndef _FWEB_CTRL_IWEB_KEYPAD_EVENT_LISTENER_H_
25 #define _FWEB_CTRL_IWEB_KEYPAD_EVENT_LISTENER_H_
27 #include <FBaseRtIEventListener.h>
29 namespace Tizen { namespace Web { namespace Controls
32 }}} // Tizen::Web::Controls
34 namespace Tizen { namespace Web { namespace Controls
38 * @interface IWebKeypadEventListener
39 * @brief This interface provides a listener for keypad events invoked by the <textarea> or <input> tag, which has "text" or "password" value as its attribute.
43 * The %IWebKeypadEventListener interface provides a listener for keypad events invoked by the <textarea> or <input> tag, which has "text" or "password" value as its attribute.
44 * It also enables the implementer class to receive the overlay keypad related events.
46 class _OSP_EXPORT_ IWebKeypadEventListener
47 : public virtual Tizen::Base::Runtime::IEventListener
51 * This polymorphic destructor should be overridden if required. @n
52 * This way, the destructors of the derived classes are called when the destructor of this interface is called.
56 virtual ~IWebKeypadEventListener(void) {}
59 * Called when the keypad is about to be shown on the screen.
63 * @param[in] source The source of the event
65 virtual void OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source) = 0;
68 * Called when the keypad is shown on the screen.
72 * @param[in] source The source of the event
73 * @remarks When the overlay keypad appears on the screen, the current Form's
74 * area is adjusted to account for the space that is taken up by the overlay keypad.
75 * @see Tizen::Ui::Controls::Form::GetClientAreaBounds()
77 virtual void OnWebKeypadOpened(Tizen::Web::Controls::Web& source) = 0;
80 * Called when the keypad is hidden from the screen.
84 * @param[in] source The source of the event
85 * @see Tizen::Ui::Controls::Form::GetClientAreaBounds()
87 virtual void OnWebKeypadClosed(Tizen::Web::Controls::Web& source) = 0;
90 * Called when the keypad bounds are changed, for instance when the predictive text window which is located in the upper part of the keypad is shown.
94 * @param[in] source The source of the event
95 * @see Tizen::Ui::Controls::Form::GetClientAreaBounds()
97 virtual void OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source) {};
101 // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
103 // Gets the Impl instance.
107 virtual void IWebKeypadEventListener_Reserved1(void) {}
110 // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
112 // Gets the Impl instance.
116 virtual void IWebKeypadEventListener_Reserved2(void) {}
119 // This method is for internal use only.
120 // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
124 virtual void IWebKeypadEventListener_Reserved3(void) {}
127 // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
129 // Gets the Impl instance.
133 virtual void IWebKeypadEventListener_Reserved4(void) {}
136 // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
138 // Gets the Impl instance.
142 virtual void IWebKeypadEventListener_Reserved5(void) {}
143 }; // IWebKeypadEventListener
145 }}} // Tizen::Web::Controls
146 #endif // _FWEB_CTRL_IWEB_KEYPAD_EVENT_LISTENER_H_