Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_TextEvent.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  * @file                        FUiCtrl_TextEvent.h
19  * @brief               This is the header file for _TextEvent class.
20  * @version     3.0
21  *
22  * This header file contains declaration of _TextEvent class.
23  *
24  */
25 #ifndef _FUI_CTRL_TEXT_EVENT_H_
26 #define _FUI_CTRL_TEXT_EVENT_H_
27
28 #include <FBaseResult.h>
29 #include <FBaseRt_Event.h>
30 #include <FOspConfig.h>
31
32 namespace Tizen { namespace Ui
33 {
34 class _Control;
35 }} // Tizen::Ui
36
37 namespace Tizen { namespace Ui { namespace Controls
38 {
39
40 enum CoreTextEventStatus
41 {
42         CORE_TEXT_EVENT_CHANGED,
43         CORE_TEXT_EVENT_CANCELED
44 };
45
46 /**
47 * @class        _TextEvent
48 * @brief        This class handles a action event. It is inherited from Event class.
49 *
50 * The Window(root of all widgets) class has an instance of the _TextEvent class as a member variable.
51 * Applications can register action event listeners through it. When a action event occurred,
52 * the _ActionEvent class finds listener and calls the appropriate listener's method.
53 *
54 */
55 class _TextEvent
56         : public Tizen::Base::Runtime::_Event
57 {
58 // Lifecycle
59 public:
60         /**
61          * This is the default class destructor.
62          *
63          */
64         virtual ~_TextEvent(void);
65
66         static _TextEvent* CreateInstanceN(const Tizen::Ui::_Control& source);
67
68 // Accessors
69 public:
70         /**
71          * This method returns the owner of this event.
72          *
73          * @return              See the comment above.
74          */
75         const Tizen::Ui::_Control* GetSource(void) const;
76
77 // Operations
78 protected:
79         /**
80          * This is the default class constructor.
81          *
82          * @remarks             After creating an instance of this class, you must explicitly call one of
83          *                              construction methods to initialize the instance.
84          *
85          */
86         _TextEvent(const Tizen::Ui::_Control& source);
87
88         /**
89          * This method checks the arg and finds out the type of event. After that this method calls appopriate
90          * pListener's method.
91          *
92          * @param[in]   listener        It is a event listener related to this action event.
93          * @param[in]   arg                     It is an argument-like instance of action event retransmitted to the listener's method
94          *                                                      as an argument.
95          * @exception   E_SUCCESS               - The method is successful.
96          * @exception   E_ARG_NULL              - The listener is null.
97          * @exception   E_INVALID_ARG   - The argument passed to a method contains an invalid value.@n
98          *                                                                &nbsp;&nbsp;The pListener is not the instance of IActionEventListener class or
99          *                                                                the p__ActionEventArg is not the instance of _ActionEventArg class.
100          *
101          */
102         virtual void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
103
104 public:
105         static Tizen::Base::Runtime::IEventArg* CreateTextEventArgN(CoreTextEventStatus status);
106
107 //Attributess
108 private:
109         const Tizen::Ui::_Control* __pSource;
110 }; // _TextEvent
111
112 }}} // Tizen::Ui::Controls
113
114 #endif // _FUI_CTRL_TEXT_EVENT_H_