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