Fix for klockwork minor issues.
[platform/framework/native/uifw.git] / inc / FUiISlidableGroupedListEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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        FUiISlidableGroupedListEventListener.h
20  * @brief       This is the header file for the %ISlidableGroupedListEventListener interface.
21  *
22  * This header file contains the declarations of the %ISlidableGroupedListEventListener interface. @n
23  * If an event is generated, a method of this interface is called. @n
24  * So, if an application performs tasks related to item events, it uses the methods of this interface.
25  *
26  */
27 #ifndef _FUI_ISLIDABLE_GROUPED_LIST_EVENT_LISTENER_H_
28 #define _FUI_ISLIDABLE_GROUPED_LIST_EVENT_LISTENER_H_
29
30 #include <FBaseRtIEventListener.h>
31
32 namespace Tizen { namespace Ui
33 {
34 class Control;
35 } }
36
37 namespace Tizen {namespace Ui
38 {
39
40 /**
41 * @if OSPDEPREC
42  * @interface   ISlidableGroupedListEventListener
43  * @brief               <i> [Deprecated] </i> This interface implements the listener for events on SlidableGroupedList.
44  * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedListViewItemEventListener interface.
45  * @since               2.0
46  *
47  * The %ISlidableGroupedListEventListener interface implements a listener for receiving scroll events on SlidableGroupedList. @n
48  * The role of this interface is similar to ISlidableListEventListener.
49  * This interface is registered with a %SlidableGroupedList, using the SlidableGroupedList::AddSlidableGroupedListEventListener() method.
50  * @endif
51  */
52 class _OSP_EXPORT_ ISlidableGroupedListEventListener
53         : public Tizen::Base::Runtime::IEventListener
54 {
55 // Operation
56 public:
57         /**
58          * @if OSPDEPREC
59          * This is the destructor for this class.
60          *
61          * @brief               <i> [Deprecated] </i> This interface implements the listener for events on SlidableGroupedList.
62          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedListViewItemEventListener interface.
63          * @since               2.0
64          * @endif
65          */
66         virtual ~ISlidableGroupedListEventListener(void) {}
67
68         /**
69          * @if OSPDEPREC
70          * Called when the SlidableGroupedList is about to be drawn and requests the listener to set the properties of the list such as the total height and the
71          * number of items in each group.
72          *
73          * @brief               <i> [Deprecated] </i> This interface implements the listener for events on SlidableGroupedList.
74          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedListViewItemEventListener interface.
75          * @since               2.0
76          * @param[in]   source          The source of the event
77          * @endif
78          */
79         virtual void OnListPropertyRequested(const Tizen::Ui::Control& source) = 0;
80
81         /**
82          * @if OSPDEPREC
83          * Called when the items need to be loaded to the top.
84          *
85          * @brief               <i> [Deprecated] </i> This interface implements the listener for events on SlidableGroupedList.
86          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedListViewItemEventListener interface.
87          * @since               2.0
88          * @param[in]   source            The source of the event
89          * @param[in]   groupIndex        The index of the list group
90          * @param[in]   itemIndex         The index of the list item in the specified group
91          * @param[in]   numItems          The number of items
92          * @endif
93          */
94         virtual void OnLoadToTopRequested(const Tizen::Ui::Control& source, int groupIndex, int itemIndex, int numItems) = 0;
95
96         /**
97          * @if OSPDEPREC
98          * Called when the items need to be loaded to the bottom.
99          *
100          * @brief               <i> [Deprecated] </i> This interface implements the listener for events on SlidableGroupedList.
101          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedListViewItemEventListener interface.
102          * @since               2.0
103          * @param[in]   source        The source of the event
104          * @param[in]   groupIndex        The index of the list group
105          * @param[in]   itemIndex     The index of the list item in the specified group
106          * @param[in]   numItems      The number of items
107          * @endif
108          */
109         virtual void OnLoadToBottomRequested(const Tizen::Ui::Control& source, int groupIndex, int itemIndex, int numItems) = 0;
110
111         /**
112          * @if OSPDEPREC
113          * Called when an item is about to be unloaded from memory. @n
114          * The user-allocated resources associated with the item to be unloaded need to be freed when OnUnloadItemRequested() is called.
115          *
116          * @brief               <i> [Deprecated] </i> This interface implements the listener for events on SlidableGroupedList.
117          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedListViewItemEventListener interface.
118          * @since               2.0
119          *
120          * @param[in]   source          The source of the event
121          * @param[in]   groupIndex          The index of the list group
122          * @param[in]   itemIndex       The index of the list item in the specified group
123          * @endif
124          */
125         virtual void OnUnloadItemRequested(const Tizen::Ui::Control& source, int groupIndex, int itemIndex) = 0;
126
127 }; //ISlidableGroupedListEventListener
128
129 }} //Tizen::Ui
130
131 #endif // _FUI_ISLIDABLE_GROUPED_LIST_EVENT_LISTENER_H_