Fork for IVI: mesa fixing
[profile/ivi/uifw.git] / src / ui / inc / FUiCtrl_FastScrollEvent.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                FUiCtrl_FastScrollEvent.h
20  * @brief               This is the header file for _FastScrollEvent class.
21  *
22  * This header file contains declaration of _FastScrollEvent class.
23  * The ItemEvent class can call listener's method. So, when event is occurred,
24  * application can handle it appropriately.
25  *
26  */
27 #ifndef _FUICTRL_INTERNAL_FASTSCROLL_EVENT_H_
28 #define _FUICTRL_INTERNAL_FASTSCROLL_EVENT_H_
29
30 #include <FBaseResult.h>
31 #include <FBaseRt_Event.h>
32
33 namespace Tizen { namespace Ui
34 {
35 class Control;
36 } }
37
38 namespace Tizen {namespace Ui { namespace Controls
39 {
40 /**
41 * @class        _FastScrollEvent
42 * @brief        This class handles a slidable event. It is inherited from Event class.
43 *
44 */
45 class _FastScrollEvent
46         : public Tizen::Base::Runtime::_Event
47 {
48 // Lifecycle
49 public:
50         /**
51          * This is the default class constructor.
52          *
53          * @remarks             After creating an instance of this class, you must explicitly call one of
54          *                              construction methods to initialize the instance.
55          *
56          */
57         _FastScrollEvent(void);
58
59         /**
60          * This is the default class destructor.
61          *
62          */
63         virtual ~_FastScrollEvent(void);
64
65         /**
66          * This method initializes this instance. This method should be called
67          * after this instance is constructed.
68          *
69          * @return      The method returns error code.
70          * @param[in]   source          A pointer to the Object instance which contains this instance.
71          * @exception   E_SUCCESS       - This method is successful.
72          * @exception   E_ARG_NULL              - The input source is null.
73          */
74         result Construct(const Tizen::Ui::Control& source);
75
76 // Accessors
77 public:
78         /**
79          * This method returns the owner of this event.
80          *
81          * @return              See the comment above.
82          */
83         const Tizen::Ui::Control* GetSource(void) const;
84
85 // Operations
86 protected:
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          * @return              This method returns a result code.
93          * @param[in]   pListener       It is a event listener related to this item event.
94          * @param[in]   arg                     It is an argument-like instance of item event retransmitted to the listener's method
95          *                                                      as an argument.
96          * @exception   E_SUCCESS               - The method is successful.
97          * @exception   E_ARG_NULL              - The listener is null.
98          * @exception   E_INVALID_ARG   - The argument passed to a method contains an invalid value.@n
99          *                                                                &nbsp;&nbsp;The pListener is not the instance of IItemEventListener class or
100          *                                                                the pItemEventArg is not the instance of _CustomItemEventArg class.
101          *
102          */
103         virtual void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
104
105 //Attributess
106 private:
107         Tizen::Ui::Control* __pSource;
108 };
109 }}};
110
111 #endif