Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_ScrollPanelEvent.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_ScrollPanelEvent.h
20 * @brief                This is the header file for _ScrollPanelEvent class.
21 *
22 * This header file contains declaration of _ScrollPanelEvent class.
23 *
24 */
25
26 #ifndef _FUI_CTRL_SCROLL_PANEL_EVENT_H_
27 #define _FUI_CTRL_SCROLL_PANEL_EVENT_H_
28
29 #include <FBaseResult.h>
30 #include <FBaseRt_Event.h>
31 #include <FOspConfig.h>
32 #include <FUiControl.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 /**
43 * @enum ScrollPanelStatus
44 * Defines constants used to identify ScrollPanel's Overlay status. @n
45 * This is used for overlay keypad support.
46 *
47 * @since                        1.0
48 */
49 enum CoreScrollPanelStatus
50 {
51         CORE_OVERLAY_CONTROL_CREATED,   /**< An overlay keypad created on top of ScrollPanel    */
52         CORE_OVERLAY_CONTROL_OPENED,    /**< An overlay keypad opened on top of ScrollPanel     */
53         CORE_OVERLAY_CONTROL_CLOSED, /**< An overlay keypad closed */
54         CORE_OTHER_CONTROL_SELECTED /**< Another control in the ScrollPanel is selected */
55 };
56
57 /**
58 * @class        _ScrollPanelEvent
59 * @brief        This class handles a text Block event event. It is inherited from Event class.
60 *
61 */
62 class _ScrollPanelEvent
63         : public Tizen::Base::Runtime::_Event
64 {
65 // Lifecycle
66 public:
67         /**
68         * This is the default class destructor.
69         *
70         */
71         virtual ~_ScrollPanelEvent(void);
72
73         static _ScrollPanelEvent* CreateScrollPanelEventN(const Tizen::Ui::_Control& source);
74
75 // Accessors
76 public:
77         /**
78         * This method returns the owner of this event.
79         *
80         * @return               See the comment above.
81         */
82         const Tizen::Ui::_Control* GetSource(void) const;
83
84 public:
85         static Tizen::Base::Runtime::IEventArg* CreateScrollPanelEventArgN(CoreScrollPanelStatus status);
86
87         // Operations
88 protected:
89         /**
90         * This is the default class constructor.
91         *
92         * @remarks              After creating an instance of this class, you must explicitly call one of
93         *                               construction methods to initialize the instance.
94         *
95         */
96         _ScrollPanelEvent(const Tizen::Ui::_Control& source);
97
98         /**
99         * This method checks the arg and finds out the type of event. After that this method calls appopriate
100         * pListener's method.
101         *
102         * @param[in]    listener        It is a event listener related to this item event.
103         * @param[in]    arg                     It is an argument-like instance of item event retransmitted to the listener's method
104         *                                                       as an argument.
105         * @exception    E_SUCCESS               - The method is successful.
106         * @exception    E_ARG_NULL              - The listener is null.
107         * @exception    E_INVALID_ARG   - The argument passed to a method contains an invalid value.@n
108         *                                                                 &nbsp;&nbsp;The pListener is not the instance of IItemEventListener class or
109         *                                                                 the pItemEventArg is not the instance of _CustomItemEventArg class.
110         *
111         */
112         virtual void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
113
114         //Attributess
115 private:
116         const Tizen::Ui::_Control* __pSource;
117 }; // _ScrollPanelEvent
118
119 }}} // Tizen::Ui::Controls
120
121 #endif  //_FUI_CTRL_SCROLL_PANEL_EVENT_H_