annotate examples/layouts/borderlayout/borderlayout.d @ 118:c28c0340fdf3

add borderlayout example
author mandel
date Thu, 04 Jun 2009 21:29:08 +0000
parents
children 6aeaf24018d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
118
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
1 /****************************************************************************
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
2 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
4 ** Contact: Qt Software Information (qt-info@nokia.com)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
5 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
6 ** This file is part of the examples of the Qt Toolkit.
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
7 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
8 ** $QT_BEGIN_LICENSE:LGPL$
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
9 ** Commercial Usage
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
10 ** Licensees holding valid Qt Commercial licenses may use this file in
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
11 ** accordance with the Qt Commercial License Agreement provided with the
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
12 ** Software or, alternatively, in accordance with the terms contained in
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
13 ** a written agreement between you and Nokia.
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
14 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
15 ** GNU Lesser General Public License Usage
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
16 ** Alternatively, this file may be used under the terms of the GNU Lesser
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
17 ** General Public License version 2.1 as published by the Free Software
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
18 ** Foundation and appearing in the file LICENSE.LGPL included in the
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
19 ** packaging of this file. Please review the following information to
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
20 ** ensure the GNU Lesser General Public License version 2.1 requirements
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
21 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
22 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
23 ** In addition, as a special exception, Nokia gives you certain
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
24 ** additional rights. These rights are described in the Nokia Qt LGPL
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
26 ** package.
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
27 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
28 ** GNU General Public License Usage
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
29 ** Alternatively, this file may be used under the terms of the GNU
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
30 ** General Public License version 3.0 as published by the Free Software
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
31 ** Foundation and appearing in the file LICENSE.GPL included in the
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
32 ** packaging of this file. Please review the following information to
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
33 ** ensure the GNU General Public License version 3.0 requirements will be
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
34 ** met: http://www.gnu.org/copyleft/gpl.html.
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
35 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
36 ** If you are unsure which license is appropriate for your use, please
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
37 ** contact the sales department at qt-sales@nokia.com.
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
38 ** $QT_END_LICENSE$
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
39 **
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
40 ****************************************************************************/
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
41 module borderlayout;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
42
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
43
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
44 import qt.gui.QLayout;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
45 import qt.gui.QWidgetItem;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
46 import qt.gui.QTextBrowser;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
47 import qt.core.QSize;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
48 import qt.core.QRect;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
49
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
50
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
51 class BorderLayout : public QLayout
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
52 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
53 public:
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
54
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
55 enum Position { West, North, South, East, Center };
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
56
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
57 this(QWidget parent, int margin = 0, int spacing = -1)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
58 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
59 super(parent);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
60 setMargin(margin);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
61 setWidgetSpacing(spacing);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
62 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
63
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
64 this(int spacing = -1)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
65 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
66 setWidgetSpacing(spacing);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
67 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
68
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
69 ~this()
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
70 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
71 QLayoutItem l = takeAt(0);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
72 while (l) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
73 delete l;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
74 l = takeAt(0);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
75 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
76 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
77
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
78 void addItem(IQLayoutItem item)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
79 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
80 add(item, Position.West);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
81 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
82
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
83 void addWidget(QWidget widget, Position position)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
84 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
85 add(cast(IQLayoutItem) new QWidgetItem(widget), position);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
86 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
87
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
88 int expandingDirections()
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
89 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
90 return Qt.Horizontal | Qt.Vertical;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
91 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
92
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
93 bool hasHeightForWidth()
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
94 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
95 return false;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
96 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
97
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
98 int count()
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
99 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
100 return list.length;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
101 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
102
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
103 QLayoutItem itemAt(int index)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
104 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
105 if(index >= 0 && index < list.length)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
106 return list[index].item;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
107 else
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
108 return null;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
109 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
110
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
111 QSize minimumSize()
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
112 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
113 return calculateSize(SizeType.MinimumSize);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
114 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
115
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
116 void setGeometry(QRect rect)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
117 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
118 ItemWrapper center = null;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
119 int eastWidth = 0;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
120 int westWidth = 0;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
121 int northHeight = 0;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
122 int southHeight = 0;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
123 int centerHeight = 0;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
124 int i;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
125
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
126 super.setGeometry(rect);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
127
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
128 for (i = 0; i < list.length; ++i) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
129 ItemWrapper wrapper = list[i];
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
130 IQLayoutItem item = wrapper.item;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
131 Position position = wrapper.position;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
132
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
133 if (position == Position.North) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
134 item.setGeometry(QRect(rect.x(), northHeight, rect.width(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
135 item.sizeHint().height()));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
136
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
137 northHeight += item.geometry().height() + widgetSpacing();
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
138 } else if (position == Position.South) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
139 item.setGeometry(QRect(item.geometry().x(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
140 item.geometry().y(), rect.width(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
141 item.sizeHint().height()));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
142
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
143 southHeight += item.geometry().height() + widgetSpacing();
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
144
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
145 item.setGeometry(QRect(rect.x(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
146 rect.y() + rect.height() - southHeight + widgetSpacing(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
147 item.geometry().width(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
148 item.geometry().height()));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
149 } else if (position == Position.Center) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
150 center = wrapper;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
151 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
152 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
153
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
154 centerHeight = rect.height() - northHeight - southHeight;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
155
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
156 for (i = 0; i < list.length; ++i) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
157 ItemWrapper wrapper = list[i];
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
158 IQLayoutItem item = wrapper.item;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
159 Position position = wrapper.position;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
160
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
161 if (position == Position.West) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
162 item.setGeometry(QRect(rect.x() + westWidth, northHeight,
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
163 item.sizeHint().width(), centerHeight));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
164
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
165 westWidth += item.geometry().width() + widgetSpacing();
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
166 } else if (position == Position.East) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
167 item.setGeometry(QRect(item.geometry().x(), item.geometry().y(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
168 item.sizeHint().width(), centerHeight));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
169
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
170 eastWidth += item.geometry().width() + widgetSpacing();
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
171
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
172 item.setGeometry(QRect(
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
173 rect.x() + rect.width() - eastWidth + widgetSpacing(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
174 northHeight, item.geometry().width(),
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
175 item.geometry().height()));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
176 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
177 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
178
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
179 if (center)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
180 center.item.setGeometry(QRect(westWidth, northHeight,
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
181 rect.width() - eastWidth - westWidth,
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
182 centerHeight));
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
183 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
184
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
185 QSize sizeHint()
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
186 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
187 return calculateSize(SizeType.SizeHint);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
188 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
189
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
190 QLayoutItem takeAt(int index)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
191 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
192 if (index >= 0 && index < list.length) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
193 ItemWrapper layoutStruct = list[index];
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
194 return layoutStruct.item;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
195 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
196 return null;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
197 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
198
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
199 void add(IQLayoutItem item, Position position)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
200 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
201 list ~= new ItemWrapper(item, position);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
202 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
203
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
204 private:
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
205
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
206 class ItemWrapper
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
207 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
208 this(IQLayoutItem i, Position p)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
209 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
210 item = i;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
211 position = p;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
212 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
213
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
214 IQLayoutItem item;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
215 Position position;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
216 };
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
217
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
218 enum SizeType { MinimumSize, SizeHint };
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
219
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
220 QSize calculateSize(SizeType sizeType)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
221 {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
222 QSize totalSize;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
223
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
224 for (int i = 0; i < list.length; ++i) {
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
225 ItemWrapper wrapper = list[i];
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
226 Position position = wrapper.position;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
227 QSize itemSize;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
228
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
229 if (sizeType == SizeType.MinimumSize)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
230 itemSize = wrapper.item.minimumSize();
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
231 else // (sizeType == SizeHint)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
232 itemSize = wrapper.item.sizeHint();
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
233
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
234 if (position == Position.North || position == Position.South || position == Position.Center)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
235 totalSize.setHeight(totalSize.height + itemSize.height);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
236
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
237 if (position == Position.West || position == Position.East || position == Position.Center)
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
238 totalSize.setWidth(totalSize.width + itemSize.width);
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
239 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
240 return totalSize;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
241 }
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
242
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
243 ItemWrapper[] list;
c28c0340fdf3 add borderlayout example
mandel
parents:
diff changeset
244 }