# HG changeset patch # User mandel # Date 1245187696 0 # Node ID 37cf6fd1ee852746db2441908c7471352edc1bb6 # Parent 875d313c2778946e2cfbdffb7dc7c0a8c2d79217 add styles example, still buggs diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/CMakeLists.txt Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,1 @@ +build_example(calculator main.d widgetgallery.d norwegianwoodstyle.d qrc_styles.d RESOURCES styles.qrc) diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/build.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/build.bat Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,2 @@ +..\..\..\tools\drcc\drcc styles.qrc > qrc_styles.d +dmd -I..\..\..\ main.d widgetgallery.d norwegianwoodstyle.d qrc_styles.d ..\..\..\lib\libqtdgui.lib ..\..\..\lib\libqtdcore.lib \ No newline at end of file diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/build.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/build.sh Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,4 @@ +#! /bin/bash + +../../../tools/drcc/drcc styles.qrc > qrc_styles.d +dmd main.d widgetgallery.d norwegianwoodstyle.d qrc_styles.d -I../../../ -I../../../qt/d1 -L-L../../../lib -L-lqtdgui -L-lqtdcore -L-lQtCore -L-lQtGui -ofstyles diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/images/woodbackground.png Binary file examples/widgets/styles/images/woodbackground.png has changed diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/images/woodbutton.png Binary file examples/widgets/styles/images/woodbutton.png has changed diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/main.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/main.d Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +module main; + + +import qt.gui.QApplication; + +import widgetgallery; + + +int main(string[] args) +{ + scope app = new QApplication(args); + scope gallery = new WidgetGallery; + gallery.show(); + return app.exec(); +} diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/norwegianwoodstyle.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/norwegianwoodstyle.d Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,282 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +module norwegianwoodstyle; + + +import qt.gui.QMotifStyle; +import qt.gui.QPalette; +import qt.gui.QPainterPath; +import qt.gui.QPushButton; +import qt.gui.QComboBox; + + +class NorwegianWoodStyle : public QMotifStyle +{ +public: + + this() {} + + void polish(QPalette palette) + { + auto brown = new QColor(212, 140, 95); + auto beige = new QColor(236, 182, 120); + auto slightlyOpaqueBlack = new QColor(0, 0, 0, 63); + + auto backgroundImage = new QPixmap(":/images/woodbackground.png"); + auto buttonImage = new QPixmap(":/images/woodbutton.png"); + QPixmap midImage = buttonImage; + + auto painter = new QPainter; + painter.begin(midImage); + painter.setPen(Qt.NoPen); + painter.fillRect(midImage.rect(), slightlyOpaqueBlack); + painter.end(); + + palette = new QPalette(brown); + + palette.setBrush(QPalette.BrightText, new QBrush(QColor.White)); + palette.setBrush(QPalette.Base, new QBrush(beige)); + palette.setBrush(QPalette.Highlight, new QBrush(QColor.DarkGreen)); + setTexture(palette, QPalette.Button, buttonImage); + setTexture(palette, QPalette.Mid, midImage); + setTexture(palette, QPalette.Window, backgroundImage); + + QBrush brush = palette.brush(QPalette.Window); //.background(); + brush.setColor(brush.color().darker()); + + palette.setBrush(QPalette.Disabled, QPalette.WindowText, brush); + palette.setBrush(QPalette.Disabled, QPalette.Text, brush); + palette.setBrush(QPalette.Disabled, QPalette.ButtonText, brush); + palette.setBrush(QPalette.Disabled, QPalette.Base, brush); + palette.setBrush(QPalette.Disabled, QPalette.Button, brush); + palette.setBrush(QPalette.Disabled, QPalette.Mid, brush); + } + + void polish(QWidget widget) + { + if (cast(QPushButton) widget || cast(QComboBox) widget) + widget.setAttribute(Qt.WA_Hover, true); + } + + void unpolish(QWidget widget) + { + if (cast(QPushButton) widget || cast(QComboBox) widget) + widget.setAttribute(Qt.WA_Hover, false); + } + + int pixelMetric(PixelMetric metric, QStyleOption option, QWidget widget) + { + switch (metric) { + case PM_ComboBoxFrameWidth: + return 8; + case PM_ScrollBarExtent: + return QMotifStyle.pixelMetric(metric, option, widget) + 4; + default: + return QMotifStyle.pixelMetric(metric, option, widget); + } + } + + int styleHint(StyleHint hint, QStyleOption option, QWidget widget, QStyleHintReturn returnData) + { + switch (hint) { + case SH_DitherDisabledText: + return cast(int) false; + case SH_EtchDisabledText: + return cast(int) true; + default: + return QMotifStyle.styleHint(hint, option, widget, returnData); + } + } + + void drawPrimitive(PrimitiveElement element, QStyleOption option, QPainter painter, QWidget widget) + { + switch (element) { + case PE_PanelButtonCommand: + { + int delta = (option.state & State_MouseOver) ? 64 : 0; + auto slightlyOpaqueBlack = new QColor(0, 0, 0, 63); + auto semiTransparentWhite = new QColor(255, 255, 255, 127 + delta); + auto semiTransparentBlack = new QColor(0, 0, 0, 127 - delta); + + int x, y, width, height; + option.rect.getRect(&x, &y, &width, &height); + + QPainterPath roundRect = roundRectPath(option.rect); + int radius = qMin(width, height) / 2; + + QBrush brush; + bool darker; + + QStyleOptionButton buttonOption = cast(QStyleOptionButton) option; + if (buttonOption && (buttonOption.features & QStyleOptionButton.Flat)) { + brush = option.palette.brush(QPalette.Window); //background(); + darker = cast(bool) (option.state & (State_Sunken | State_On)); + } else { + if (option.state & (State_Sunken | State_On)) { + brush = option.palette.mid(); + darker = !(option.state & State_Sunken); + } else { + brush = option.palette.button(); + darker = false; + } + } + + painter.save(); + painter.setRenderHint(QPainter.Antialiasing, true); + painter.fillPath(roundRect, brush); + if (darker) + painter.fillPath(roundRect, new QBrush(slightlyOpaqueBlack)); + + int penWidth; + + if (radius < 10) + penWidth = 3; + else if (radius < 20) + penWidth = 5; + else + penWidth = 7; + + auto topPen = new QPen(semiTransparentWhite); + auto bottomPen = new QPen(semiTransparentBlack); + + topPen.setWidth(penWidth); + bottomPen.setWidth(penWidth); + + if (option.state & (State_Sunken | State_On)) + qSwap(topPen, bottomPen); + + int x1 = x; + int x2 = x + radius; + int x3 = x + width - radius; + int x4 = x + width; + + if (option.direction == Qt.RightToLeft) { + qSwap(x1, x4); + qSwap(x2, x3); + } + + auto topHalf = new QPolygon(); + topHalf.append(QPoint(x1, y)); + topHalf.append(QPoint(x4, y)); + topHalf.append(QPoint(x3, y + radius)); + topHalf.append(QPoint(x2, y + height - radius)); + topHalf.append(QPoint(x1, y + height)); + + painter.setClipPath(roundRect); + painter.setClipRegion(new QRegion(topHalf), Qt.IntersectClip); + painter.setPen(topPen); + painter.drawPath(roundRect); + + QPolygon bottomHalf = topHalf; + bottomHalf.replace(0, QPoint(x4, y + height)); + + painter.setClipPath(roundRect); + painter.setClipRegion(new QRegion(bottomHalf), Qt.IntersectClip); + painter.setPen(bottomPen); + painter.drawPath(roundRect); + + painter.setPen(option.palette.brush(QPalette.WindowText).color()); + painter.setClipping(false); + painter.drawPath(roundRect); + + painter.restore(); + } + break; + default: + QMotifStyle.drawPrimitive(element, option, painter, widget); + } + } + + void drawControl(ControlElement element, QStyleOption option, QPainter painter, QWidget widget) + { + switch (element) { + case CE_PushButtonLabel: + { + QStyleOptionButton myButtonOption; + QStyleOptionButton buttonOption = cast(QStyleOptionButton) option; + if (buttonOption) { + myButtonOption = buttonOption; + if (myButtonOption.palette.currentColorGroup() != QPalette.Disabled) { + if (myButtonOption.state & (State_Sunken | State_On)) { + myButtonOption.palette.setBrush(QPalette.ButtonText, + myButtonOption.palette.brightText()); + } + } + } + QMotifStyle.drawControl(element, myButtonOption, painter, widget); + } + break; + default: + QMotifStyle.drawControl(element, option, painter, widget); + } + } + +private: + + static void setTexture(QPalette palette, QPalette.ColorRole role, QPixmap pixmap) + { + for (int i = 0; i < QPalette.NColorGroups; ++i) { + QColor color = palette.brush(cast(QPalette.ColorGroup) i, role).color(); + palette.setBrush(cast(QPalette.ColorGroup) i, role, new QBrush(color, pixmap)); + } + } + + static QPainterPath roundRectPath(QRect rect) + { + int radius = qMin(rect.width(), rect.height()) / 2; + int diam = 2 * radius; + + int x1, y1, x2, y2; + rect.getCoords(&x1, &y1, &x2, &y2); + + auto path = new QPainterPath; + path.moveTo(x2, y1 + radius); + path.arcTo(QRectF(x2 - diam, y1, diam, diam), 0.0, +90.0); + path.lineTo(x1 + radius, y1); + path.arcTo(QRectF(x1, y1, diam, diam), 90.0, +90.0); + path.lineTo(x1, y2 - radius); + path.arcTo(QRectF(x1, y2 - diam, diam, diam), 180.0, +90.0); + path.lineTo(x1 + radius, y2); + path.arcTo(QRectF(x2 - diam, y2 - diam, diam, diam), 270.0, +90.0); + path.closeSubpath(); + return path; + } +} diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/styles.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/styles.qrc Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,6 @@ + + + images/woodbutton.png + images/woodbackground.png + + diff -r 875d313c2778 -r 37cf6fd1ee85 examples/widgets/styles/widgetgallery.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/widgets/styles/widgetgallery.d Tue Jun 16 21:28:16 2009 +0000 @@ -0,0 +1,313 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ +module widgetgallery; + + +import qt.gui.QDialog; +import qt.gui.QCheckBox; +import qt.gui.QComboBox; +import qt.gui.QDateTimeEdit; +import qt.gui.QDial; +import qt.gui.QGroupBox; +import qt.gui.QLabel; +import qt.gui.QLineEdit; +import qt.gui.QProgressBar; +import qt.gui.QPushButton; +import qt.gui.QRadioButton; +import qt.gui.QScrollBar; +import qt.gui.QSlider; +import qt.gui.QSpinBox; +import qt.gui.QTabWidget; +import qt.gui.QTableWidget; +import qt.gui.QTextEdit; +import qt.gui.QStyleFactory; +import qt.gui.QHBoxLayout; +import qt.gui.QGridLayout; +import qt.gui.QVBoxLayout; +import qt.core.QTimer; + +import norwegianwoodstyle; + + +class WidgetGallery : public QDialog +{ +public: + + this(QWidget parent = null) + { + super(parent); + originalPalette = QApplication.palette(); + + styleComboBox = new QComboBox; + styleComboBox.addItem("NorwegianWood"); + styleComboBox.addItems(QStyleFactory.keys()); + + styleLabel = new QLabel(tr("&Style:")); + styleLabel.setBuddy(styleComboBox); + + useStylePaletteCheckBox = new QCheckBox(tr("&Use style's standard palette")); + useStylePaletteCheckBox.setChecked(true); + + disableWidgetsCheckBox = new QCheckBox(tr("&Disable widgets")); + + createTopLeftGroupBox(); + createTopRightGroupBox(); + createBottomLeftTabWidget(); + createBottomRightGroupBox(); + createProgressBar(); + + styleComboBox.activated.connect(&this.changeStyle); + useStylePaletteCheckBox.toggled.connect(&this.changePalette); + disableWidgetsCheckBox.toggled.connect(&topLeftGroupBox.setDisabled); + disableWidgetsCheckBox.toggled.connect(&topRightGroupBox.setDisabled); + disableWidgetsCheckBox.toggled.connect(&bottomLeftTabWidget.setDisabled); + disableWidgetsCheckBox.toggled.connect(&bottomRightGroupBox.setDisabled); + + QHBoxLayout topLayout = new QHBoxLayout; + + topLayout.addWidget(styleLabel); + topLayout.addWidget(styleComboBox); + topLayout.addStretch(1); + topLayout.addWidget(useStylePaletteCheckBox); + topLayout.addWidget(disableWidgetsCheckBox); + + QGridLayout mainLayout = new QGridLayout; + mainLayout.addLayout(topLayout, 0, 0, 1, 2); + mainLayout.addWidget(topLeftGroupBox, 1, 0); + mainLayout.addWidget(topRightGroupBox, 1, 1); + mainLayout.addWidget(bottomLeftTabWidget, 2, 0); + mainLayout.addWidget(bottomRightGroupBox, 2, 1); + mainLayout.addWidget(progressBar, 3, 0, 1, 2); + mainLayout.setRowStretch(1, 1); + mainLayout.setRowStretch(2, 1); + mainLayout.setColumnStretch(0, 1); + mainLayout.setColumnStretch(1, 1); + setLayout(mainLayout); + + setWindowTitle(tr("Styles")); + changeStyle("NorwegianWood"); + } + + private: + + void changeStyle(string styleName) + { + if (styleName == "NorwegianWood") { + QApplication.setStyle(new NorwegianWoodStyle); + } else { + QApplication.setStyle(QStyleFactory.create(styleName)); + } + changePalette(); + } + + void changePalette() + { + if (useStylePaletteCheckBox.isChecked()) + QApplication.setPalette(QApplication.style().standardPalette()); + else + QApplication.setPalette(originalPalette); + } + + void advanceProgressBar() + { + int curVal = progressBar.value(); + int maxVal = progressBar.maximum(); + progressBar.setValue(curVal + (maxVal - curVal) / 100); + } + +private: + + void createTopLeftGroupBox() + { + topLeftGroupBox = new QGroupBox(tr("Group 1")); + + radioButton1 = new QRadioButton(tr("Radio button 1")); + radioButton2 = new QRadioButton(tr("Radio button 2")); + radioButton3 = new QRadioButton(tr("Radio button 3")); + radioButton1.setChecked(true); + + checkBox = new QCheckBox(tr("Tri-state check box")); + checkBox.setTristate(true); + checkBox.setCheckState(Qt.PartiallyChecked); + + QVBoxLayout layout = new QVBoxLayout; + layout.addWidget(radioButton1); + layout.addWidget(radioButton2); + layout.addWidget(radioButton3); + layout.addWidget(checkBox); + layout.addStretch(1); + topLeftGroupBox.setLayout(layout); + } + + void createTopRightGroupBox() + { + topRightGroupBox = new QGroupBox(tr("Group 2")); + + defaultPushButton = new QPushButton(tr("Default Push Button")); + defaultPushButton.setDefault(true); + + togglePushButton = new QPushButton(tr("Toggle Push Button")); + togglePushButton.setCheckable(true); + togglePushButton.setChecked(true); + + flatPushButton = new QPushButton(tr("Flat Push Button")); + flatPushButton.setFlat(true); + + QVBoxLayout layout = new QVBoxLayout; + layout.addWidget(defaultPushButton); + layout.addWidget(togglePushButton); + layout.addWidget(flatPushButton); + layout.addStretch(1); + topRightGroupBox.setLayout(layout); + } + + void createBottomLeftTabWidget() + { + bottomLeftTabWidget = new QTabWidget; + bottomLeftTabWidget.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Ignored); + + QWidget tab1 = new QWidget; + tableWidget = new QTableWidget(10, 10); + + QHBoxLayout tab1hbox = new QHBoxLayout; + tab1hbox.setMargin(5); + tab1hbox.addWidget(tableWidget); + tab1.setLayout(tab1hbox); + + QWidget tab2 = new QWidget; + textEdit = new QTextEdit; + + textEdit.setPlainText(tr("Twinkle, twinkle, little star,\n" + "How I wonder what you are.\n" + "Up above the world so high,\n" + "Like a diamond in the sky.\n" + "Twinkle, twinkle, little star,\n" + "How I wonder what you are!\n")); + + QHBoxLayout tab2hbox = new QHBoxLayout; + tab2hbox.setMargin(5); + tab2hbox.addWidget(textEdit); + tab2.setLayout(tab2hbox); + + bottomLeftTabWidget.addTab(tab1, tr("&Table")); + bottomLeftTabWidget.addTab(tab2, tr("Text &Edit")); + } + + void createBottomRightGroupBox() + { + bottomRightGroupBox = new QGroupBox(tr("Group 3")); + bottomRightGroupBox.setCheckable(true); + bottomRightGroupBox.setChecked(true); + + lineEdit = new QLineEdit("s3cRe7"); + lineEdit.setEchoMode(QLineEdit.Password); + + spinBox = new QSpinBox(bottomRightGroupBox); + spinBox.setValue(50); + + dateTimeEdit = new QDateTimeEdit(bottomRightGroupBox); + dateTimeEdit.setDateTime(QDateTime.currentDateTime()); + + slider = new QSlider(Qt.Horizontal, bottomRightGroupBox); + slider.setValue(40); + + scrollBar = new QScrollBar(Qt.Horizontal, bottomRightGroupBox); + scrollBar.setValue(60); + + dial = new QDial(bottomRightGroupBox); + dial.setValue(30); + dial.setNotchesVisible(true); + + QGridLayout layout = new QGridLayout; + layout.addWidget(lineEdit, 0, 0, 1, 2); + layout.addWidget(spinBox, 1, 0, 1, 2); + layout.addWidget(dateTimeEdit, 2, 0, 1, 2); + layout.addWidget(slider, 3, 0); + layout.addWidget(scrollBar, 4, 0); + layout.addWidget(dial, 3, 1, 2, 1); + layout.setRowStretch(5, 1); + bottomRightGroupBox.setLayout(layout); + } + + void createProgressBar() + { + progressBar = new QProgressBar; + progressBar.setRange(0, 10000); + progressBar.setValue(0); + + QTimer timer = new QTimer(this); + timer.timeout.connect(&this.advanceProgressBar); + timer.start(1000); + } + + + QPalette originalPalette; + + QLabel styleLabel; + QComboBox styleComboBox; + QCheckBox useStylePaletteCheckBox; + QCheckBox disableWidgetsCheckBox; + + QGroupBox topLeftGroupBox; + QRadioButton radioButton1; + QRadioButton radioButton2; + QRadioButton radioButton3; + QCheckBox checkBox; + + QGroupBox topRightGroupBox; + QPushButton defaultPushButton; + QPushButton togglePushButton; + QPushButton flatPushButton; + + QTabWidget bottomLeftTabWidget; + QTableWidget tableWidget; + QTextEdit textEdit; + + QGroupBox bottomRightGroupBox; + QLineEdit lineEdit; + QSpinBox spinBox; + QDateTimeEdit dateTimeEdit; + QSlider slider; + QScrollBar scrollBar; + QDial dial; + + QProgressBar progressBar; +}