Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiCtrlIEditTextFilter.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        FUiCtrlIEditTextFilter.h
20  * @brief       This is the header file for the %IEditTextFilter interface.
21  *
22  * This header file contains the declarations of the %IEditTextFilter interface.
23  *
24  */
25 #ifndef _FUI_CTRL_IEDIT_TEXT_FILTER_H_
26 #define _FUI_CTRL_IEDIT_TEXT_FILTER_H_
27
28 #include <FOspConfig.h>
29
30 namespace Tizen {namespace Ui { namespace Controls
31 {
32
33 /**
34  * @interface   IEditTextFilter
35  * @brief               This interface defines the text filter.
36  *
37  * @since               2.1
38  *
39  * The %IEditTextFilter interface is the listener interface for handling texts, for example, from EditFields.
40  * The class that processes a text event implements this interface, and the instance created with that class is registered with a
41  * UI control, using the control's SetEditTextFilter() method. 
42  *
43  */
44
45 class _OSP_EXPORT_ IEditTextFilter
46 {
47 public:
48         /**
49          * This polymorphic destructor should be overridden if required.
50          * This way, the destructors of the derived classes are called
51          * when the destructor of this interface is called.
52          *
53          * @since       2.1
54          */
55         virtual ~IEditTextFilter(void) {}
56
57         /**
58          * Checks whether the text to be pasted from the %Clipboard needs to be replaced by other text.
59          *
60          * @since       2.1
61          *
62          * @return      @c true if the pasted text needs to be replaced, @n
63          *              else @c false
64          * @param[in]           pastedText    The pasted text
65          * @param[out]  replacedText    The user-defined replacement text
66          */
67         virtual bool ValidatePastedText(const Tizen::Base::String& pastedText, Tizen::Base::String& replacedText) = 0;
68         
69 protected:
70         //
71         // This method is for internal use only. Using this method can cause behavioral, security-related,
72         // and consistency-related issues in the application.
73         //
74         // This method is reserved and may change its name at any time without
75         // prior notice.
76         //      
77         virtual void IEditTextFilter_Reserved1(void) {}
78
79         //
80         // This method is for internal use only. Using this method can cause behavioral, security-related,
81         // and consistency-related issues in the application.
82         //
83         // This method is reserved and may change its name at any time without
84         // prior notice.
85         //
86         virtual void IEditTextFilter_Reserved2(void) {}
87
88         //
89         // This method is for internal use only. Using this method can cause behavioral, security-related,
90         // and consistency-related issues in the application.
91         //
92         // This method is reserved and may change its name at any time without
93         // prior notice.
94         //
95         virtual void IEditTextFilter_Reserved3(void) {}
96
97         //
98         // This method is for internal use only. Using this method can cause behavioral, security-related,
99         // and consistency-related issues in the application.
100         //
101         // This method is reserved and may change its name at any time without
102         // prior notice.
103         //
104         virtual void IEditTextFilter_Reserved4(void) {}
105
106         //
107         // This method is for internal use only. Using this method can cause behavioral, security-related,
108         // and consistency-related issues in the application.
109         //
110         // This method is reserved and may change its name at any time without
111         // prior notice.
112         //
113         virtual void IEditTextFilter_Reserved5(void) {}
114 }; // IEditTextFilter
115
116 }}} // Tizen::Ui::Controls
117
118 #endif // _FUI_CTRL_IEDIT_TEXT_FILTER_H_
119