N_SE-47263 : reset touch cancel when indicator touch released/N_SE-51832 : fix checki...
[platform/framework/native/uifw.git] / inc / FUiCtrlTableViewGroupItem.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        FUiCtrlTableViewGroupItem.h
20  * @brief       This is the header file for the %TableViewGroupItem class.
21  *
22  * This header file contains the declarations of the %TableViewGroupItem class and its helper classes.
23  */
24
25 #ifndef _FUI_CTRL_TABLE_VIEW_GROUP_ITEM_H_
26 #define _FUI_CTRL_TABLE_VIEW_GROUP_ITEM_H_
27
28 #include <FUiCtrlTableViewItemBase.h>
29
30 namespace Tizen { namespace Ui { namespace Controls
31 {
32 /**
33 * @class        TableViewGroupItem
34 * @brief    This class defines common behavior of %TableViewGroupItem.
35 *
36 * @since 2.0
37 *
38 * The %TableViewGroupItem class displays a table view group item. The %TableViewGroupItem can have any layout of Controls or Containers as children.
39 */
40
41 class _OSP_EXPORT_ TableViewGroupItem
42         : public TableViewItemBase
43 {
44 public:
45         /**
46         * The object is not fully constructed after this constructor is called. @n
47         * For full construction, the %Construct() method must be called right after calling this constructor.
48         *
49         * @since 2.0
50         */
51         TableViewGroupItem(void);
52
53         /**
54         * This destructor overrides Tizen::Base::Object::~Object().
55         *
56         * @since 2.0
57         */
58         virtual ~TableViewGroupItem(void);
59
60         /**
61         * Initializes this instance of %TableViewGroupItem with the specified parameter.
62         *
63         * @since 2.0
64         *
65         * @return               An error code
66         * @param[in]    itemSize            The size of the item
67         * @exception    E_SUCCESS           The method is successful.
68         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
69         */
70         result Construct(const Tizen::Graphics::Dimension& itemSize);
71
72         /**
73         * Initializes this instance of %TableViewGroupItem with the specified parameter.
74         *
75         * @since 2.0
76         *
77         * @return               An error code
78         * @param[in]    layout              The layout for both of the portrait and landscape modes
79         * @param[in]    itemSize            The size of the item
80         * @exception    E_SUCCESS           The method is successful.
81         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
82         */
83         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::Dimension& itemSize);
84
85         /**
86         * Initializes this instance of %TableViewGroupItem with the specified parameter.
87         *
88         * @since 2.0
89         *
90         * @return               An error code
91         * @param[in]    portraitLayout      The layout for portrait mode
92         * @param[in]    landscapeLayout     The layout for landscape mode
93         * @param[in]    itemSize            The size of the item
94         * @exception    E_SUCCESS           The method is successful.
95         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
96         */
97         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::Dimension& itemSize);
98
99         /**
100         * Initializes this instance of %TableViewGroupItem with the specified parameter.
101         *
102         * @since 2.1
103         *
104         * @return               An error code
105         * @param[in]    itemSize            The size of the item
106         * @exception    E_SUCCESS           The method is successful.
107         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
108         */
109         result Construct(const Tizen::Graphics::FloatDimension& itemSize);
110
111         /**
112         * Initializes this instance of %TableViewGroupItem with the specified parameter.
113         *
114         * @since 2.1
115         *
116         * @return               An error code
117         * @param[in]    layout              The layout for both of the portrait and landscape modes
118         * @param[in]    itemSize            The size of the item
119         * @exception    E_SUCCESS           The method is successful.
120         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
121         */
122         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::FloatDimension& itemSize);
123
124         /**
125         * Initializes this instance of %TableViewGroupItem with the specified parameter.
126         *
127         * @since 2.1
128         *
129         * @return               An error code
130         * @param[in]    portraitLayout      The layout for portrait mode
131         * @param[in]    landscapeLayout     The layout for landscape mode
132         * @param[in]    itemSize            The size of the item
133         * @exception    E_SUCCESS           The method is successful.
134         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
135         */
136         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::FloatDimension& itemSize);
137
138 private:
139         friend class _TableViewItemImpl;
140
141         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
142         TableViewGroupItem(const TableViewGroupItem& rhs);
143
144         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
145         TableViewGroupItem& operator =(const TableViewGroupItem& rhs);
146 }; // TableViewGroupItem
147
148 }}} // Tizen::Ui::Controls
149
150 #endif  // _FUI_CTRL_TABLE_VIEW_GROUP_ITEM_H_