Tizen 2.1 base
[framework/osp/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 private:
99         friend class _TableViewItemImpl;
100
101         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
102         TableViewGroupItem(const TableViewGroupItem& rhs);
103
104         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
105         TableViewGroupItem& operator =(const TableViewGroupItem& rhs);
106 }; // TableViewGroupItem
107
108 }}} // Tizen::Ui::Controls
109
110 #endif  // _FUI_CTRL_TABLE_VIEW_GROUP_ITEM_H_