lbajardsilogic@7
|
1 #include <QtGui>
|
lbajardsilogic@7
|
2
|
lbajardsilogic@7
|
3 #include "widgetgallery.h"
|
lbajardsilogic@7
|
4
|
lbajardsilogic@7
|
5 WidgetGallery::WidgetGallery(QWidget *parent)
|
lbajardsilogic@7
|
6 : QDialog(parent)
|
lbajardsilogic@7
|
7 {
|
lbajardsilogic@7
|
8 originalPalette = QApplication::palette();
|
lbajardsilogic@7
|
9
|
lbajardsilogic@7
|
10 styleComboBox = new QComboBox;
|
lbajardsilogic@7
|
11 styleComboBox->addItems(QStyleFactory::keys());
|
lbajardsilogic@7
|
12
|
lbajardsilogic@7
|
13 styleLabel = new QLabel(tr("&Style:"));
|
lbajardsilogic@7
|
14 styleLabel->setBuddy(styleComboBox);
|
lbajardsilogic@7
|
15
|
lbajardsilogic@7
|
16 useStylePaletteCheckBox = new QCheckBox(tr("&Use style's standard palette"));
|
lbajardsilogic@7
|
17 useStylePaletteCheckBox->setChecked(true);
|
lbajardsilogic@7
|
18
|
lbajardsilogic@7
|
19 disableWidgetsCheckBox = new QCheckBox(tr("&Disable widgets"));
|
lbajardsilogic@7
|
20
|
lbajardsilogic@7
|
21 createTopLeftGroupBox();
|
lbajardsilogic@7
|
22 createTopRightGroupBox();
|
lbajardsilogic@7
|
23 createBottomLeftTabWidget();
|
lbajardsilogic@7
|
24 createBottomRightGroupBox();
|
lbajardsilogic@7
|
25 createProgressBar();
|
lbajardsilogic@7
|
26
|
lbajardsilogic@7
|
27 connect(styleComboBox, SIGNAL(activated(const QString &)),
|
lbajardsilogic@7
|
28 this, SLOT(changeStyle(const QString &)));
|
lbajardsilogic@7
|
29 connect(useStylePaletteCheckBox, SIGNAL(toggled(bool)),
|
lbajardsilogic@7
|
30 this, SLOT(changePalette()));
|
lbajardsilogic@7
|
31 connect(disableWidgetsCheckBox, SIGNAL(toggled(bool)),
|
lbajardsilogic@7
|
32 topLeftGroupBox, SLOT(setDisabled(bool)));
|
lbajardsilogic@7
|
33 connect(disableWidgetsCheckBox, SIGNAL(toggled(bool)),
|
lbajardsilogic@7
|
34 topRightGroupBox, SLOT(setDisabled(bool)));
|
lbajardsilogic@7
|
35 connect(disableWidgetsCheckBox, SIGNAL(toggled(bool)),
|
lbajardsilogic@7
|
36 bottomLeftTabWidget, SLOT(setDisabled(bool)));
|
lbajardsilogic@7
|
37 connect(disableWidgetsCheckBox, SIGNAL(toggled(bool)),
|
lbajardsilogic@7
|
38 bottomRightGroupBox, SLOT(setDisabled(bool)));
|
lbajardsilogic@7
|
39
|
lbajardsilogic@7
|
40 QHBoxLayout *topLayout = new QHBoxLayout;
|
lbajardsilogic@7
|
41 topLayout->addWidget(styleLabel);
|
lbajardsilogic@7
|
42 topLayout->addWidget(styleComboBox);
|
lbajardsilogic@7
|
43 topLayout->addStretch(1);
|
lbajardsilogic@7
|
44 topLayout->addWidget(useStylePaletteCheckBox);
|
lbajardsilogic@7
|
45 topLayout->addWidget(disableWidgetsCheckBox);
|
lbajardsilogic@7
|
46
|
lbajardsilogic@7
|
47 QGridLayout *mainLayout = new QGridLayout;
|
lbajardsilogic@7
|
48 mainLayout->addLayout(topLayout, 0, 0, 1, 2);
|
lbajardsilogic@7
|
49 mainLayout->addWidget(topLeftGroupBox, 1, 0);
|
lbajardsilogic@7
|
50 mainLayout->addWidget(topRightGroupBox, 1, 1);
|
lbajardsilogic@7
|
51 mainLayout->addWidget(bottomLeftTabWidget, 2, 0);
|
lbajardsilogic@7
|
52 mainLayout->addWidget(bottomRightGroupBox, 2, 1);
|
lbajardsilogic@7
|
53 mainLayout->addWidget(progressBar, 3, 0, 1, 2);
|
lbajardsilogic@7
|
54 mainLayout->setRowStretch(1, 1);
|
lbajardsilogic@7
|
55 mainLayout->setRowStretch(2, 1);
|
lbajardsilogic@7
|
56 mainLayout->setColumnStretch(0, 1);
|
lbajardsilogic@7
|
57 mainLayout->setColumnStretch(1, 1);
|
lbajardsilogic@7
|
58 setLayout(mainLayout);
|
lbajardsilogic@7
|
59
|
lbajardsilogic@7
|
60 setWindowTitle(tr("Styles"));
|
lbajardsilogic@7
|
61 changeStyle("Plastic");
|
lbajardsilogic@7
|
62 }
|
lbajardsilogic@7
|
63
|
lbajardsilogic@7
|
64 void WidgetGallery::changeStyle(const QString &styleName)
|
lbajardsilogic@7
|
65 {
|
lbajardsilogic@7
|
66
|
lbajardsilogic@7
|
67 QApplication::setStyle(QStyleFactory::create(styleName));
|
lbajardsilogic@7
|
68 changePalette();
|
lbajardsilogic@7
|
69 }
|
lbajardsilogic@7
|
70
|
lbajardsilogic@7
|
71 void WidgetGallery::changePalette()
|
lbajardsilogic@7
|
72 {
|
lbajardsilogic@7
|
73 if (useStylePaletteCheckBox->isChecked())
|
lbajardsilogic@7
|
74 QApplication::setPalette(QApplication::style()->standardPalette());
|
lbajardsilogic@7
|
75 else
|
lbajardsilogic@7
|
76 QApplication::setPalette(originalPalette);
|
lbajardsilogic@7
|
77 }
|
lbajardsilogic@7
|
78
|
lbajardsilogic@7
|
79 void WidgetGallery::advanceProgressBar()
|
lbajardsilogic@7
|
80 {
|
lbajardsilogic@7
|
81 int curVal = progressBar->value();
|
lbajardsilogic@7
|
82 int maxVal = progressBar->maximum();
|
lbajardsilogic@7
|
83 progressBar->setValue(curVal + (maxVal - curVal) / 100);
|
lbajardsilogic@7
|
84 }
|
lbajardsilogic@7
|
85
|
lbajardsilogic@7
|
86 void WidgetGallery::createTopLeftGroupBox()
|
lbajardsilogic@7
|
87 {
|
lbajardsilogic@7
|
88 topLeftGroupBox = new QGroupBox(tr("Group 1"));
|
lbajardsilogic@7
|
89
|
lbajardsilogic@7
|
90 radioButton1 = new QRadioButton(tr("Radio button 1"));
|
lbajardsilogic@7
|
91 radioButton2 = new QRadioButton(tr("Radio button 2"));
|
lbajardsilogic@7
|
92 radioButton3 = new QRadioButton(tr("Radio button 3"));
|
lbajardsilogic@7
|
93 radioButton1->setChecked(true);
|
lbajardsilogic@7
|
94
|
lbajardsilogic@7
|
95 checkBox = new QCheckBox(tr("Tri-state check box"));
|
lbajardsilogic@7
|
96 checkBox->setTristate(true);
|
lbajardsilogic@7
|
97 checkBox->setCheckState(Qt::PartiallyChecked);
|
lbajardsilogic@7
|
98
|
lbajardsilogic@7
|
99 QVBoxLayout *layout = new QVBoxLayout;
|
lbajardsilogic@7
|
100 layout->addWidget(radioButton1);
|
lbajardsilogic@7
|
101 layout->addWidget(radioButton2);
|
lbajardsilogic@7
|
102 layout->addWidget(radioButton3);
|
lbajardsilogic@7
|
103 layout->addWidget(checkBox);
|
lbajardsilogic@7
|
104 layout->addStretch(1);
|
lbajardsilogic@7
|
105 topLeftGroupBox->setLayout(layout);
|
lbajardsilogic@7
|
106 }
|
lbajardsilogic@7
|
107
|
lbajardsilogic@7
|
108 void WidgetGallery::createTopRightGroupBox()
|
lbajardsilogic@7
|
109 {
|
lbajardsilogic@7
|
110 topRightGroupBox = new QGroupBox(tr("Group 2"));
|
lbajardsilogic@7
|
111
|
lbajardsilogic@7
|
112 defaultPushButton = new QPushButton(tr("Default Push Button"));
|
lbajardsilogic@7
|
113 defaultPushButton->setDefault(true);
|
lbajardsilogic@7
|
114
|
lbajardsilogic@7
|
115 togglePushButton = new QPushButton(tr("Toggle Push Button"));
|
lbajardsilogic@7
|
116 togglePushButton->setCheckable(true);
|
lbajardsilogic@7
|
117 togglePushButton->setChecked(true);
|
lbajardsilogic@7
|
118
|
lbajardsilogic@7
|
119 flatPushButton = new QPushButton(tr("Flat Push Button"));
|
lbajardsilogic@7
|
120 flatPushButton->setFlat(true);
|
lbajardsilogic@7
|
121
|
lbajardsilogic@7
|
122 QVBoxLayout *layout = new QVBoxLayout;
|
lbajardsilogic@7
|
123 layout->addWidget(defaultPushButton);
|
lbajardsilogic@7
|
124 layout->addWidget(togglePushButton);
|
lbajardsilogic@7
|
125 layout->addWidget(flatPushButton);
|
lbajardsilogic@7
|
126 layout->addStretch(1);
|
lbajardsilogic@7
|
127 topRightGroupBox->setLayout(layout);
|
lbajardsilogic@7
|
128 }
|
lbajardsilogic@7
|
129
|
lbajardsilogic@7
|
130 void WidgetGallery::createBottomLeftTabWidget()
|
lbajardsilogic@7
|
131 {
|
lbajardsilogic@7
|
132 bottomLeftTabWidget = new QTabWidget;
|
lbajardsilogic@7
|
133 bottomLeftTabWidget->setSizePolicy(QSizePolicy::Preferred,
|
lbajardsilogic@7
|
134 QSizePolicy::Ignored);
|
lbajardsilogic@7
|
135
|
lbajardsilogic@7
|
136 QWidget *tab1 = new QWidget;
|
lbajardsilogic@7
|
137 tableWidget = new QTableWidget(10, 10);
|
lbajardsilogic@7
|
138
|
lbajardsilogic@7
|
139 QHBoxLayout *tab1hbox = new QHBoxLayout;
|
lbajardsilogic@7
|
140 tab1hbox->setMargin(5);
|
lbajardsilogic@7
|
141 tab1hbox->addWidget(tableWidget);
|
lbajardsilogic@7
|
142 tab1->setLayout(tab1hbox);
|
lbajardsilogic@7
|
143
|
lbajardsilogic@7
|
144 QWidget *tab2 = new QWidget;
|
lbajardsilogic@7
|
145 textEdit = new QTextEdit;
|
lbajardsilogic@7
|
146
|
lbajardsilogic@7
|
147 textEdit->setPlainText(tr("Twinkle, twinkle, little star,\n"
|
lbajardsilogic@7
|
148 "How I wonder what you are.\n"
|
lbajardsilogic@7
|
149 "Up above the world so high,\n"
|
lbajardsilogic@7
|
150 "Like a diamond in the sky.\n"
|
lbajardsilogic@7
|
151 "Twinkle, twinkle, little star,\n"
|
lbajardsilogic@7
|
152 "How I wonder what you are!\n"));
|
lbajardsilogic@7
|
153
|
lbajardsilogic@7
|
154 QHBoxLayout *tab2hbox = new QHBoxLayout;
|
lbajardsilogic@7
|
155 tab2hbox->setMargin(5);
|
lbajardsilogic@7
|
156 tab2hbox->addWidget(textEdit);
|
lbajardsilogic@7
|
157 tab2->setLayout(tab2hbox);
|
lbajardsilogic@7
|
158
|
lbajardsilogic@7
|
159 bottomLeftTabWidget->addTab(tab1, tr("&Table"));
|
lbajardsilogic@7
|
160 bottomLeftTabWidget->addTab(tab2, tr("Text &Edit"));
|
lbajardsilogic@7
|
161 }
|
lbajardsilogic@7
|
162
|
lbajardsilogic@7
|
163 void WidgetGallery::createBottomRightGroupBox()
|
lbajardsilogic@7
|
164 {
|
lbajardsilogic@7
|
165 bottomRightGroupBox = new QGroupBox(tr("Group 3"));
|
lbajardsilogic@7
|
166 bottomRightGroupBox->setCheckable(true);
|
lbajardsilogic@7
|
167 bottomRightGroupBox->setChecked(true);
|
lbajardsilogic@7
|
168
|
lbajardsilogic@7
|
169 lineEdit = new QLineEdit("s3cRe7");
|
lbajardsilogic@7
|
170 lineEdit->setEchoMode(QLineEdit::Password);
|
lbajardsilogic@7
|
171
|
lbajardsilogic@7
|
172 spinBox = new QSpinBox(bottomRightGroupBox);
|
lbajardsilogic@7
|
173 spinBox->setValue(50);
|
lbajardsilogic@7
|
174
|
lbajardsilogic@7
|
175 dateTimeEdit = new QDateTimeEdit(bottomRightGroupBox);
|
lbajardsilogic@7
|
176 dateTimeEdit->setDateTime(QDateTime::currentDateTime());
|
lbajardsilogic@7
|
177
|
lbajardsilogic@7
|
178 slider = new QSlider(Qt::Horizontal, bottomRightGroupBox);
|
lbajardsilogic@7
|
179 slider->setValue(40);
|
lbajardsilogic@7
|
180
|
lbajardsilogic@7
|
181 scrollBar = new QScrollBar(Qt::Horizontal, bottomRightGroupBox);
|
lbajardsilogic@7
|
182 scrollBar->setValue(60);
|
lbajardsilogic@7
|
183
|
lbajardsilogic@7
|
184 dial = new QDial(bottomRightGroupBox);
|
lbajardsilogic@7
|
185 dial->setValue(30);
|
lbajardsilogic@7
|
186 dial->setNotchesVisible(true);
|
lbajardsilogic@7
|
187
|
lbajardsilogic@7
|
188 QGridLayout *layout = new QGridLayout;
|
lbajardsilogic@7
|
189 layout->addWidget(lineEdit, 0, 0, 1, 2);
|
lbajardsilogic@7
|
190 layout->addWidget(spinBox, 1, 0, 1, 2);
|
lbajardsilogic@7
|
191 layout->addWidget(dateTimeEdit, 2, 0, 1, 2);
|
lbajardsilogic@7
|
192 layout->addWidget(slider, 3, 0);
|
lbajardsilogic@7
|
193 layout->addWidget(scrollBar, 4, 0);
|
lbajardsilogic@7
|
194 layout->addWidget(dial, 3, 1, 2, 1);
|
lbajardsilogic@7
|
195 layout->setRowStretch(5, 1);
|
lbajardsilogic@7
|
196 bottomRightGroupBox->setLayout(layout);
|
lbajardsilogic@7
|
197 }
|
lbajardsilogic@7
|
198
|
lbajardsilogic@7
|
199 void WidgetGallery::createProgressBar()
|
lbajardsilogic@7
|
200 {
|
lbajardsilogic@7
|
201 progressBar = new QProgressBar;
|
lbajardsilogic@7
|
202 progressBar->setRange(0, 10000);
|
lbajardsilogic@7
|
203 progressBar->setValue(0);
|
lbajardsilogic@7
|
204
|
lbajardsilogic@7
|
205 QTimer *timer = new QTimer(this);
|
lbajardsilogic@7
|
206 connect(timer, SIGNAL(timeout()), this, SLOT(advanceProgressBar()));
|
lbajardsilogic@7
|
207 timer->start(1000);
|
lbajardsilogic@7
|
208 } |