annotate widgets/WidgetGallery.cpp @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents a5175615d153
children
rev   line source
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 }