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