source: trunk/src/gui/graphicsview/qgraphicslinearlayout.h@ 67

Last change on this file since 67 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 3.9 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the QtGui module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#ifndef QGRAPHICSLINEARLAYOUT_H
43#define QGRAPHICSLINEARLAYOUT_H
44
45#include <QtGui/qgraphicsitem.h>
46#include <QtGui/qgraphicslayout.h>
47
48QT_BEGIN_HEADER
49
50QT_BEGIN_NAMESPACE
51
52QT_MODULE(Gui)
53
54#if !defined(QT_NO_GRAPHICSVIEW) || (QT_EDITION & QT_MODULE_GRAPHICSVIEW) != QT_MODULE_GRAPHICSVIEW
55
56class QGraphicsLinearLayoutPrivate;
57
58class Q_GUI_EXPORT QGraphicsLinearLayout : public QGraphicsLayout
59{
60public:
61 QGraphicsLinearLayout(QGraphicsLayoutItem *parent = 0);
62 QGraphicsLinearLayout(Qt::Orientation orientation, QGraphicsLayoutItem *parent = 0);
63 virtual ~QGraphicsLinearLayout();
64
65 void setOrientation(Qt::Orientation orientation);
66 Qt::Orientation orientation() const;
67
68 inline void addItem(QGraphicsLayoutItem *item) { insertItem(-1, item); }
69 inline void addStretch(int stretch = 1) { insertStretch(-1, stretch); }
70
71 void insertItem(int index, QGraphicsLayoutItem *item);
72 void insertStretch(int index, int stretch = 1);
73
74 void removeItem(QGraphicsLayoutItem *item);
75 void removeAt(int index);
76
77 void setSpacing(qreal spacing);
78 qreal spacing() const;
79 void setItemSpacing(int index, qreal spacing);
80 qreal itemSpacing(int index) const;
81
82 void setStretchFactor(QGraphicsLayoutItem *item, int stretch);
83 int stretchFactor(QGraphicsLayoutItem *item) const;
84
85 void setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment);
86 Qt::Alignment alignment(QGraphicsLayoutItem *item) const;
87
88 void setGeometry(const QRectF &rect);
89
90 int count() const;
91 QGraphicsLayoutItem *itemAt(int index) const;
92
93 void invalidate();
94 QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
95
96#if 0 // ###
97 Q5SizePolicy::ControlTypes controlTypes(LayoutSide side) const;
98#endif
99
100#ifdef QT_DEBUG
101 void dump(int indent = 0) const;
102#endif
103
104protected:
105#if 0
106 QSize contentsSizeHint(Qt::SizeHint which, const QSize &constraint = QSize()) const;
107#endif
108
109private:
110 Q_DISABLE_COPY(QGraphicsLinearLayout)
111 Q_DECLARE_PRIVATE(QGraphicsLinearLayout)
112};
113
114#endif
115
116QT_END_NAMESPACE
117
118QT_END_HEADER
119
120#endif
121
Note: See TracBrowser for help on using the repository browser.