Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiIExpandableItemEventListener.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        FUiIExpandableItemEventListener.h
20  * @brief       This is the header file for the %IExpandableItemEventListener interface.
21  *
22  * This header file contains the declarations of the %IExpandableItemEventListener interface. @n
23  * If an item event is generated, a method of this interface is called.
24  *
25  */
26 #ifndef _FUI_IEXPANDABLE_ITEM_EVENT_LISTENER_H_
27 #define _FUI_IEXPANDABLE_ITEM_EVENT_LISTENER_H_
28
29 #include <FBaseRtIEventListener.h>
30 #include <FUiIItemEventListener.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   IExpandableItemEventListener
43  * @brief      <i> [Deprecated] </i>  This interface implements a listener for the item events.
44  *
45  * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedTableViewItemEventListener interface.
46  * @since               2.0
47  *
48  * The %IExpandableItemEventListener interface implements a listener for the item events.
49  * A class that needs to process an item event
50  * must implement this interface. The object created with that class is registered with a UI Control using the controls.
51  * ExpandableList::AddExpandableItemEventListener() method. When the item event occurs, that instance's OnItemStateChanged() method is invoked.
52  * @endif
53  */
54 class _OSP_EXPORT_ IExpandableItemEventListener
55         : public Tizen::Base::Runtime::IEventListener
56 {
57 // Operation
58 public:
59         /**
60          * @if OSPDEPREC
61          * This is the destructor for this class.
62          *
63          * @brief       <i> [Deprecated] </i>
64          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedTableViewEventListener interface.
65          * @since                       2.0
66          * @endif
67          */
68         virtual ~IExpandableItemEventListener(void) {}
69
70         /**
71          * @if OSPDEPREC
72          * Called when the state of CustomListItem in the ExpandableList is changed. @n
73          * If a main item is selected, the index of the sub-item is @c -1.
74          *
75          * @brief       <i> [Deprecated] </i>
76          * @deprecated  This interface is deprecated. Instead of using this interface, use the IGroupedTableViewEventListener interface.
77          * @since               2.0
78          *
79          * @param[in]  source           The source control from which the event is fired
80          * @param[in]  mainIndex        The main index of the item
81          * @param[in]  subIndex     The sub index of the item
82          * @param[in]  itemId       The item ID
83          * @param[in]  status       The state of the item
84          * @remarks Implement this method in a class that derives %IExpandableItemEventListener to handle the user interaction at the CustomListItem of the
85          *                      ExpandableList.
86          * @endif
87          */
88         virtual void OnItemStateChanged(const Tizen::Ui::Control& source, int mainIndex, int subIndex, int itemId, Tizen::Ui::ItemStatus status) = 0;
89
90
91         /**
92           * @if OSPDEPREC
93           * Called when the state of an element in CustomListItem in ExpandableList is changed. @n
94           * If a main item is selected, the index of the sub-item is @c -1.
95           * @brief       <i> [Deprecated] </i>
96           * @deprecated This interface is deprecated. Instead of using this interface, use the IGroupedTableViewEventListener interface.
97           * @since              2.0
98           *
99           * @param[in]  source                  The source control from which the event is fired
100           * @param[in]  mainIndex               The main index of the item
101           * @param[in]  subIndex                The sub index of the item
102           * @param[in]  itemId                  The item ID
103           * @param[in]  elementId               The element ID
104           * @param[in]  status          The state of the element
105           * @remarks Implement this method in a class that derives %IExpandableItemEventListener to handle the user interaction at the element in
106           *                     CustomListItem of ExpandableList.
107           * @endif
108           */
109         virtual void OnItemStateChanged(const Tizen::Ui::Control& source, int mainIndex, int subIndex, int itemId, int elementId, Tizen::Ui::ItemStatus status) = 0;
110
111 }; //IExpandableItemEventListener
112
113 }} // Tizen::Ui
114
115 #endif // _FUI_IEXPANDABLE_ITEM_EVENT_LISTENER_H_