annotate examples/layouts/dynamiclayouts/dialog.d @ 406:778ef7374fb5

Fixes for 64 bit. Now all examples compile with gdc 64 bit
author Eldar Insafutdinov
date Fri, 18 Mar 2011 00:30:48 +0000
parents 185df9220ea7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
1 /****************************************************************************
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
2 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
4 ** Contact: Qt Software Information (qt-info@nokia.com)
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
5 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
6 ** This file is part of the examples of the Qt Toolkit.
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
7 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
8 ** $QT_BEGIN_LICENSE:LGPL$
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
9 ** Commercial Usage
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
10 ** Licensees holding valid Qt Commercial licenses may use this file in
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
11 ** accordance with the Qt Commercial License Agreement provided with the
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
12 ** Software or, alternatively, in accordance with the terms contained in
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
13 ** a written agreement between you and Nokia.
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
14 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
15 ** GNU Lesser General Public License Usage
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
16 ** Alternatively, this file may be used under the terms of the GNU Lesser
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
17 ** General Public License version 2.1 as published by the Free Software
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
18 ** Foundation and appearing in the file LICENSE.LGPL included in the
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
19 ** packaging of this file. Please review the following information to
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
20 ** ensure the GNU Lesser General Public License version 2.1 requirements
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
21 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
22 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
23 ** In addition, as a special exception, Nokia gives you certain
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
24 ** additional rights. These rights are described in the Nokia Qt LGPL
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
26 ** package.
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
27 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
28 ** GNU General Public License Usage
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
29 ** Alternatively, this file may be used under the terms of the GNU
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
30 ** General Public License version 3.0 as published by the Free Software
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
31 ** Foundation and appearing in the file LICENSE.GPL included in the
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
32 ** packaging of this file. Please review the following information to
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
33 ** ensure the GNU General Public License version 3.0 requirements will be
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
34 ** met: http://www.gnu.org/copyleft/gpl.html.
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
35 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
36 ** If you are unsure which license is appropriate for your use, please
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
37 ** contact the sales department at qt-sales@nokia.com.
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
38 ** $QT_END_LICENSE$
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
39 **
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
40 ****************************************************************************/
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
41 module dialog;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
42
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
43
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
44 import qt.gui.QDialog;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
45 import qt.gui.QGroupBox;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
46 import qt.gui.QGridLayout;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
47 import qt.gui.QLabel;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
48 import qt.gui.QComboBox;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
49 import qt.gui.QDialogButtonBox;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
50 import qt.gui.QPushButton;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
51 import qt.gui.QMessageBox;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
52 import qt.gui.QSpinBox;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
53 import qt.gui.QDial;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
54 import qt.gui.QProgressBar;
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
55
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
56
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
57 class Dialog : public QDialog
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
58 {
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
59 public:
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
60
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
61 this(QWidget parent = null)
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
62 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
63 super(parent);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
64
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
65 createRotableGroupBox();
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
66 createOptionsGroupBox();
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
67 createButtonBox();
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
68
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
69 mainLayout = new QGridLayout;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
70 mainLayout.addWidget(rotableGroupBox, 0, 0);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
71 mainLayout.addWidget(optionsGroupBox, 1, 0);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
72 mainLayout.addWidget(buttonBox, 2, 0);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
73 setLayout(mainLayout);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
74
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
75 mainLayout.setSizeConstraint(QLayout.SetMinimumSize);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
76
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
77 setWindowTitle(tr("Dynamic Layouts"));
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
78 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
79
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
80 private: // slots
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
81
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
82 void slot_buttonsOrientationChanged(int index)
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
83 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
84 mainLayout.setSizeConstraint(QLayout.SetNoConstraint);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
85 setMinimumSize(0, 0);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
86
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
87 Qt.Orientation orientation = cast(Qt.Orientation) buttonsOrientationComboBox.itemData(index).toInt();
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
88
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
89 if (orientation == buttonBox.orientation())
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
90 return;
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
91
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
92 mainLayout.removeWidget(buttonBox);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
93
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
94 int spacing = mainLayout.spacing();
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
95
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
96 QSize oldSizeHint = buttonBox.sizeHint() + QSize(spacing, spacing);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
97 buttonBox.setOrientation(orientation);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
98 QSize newSizeHint = buttonBox.sizeHint() + QSize(spacing, spacing);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
99
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
100 if (orientation == Qt.Orientation.Horizontal) {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
101 mainLayout.addWidget(buttonBox, 2, 0);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
102 resize(size() + QSize(-1 * oldSizeHint.width(), newSizeHint.height()));
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
103 } else {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
104 mainLayout.addWidget(buttonBox, 0, 3, 2, 1);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
105 resize(size() + QSize(newSizeHint.width(), -1 * oldSizeHint.height()));
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
106 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
107
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
108 mainLayout.setSizeConstraint(QLayout.SetDefaultConstraint);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
109 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
110
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
111 void slot_rotateWidgets()
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
112 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
113 assert(rotableWidgets.length % 2 == 0);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
114
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
115 foreach (QWidget widget; rotableWidgets)
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
116 rotableLayout.removeWidget(widget);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
117
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
118 rotableWidgets = rotableWidgets[1..$] ~ rotableWidgets[0];
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
119
406
778ef7374fb5 Fixes for 64 bit. Now all examples compile with gdc 64 bit
Eldar Insafutdinov
parents: 368
diff changeset
120 auto n = rotableWidgets.length;
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
121 for (int i = 0; i < n / 2; ++i) {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
122 rotableLayout.addWidget(rotableWidgets[n - i - 1], 0, i);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
123 rotableLayout.addWidget(rotableWidgets[i], 1, i);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
124 }
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
125 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
126
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
127 void slot_help()
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
128 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
129 QMessageBox.information(this, tr("Dynamic Layouts Help"),
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
130 tr("This example shows how to change layouts dynamically."));
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
131 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
132
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
133 private:
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
134
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
135 void createRotableGroupBox()
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
136 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
137 rotableGroupBox = new QGroupBox(tr("Rotable Widgets"));
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
138
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
139 auto a0 = new QSpinBox;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
140 auto a1 = new QSlider;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
141 auto a2 = new QDial;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
142 auto a3 = new QProgressBar;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
143
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
144 rotableWidgets ~= a0;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
145 rotableWidgets ~= a1;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
146 rotableWidgets ~= a2;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
147 rotableWidgets ~= a3;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
148
406
778ef7374fb5 Fixes for 64 bit. Now all examples compile with gdc 64 bit
Eldar Insafutdinov
parents: 368
diff changeset
149 auto n = rotableWidgets.length;
108
9fa74f0e3fb6 uniform indention
mandel
parents: 103
diff changeset
150
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
151 for (int i = 0; i < n; ++i)
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
152 connect(rotableWidgets[i], "valueChanged", rotableWidgets[(i + 1) % n], "setValue");
108
9fa74f0e3fb6 uniform indention
mandel
parents: 103
diff changeset
153
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
154 rotableLayout = new QGridLayout;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
155 rotableGroupBox.setLayout(rotableLayout);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
156
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
157 rotateWidgets();
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
158
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
159 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
160
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
161 void createOptionsGroupBox()
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
162 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
163 optionsGroupBox = new QGroupBox(tr("Options"));
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
164
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
165 buttonsOrientationLabel = new QLabel(tr("Orientation of buttons:"));
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
166
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
167 buttonsOrientationComboBox = new QComboBox;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
168 buttonsOrientationComboBox.addItem(tr("Horizontal"), new QVariant(cast(ulong) Qt.Horizontal));
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
169 buttonsOrientationComboBox.addItem(tr("Vertical"), new QVariant(cast(ulong) Qt.Vertical));
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
170
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
171 connect(buttonsOrientationComboBox, "currentIndexChanged", this, "buttonsOrientationChanged");
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
172
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
173 optionsLayout = new QGridLayout;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
174 optionsLayout.addWidget(buttonsOrientationLabel, 0, 0);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
175 optionsLayout.addWidget(buttonsOrientationComboBox, 0, 1);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
176 optionsLayout.setColumnStretch(2, 1);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
177 optionsGroupBox.setLayout(optionsLayout);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
178 }
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
179
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
180 void createButtonBox()
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
181 {
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
182 buttonBox = new QDialogButtonBox;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
183
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
184 closeButton = buttonBox.addButton(QDialogButtonBox.Close);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
185 helpButton = buttonBox.addButton(QDialogButtonBox.Help);
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
186 rotateWidgetsButton = buttonBox.addButton(tr("Rotate &Widgets"), QDialogButtonBox.ActionRole);
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
187
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
188 connect(rotateWidgetsButton, "clicked", this, "rotateWidgets");
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
189 connect(closeButton, "clicked", this, "close");
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
190 connect(helpButton, "clicked", this, "help");
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
191 }
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
192
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
193 QGroupBox rotableGroupBox;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
194 QWidget[] rotableWidgets;
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
195
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
196 QGroupBox optionsGroupBox;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
197 QLabel buttonsOrientationLabel;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
198 QComboBox buttonsOrientationComboBox;
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
199
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
200 QDialogButtonBox buttonBox;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
201 QPushButton closeButton;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
202 QPushButton helpButton;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
203 QPushButton rotateWidgetsButton;
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
204
368
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
205 QGridLayout mainLayout;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
206 QGridLayout rotableLayout;
185df9220ea7 Fixed startsWith. Implemented meta-object members as ranges. Freed QMetaObject from stuff that belongs to MetaClass
Max Samukha <maxter@maxter.com>
parents: 337
diff changeset
207 QGridLayout optionsLayout;
323
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
208
7a3c43424dca make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents: 282
diff changeset
209 mixin Q_OBJECT;
101
4f909ae70e76 add dynamiclayouts example
mandel
parents:
diff changeset
210 }