2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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.
18 * @file FUiCtrlIScrollEventListener.h
19 * @brief This is the header file for the %IScrollEventListener interface.
21 * This header file contains the declarations of the %IScrollEventListener interface. @n
22 * If a change event is generated, a method of this interface is called. @n
23 * The applications that perform tasks related to the change events, call the methods of this interface.
26 #ifndef _FUI_CTRL_ISCROLL_EVENT_LISTENER_H_
27 #define _FUI_CTRL_ISCROLL_EVENT_LISTENER_H_
29 #include <FBaseRtIEventListener.h>
30 #include <FUiCtrlScrollEventTypes.h>
32 namespace Tizen { namespace Ui
37 namespace Tizen {namespace Ui { namespace Controls
41 * @interface IScrollEventListener
42 * @brief This interface implements a listener for scroll events.
46 * The %IScrollEventListener interface is the listener interface for receiving scroll events.
47 * The class that processes a scroll event implements this interface, and the instance created with that class is registered with
48 * a UI control, using the control(GroupedListView, GroupedTableView, IconListView, ListView, ScrollPanel, SectionTableView, TableView)'s AddScrollEventListener() method.
49 * When the scroll event occurs, the OnScrollEndReached()
50 * method of that instance is invoked.
52 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_panels.htm">Panels</a> and
53 * <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_listviews.htm">ListViews</a>.
55 class _OSP_EXPORT_ IScrollEventListener
56 : public Tizen::Base::Runtime::IEventListener
61 * This polymorphic destructor should be overridden if required.@n
62 * This way, the destructors of the derived classes are called when the destructor of this interface is called.
67 virtual ~IScrollEventListener(void) {}
70 * Called when the scroll reaches the top, bottom, left or right end.
74 * @param[in] source The source of the event
75 * @param[in] type The type of scroll end event
77 virtual void OnScrollEndReached(Tizen::Ui::Control& source, Tizen::Ui::Controls::ScrollEndEvent type) = 0;
80 * Called continuously when the control is being scrolled.
84 *@param[in] source The control being scrolled
85 *@param[in] scrollPosition The scrolled position
87 virtual void OnScrollPositionChanged(Tizen::Ui::Control& source, int scrollPosition) {};
90 * Called when the control's scroll movement has come to a stop.
94 * @param[in] source The control being scrolled
96 virtual void OnScrollStopped(Tizen::Ui::Control& source) {};
100 // This method is for internal use only.
101 // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
103 // This method is reserved and may change its name at any time without prior notice.
105 virtual void ScrollEventListener_Reserved1(void) {}
108 // This method is for internal use only.
109 // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
111 // This method is reserved and may change its name at any time without prior notice.
113 virtual void ScrollEventListener_Reserved2(void) {}
116 // This method is for internal use only.
117 // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
119 // This method is reserved and may change its name at any time without prior notice.
121 virtual void ScrollEventListener_Reserved3(void) {}
123 }; // IScrollEventListener
125 }}} // Tizen::Ui::Controls
127 #endif // _FUI_CTRL_ISCROLL_EVENT_LISTENER_H_