Remove "All rights reserved" line from license headers.
[profile/ivi/qtdeclarative.git] / src / qtquick1 / graphicsitems / qdeclarativelayoutitem.cpp
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
5 **
6 ** This file is part of the QtDeclarative module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** GNU Lesser General Public License Usage
10 ** This file may be used under the terms of the GNU Lesser General Public
11 ** License version 2.1 as published by the Free Software Foundation and
12 ** appearing in the file LICENSE.LGPL included in the packaging of this
13 ** file. Please review the following information to ensure the GNU Lesser
14 ** General Public License version 2.1 requirements will be met:
15 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
16 **
17 ** In addition, as a special exception, Nokia gives you certain additional
18 ** rights. These rights are described in the Nokia Qt LGPL Exception
19 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
20 **
21 ** GNU General Public License Usage
22 ** Alternatively, this file may be used under the terms of the GNU General
23 ** Public License version 3.0 as published by the Free Software Foundation
24 ** and appearing in the file LICENSE.GPL included in the packaging of this
25 ** file. Please review the following information to ensure the GNU General
26 ** Public License version 3.0 requirements will be met:
27 ** http://www.gnu.org/copyleft/gpl.html.
28 **
29 ** Other Usage
30 ** Alternatively, this file may be used in accordance with the terms and
31 ** conditions contained in a signed written agreement between you and Nokia.
32 **
33 **
34 **
35 **
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 #include "private/qdeclarativelayoutitem_p.h"
43
44 #include <QDebug>
45
46 #include <limits.h>
47
48 QT_BEGIN_NAMESPACE
49
50
51
52 /*!
53     \qmlclass LayoutItem QDeclarative1LayoutItem
54     \inqmlmodule QtQuick 1
55     \ingroup qml-utility-elements
56     \since QtQuick 1.0
57     \brief The LayoutItem element allows declarative UI elements to be placed inside Qt's Graphics View layouts.
58
59     LayoutItem is a variant of \l Item with additional size hint properties. These properties provide the size hints
60     necessary for items to work in conjunction with Qt \l{Graphics View Framework}{Graphics View} layout classes
61     such as QGraphicsLinearLayout and QGraphicsGridLayout. The Qt layout mechanisms will resize the LayoutItem as appropriate,
62     taking its size hints into account, and you can propagate this to the other elements in your UI via anchors and bindings.
63
64     This is a QGraphicsLayoutItem subclass, and its properties merely expose the QGraphicsLayoutItem functionality to QML.
65
66     The \l{declarative/cppextensions/qgraphicslayouts/layoutitem}{LayoutItem example}
67     demonstrates how a LayoutItem can be used within a \l{Graphics View Framework}{Graphics View}
68     scene.
69 */
70
71 /*!
72     \qmlproperty QSizeF QtQuick1::LayoutItem::maximumSize
73
74     The maximumSize property can be set to specify the maximum desired size of this LayoutItem
75 */
76
77 /*!
78     \qmlproperty QSizeF QtQuick1::LayoutItem::minimumSize
79
80     The minimumSize property can be set to specify the minimum desired size of this LayoutItem
81 */
82
83 /*!
84     \qmlproperty QSizeF QtQuick1::LayoutItem::preferredSize
85
86     The preferredSize property can be set to specify the preferred size of this LayoutItem
87 */
88
89 QDeclarative1LayoutItem::QDeclarative1LayoutItem(QDeclarativeItem* parent)
90     : QDeclarativeItem(parent), m_maximumSize(INT_MAX,INT_MAX), m_minimumSize(0,0), m_preferredSize(0,0)
91 {
92     setGraphicsItem(this);
93 }
94
95 void QDeclarative1LayoutItem::setGeometry(const QRectF & rect)
96 {
97     setX(rect.x());
98     setY(rect.y());
99     setWidth(rect.width());
100     setHeight(rect.height());
101 }
102
103 QSizeF QDeclarative1LayoutItem::sizeHint(Qt::SizeHint w, const QSizeF &constraint) const
104 {
105     Q_UNUSED(constraint);
106     if(w == Qt::MinimumSize){
107         return m_minimumSize;
108     }else if(w == Qt::MaximumSize){
109         return m_maximumSize;
110     }else{
111         return m_preferredSize;
112     }
113 }
114
115
116
117 QT_END_NAMESPACE