Merge "Fix Ime Rotation" into tizen_2.1
[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 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  * @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. This way, the destructors of the derived classes are called when the destructor of this interface is called.
57          *
58          * @since 2.0
59          */
60         virtual ~IGalleryEventListener(void) {}
61
62         /**
63          * Called when the current item changes.
64          *
65          * @since       2.0
66          *
67          * @param[in]   gallery                         The source of the event
68          * @param[in]   currentItemIndex        The current item index
69          */
70         virtual void OnGalleryCurrentItemChanged(Tizen::Ui::Controls::Gallery& gallery, int currentItemIndex) = 0;
71
72         /**
73          * Called when the item is clicked.
74          *
75          * @since       2.0
76          *
77          * @param[in]   gallery         The source of the event
78          * @param[in]   itemIndex       The index of the item
79          */
80         virtual void OnGalleryItemClicked(Tizen::Ui::Controls::Gallery& gallery, int itemIndex) = 0;
81
82         /**
83      * Called when the slide-show starts.
84      *
85      * @since   2.0
86      *
87          * @param[in]   gallery        The source of the event
88      */
89         virtual void OnGallerySlideShowStarted(Tizen::Ui::Controls::Gallery& gallery) = 0;
90
91         /**
92      * Called when the slide-show stops.
93      *
94      * @since           2.0
95      *
96          * @param[in]   gallery        The source of the event
97      */
98         virtual void OnGallerySlideShowStopped(Tizen::Ui::Controls::Gallery& gallery) = 0;
99
100
101 protected:
102         //
103         //This method is for internal use only. Using this method can cause behavioral, security-related,
104         //and consistency-related issues in the application.
105         //
106         virtual void GalleryEventListener_Reserved1(void) {}
107
108         //
109         //This method is for internal use only. Using this method can cause behavioral, security-related,
110         //and consistency-related issues in the application.
111         //
112         virtual void GalleryEventListener_Reserved2(void) {}
113
114         //
115         //This method is for internal use only. Using this method can cause behavioral, security-related,
116         //and consistency-related issues in the application.
117         //
118         virtual void GalleryEventListener_Reserved3(void) {}
119 }; // IGalleryEventListener
120
121 }}} // Tizen::Ui::Controls
122
123 #endif // _FUI_CTRL_IGALLERY_EVENT_LISTENER_H_