Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiITextBlockEventListener.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                FUiITextBlockEventListener.h
20  * @brief               This is the header file for the %ITextBlockEventListener interface.
21  *
22  * This header file contains the declarations of the %ITextBlockEventListener interface.
23  */
24 #ifndef _FUI_ITEXT_BLOCK_EVENT_LISTENER_H_
25 #define _FUI_ITEXT_BLOCK_EVENT_LISTENER_H_
26
27 // Includes
28 #include <FBaseRtIEventListener.h>
29
30 // Forward declaration
31 namespace Tizen { namespace Ui
32 {
33 class Control;
34 }} // Tizen::Ui
35
36 // Namespace declaration
37 namespace Tizen { namespace Ui
38 {
39 /**
40  * @interface   ITextBlockEventListener
41  * @brief           This interface implements the listener for the text block events.
42  *
43  * @since           2.0
44  *
45  * The %ITextBlockEventListener interface is the listener interface for receiving text block selection events, for example, from EditFields.
46  * The class that processes a text block selection event implements this interface, and the instance created with that class is
47  * registered with a UI control, using the control's AddTextBlockEventListener() method. When the text block selection event
48  * occurs, the OnTextBlockSelected() method of that instance is invoked.
49  *
50  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_editfield_editarea.htm">EditArea and EditField</a>.
51
52  */
53 class _OSP_EXPORT_ ITextBlockEventListener
54         : public Tizen::Base::Runtime::IEventListener
55 {
56 // Lifecycle
57 public:
58         /**
59          * 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.
60          *
61          * @since               2.0
62          */
63         virtual ~ITextBlockEventListener(void) {}
64
65
66 // Operation
67 public:
68         /**
69          * Called when a text block is selected.
70          *
71          * @since               2.0
72          *
73          * @param[in]   source  The source of the event
74          * @param[in]   start   The start index of the selected text block
75          * @param[in]   end     The end index of the selected text block
76          */
77         virtual void OnTextBlockSelected(Tizen::Ui::Control& source, int start, int end) = 0;
78
79
80 // Reserves
81 protected:
82         //
83         // This method is for internal use only. Using this method can cause behavioral,
84         // security-related, and consistency-related issues in the application.
85         //
86         // This method is reserved and may change its name at any time without prior notice.
87         //
88         virtual void ITextBlockEventListener_Reserved1(void) { }
89
90         //
91         // This method is for internal use only. Using this method can cause behavioral,
92         // security-related, and consistency-related issues in the application.
93         //
94         // This method is reserved and may change its name at any time without prior notice.
95         //
96         virtual void ITextBlockEventListener_Reserved2(void) { }
97
98         //
99         // This method is for internal use only. Using this method can cause behavioral,
100         // security-related, and consistency-related issues in the application.
101         //
102         // This method is reserved and may change its name at any time without prior notice.
103         //
104         virtual void ITextBlockEventListener_Reserved3(void) { }
105
106         //
107         // This method is for internal use only. Using this method can cause behavioral,
108         // security-related, and consistency-related issues in the application.
109         //
110         // This method is reserved and may change its name at any time without prior notice.
111         //
112         virtual void ITextBlockEventListener_Reserved4(void) { }
113
114         //
115         // This method is for internal use only. Using this method can cause behavioral,
116         // security-related, and consistency-related issues in the application.
117         //
118         // This method is reserved and may change its name at any time without prior notice.
119         //
120         virtual void ITextBlockEventListener_Reserved5(void) { }
121 }; // ITextBlockEventListener
122
123 }} //Tizen::Ui
124
125 #endif // _FUI_ITEXT_BLOCK_EVENT_LISTENER_H_