N_SE-47263 : reset touch cancel when indicator touch released/N_SE-51832 : fix checki...
[platform/framework/native/uifw.git] / inc / FUiCtrlIGalleryEventListener.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  * @file                FUiCtrlIGalleryEventListener.h
19  * @brief               This is the header file for the %IGalleryEventListener interface.
20  *
21  * This header file contains the declarations of the %IGalleryEventListener interface. @n
22  * If an event is generated, a method of this interface is called. @n
23  * Therefore, when an application performs jobs related to the event, the methods of this interface are executed.
24  *
25  */
26 #ifndef _FUI_CTRL_IGALLERY_EVENT_LISTENER_H_
27 #define _FUI_CTRL_IGALLERY_EVENT_LISTENER_H_
28
29 #include <FBaseRtIEventListener.h>
30
31 namespace Tizen { namespace Ui { namespace Controls
32 {
33 class Gallery;
34 }}}
35
36 namespace Tizen { namespace Ui { namespace Controls
37 {
38
39 /**
40  * @interface   IGalleryEventListener
41  * @brief               This interface defines the listener for the events generated by the %Gallery control.
42  *
43  * @since               2.0
44  *
45  * The %IGalleryEventListener interface is the listener interface for receiving Gallery events.
46  * The class that processes a gallery event implements this interface, and the instance created using the Gallery's
47  * AddGalleryEventListener() method. When the gallery event occurs, a method of that instance is invoked.
48  *
49  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_gallery.htm">Gallery</a>.
50  */
51 class _OSP_EXPORT_ IGalleryEventListener
52         : virtual public Tizen::Base::Runtime::IEventListener
53 {
54 public:
55         /**
56          * This polymorphic destructor should be overridden if required.@n
57          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
58          *
59          * @since 2.0
60          */
61         virtual ~IGalleryEventListener(void) {}
62
63         /**
64          * Called when the current item changes.
65          *
66          * @since       2.0
67          *
68          * @param[in]   gallery                         The source of the event
69          * @param[in]   currentItemIndex        The current item index
70          */
71         virtual void OnGalleryCurrentItemChanged(Tizen::Ui::Controls::Gallery& gallery, int currentItemIndex) = 0;
72
73         /**
74          * Called when the item is clicked.
75          *
76          * @since       2.0
77          *
78          * @param[in]   gallery         The source of the event
79          * @param[in]   itemIndex       The index of the item
80          */
81         virtual void OnGalleryItemClicked(Tizen::Ui::Controls::Gallery& gallery, int itemIndex) = 0;
82
83         /**
84      * Called when the slide-show starts.
85      *
86      * @since   2.0
87      *
88          * @param[in]   gallery        The source of the event
89      */
90         virtual void OnGallerySlideShowStarted(Tizen::Ui::Controls::Gallery& gallery) = 0;
91
92         /**
93      * Called when the slide-show stops.
94      *
95      * @since           2.0
96      *
97          * @param[in]   gallery        The source of the event
98      */
99         virtual void OnGallerySlideShowStopped(Tizen::Ui::Controls::Gallery& gallery) = 0;
100
101
102 protected:
103         //
104         //This method is for internal use only. Using this method can cause behavioral, security-related,
105         //and consistency-related issues in the application.
106         //
107         virtual void GalleryEventListener_Reserved1(void) {}
108
109         //
110         //This method is for internal use only. Using this method can cause behavioral, security-related,
111         //and consistency-related issues in the application.
112         //
113         virtual void GalleryEventListener_Reserved2(void) {}
114
115         //
116         //This method is for internal use only. Using this method can cause behavioral, security-related,
117         //and consistency-related issues in the application.
118         //
119         virtual void GalleryEventListener_Reserved3(void) {}
120 }; // IGalleryEventListener
121
122 }}} // Tizen::Ui::Controls
123
124 #endif // _FUI_CTRL_IGALLERY_EVENT_LISTENER_H_