Fix to adjust the position of the partial Frame
[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 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        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. Hence, the Construct() method must be called after calling this constructor.
47         *
48         * @since 2.0
49         */
50         TableViewGroupItem(void);
51
52         /**
53         * This destructor overrides Tizen::Base::Object::~Object().
54         *
55         * @since 2.0
56         */
57         virtual ~TableViewGroupItem(void);
58
59         /**
60         * Initializes this instance of %TableViewGroupItem with the specified parameter.
61         *
62         * @since 2.0
63         *
64         * @return               An error code
65         * @param[in]    itemSize            The size of the item
66         * @exception    E_SUCCESS           The method is successful.
67         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
68         */
69         result Construct(const Tizen::Graphics::Dimension& itemSize);
70
71         /**
72         * Initializes this instance of %TableViewGroupItem with the specified parameter.
73         *
74         * @since 2.0
75         *
76         * @return               An error code
77         * @param[in]    layout              The layout for both of the portrait and landscape modes
78         * @param[in]    itemSize            The size of the item
79         * @exception    E_SUCCESS           The method is successful.
80         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
81         */
82         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::Dimension& itemSize);
83
84         /**
85         * Initializes this instance of %TableViewGroupItem with the specified parameter.
86         *
87         * @since 2.0
88         *
89         * @return               An error code
90         * @param[in]    portraitLayout      The layout for portrait mode
91         * @param[in]    landscapeLayout     The layout for landscape mode
92         * @param[in]    itemSize            The size of the item
93         * @exception    E_SUCCESS           The method is successful.
94         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
95         */
96         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::Dimension& itemSize);
97
98         /**
99         * Initializes this instance of %TableViewGroupItem with the specified parameter.
100         *
101         * @since 2.1
102         *
103         * @return               An error code
104         * @param[in]    itemSize            The size of the item
105         * @exception    E_SUCCESS           The method is successful.
106         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
107         */
108         result Construct(const Tizen::Graphics::FloatDimension& itemSize);
109
110         /**
111         * Initializes this instance of %TableViewGroupItem with the specified parameter.
112         *
113         * @since 2.1
114         *
115         * @return               An error code
116         * @param[in]    layout              The layout for both of the portrait and landscape modes
117         * @param[in]    itemSize            The size of the item
118         * @exception    E_SUCCESS           The method is successful.
119         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
120         */
121         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::FloatDimension& itemSize);
122
123         /**
124         * Initializes this instance of %TableViewGroupItem with the specified parameter.
125         *
126         * @since 2.1
127         *
128         * @return               An error code
129         * @param[in]    portraitLayout      The layout for portrait mode
130         * @param[in]    landscapeLayout     The layout for landscape mode
131         * @param[in]    itemSize            The size of the item
132         * @exception    E_SUCCESS           The method is successful.
133         * @exception    E_INVALID_ARG           A specified input parameter is invalid.
134         */
135         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::FloatDimension& itemSize);
136
137 private:
138         friend class _TableViewItemImpl;
139
140         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
141         TableViewGroupItem(const TableViewGroupItem& rhs);
142
143         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
144         TableViewGroupItem& operator =(const TableViewGroupItem& rhs);
145 }; // TableViewGroupItem
146
147 }}} // Tizen::Ui::Controls
148
149 #endif  // _FUI_CTRL_TABLE_VIEW_GROUP_ITEM_H_