Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# window.cpp Example File
widgets/configwidget/window.cpp

        #include <QtGui>

        #include "optionbutton.h"
        #include "pages.h"
        #include "window.h"

        Window::Window()
        {
            contentsWidget = new QWidget;
            QWidgetView *view = new QWidgetView(this);
            view->setBackgroundRole(QPalette::Light);
            view->setWidget(contentsWidget);

            pagesWidget = new QStackedWidget(this);
            pagesWidget->addWidget(new ConfigurationPage);
            pagesWidget->addWidget(new UpdatePage);
            pagesWidget->addWidget(new QueryPage);

            QPushButton *closeButton = new QPushButton(tr("Close"), this);

            createIcons();

            connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));

            QHBoxLayout *horizontalLayout = new QHBoxLayout;
            horizontalLayout->addWidget(view);
            horizontalLayout->addWidget(pagesWidget, 1);

            QHBoxLayout *buttonsLayout = new QHBoxLayout;
            buttonsLayout->addStretch(1);
            buttonsLayout->addWidget(closeButton);

            QVBoxLayout *mainLayout = new QVBoxLayout(this);
            mainLayout->addLayout(horizontalLayout);
            mainLayout->addStretch(1);
            mainLayout->addSpacing(12);
            mainLayout->addLayout(buttonsLayout);

            setWindowTitle(tr("Configuration Widget"));
        }

        void Window::createIcons()
        {
            QPixmap pixmap;

            pixmap.load(":/images/config.png");
            OptionButton *configButton = new OptionButton(104, 104, 0, contentsWidget);
            configButton->setIcon(QIcon(pixmap));
            configButton->setText(tr("Configuration"));
            configButton->setCheckable(true);
            configButton->setAutoExclusive(true);
            configButton->setChecked(true);
            configButton->move(0, 0);

            pixmap.load(":/images/update.png");
            OptionButton *updateButton = new OptionButton(104, 104, 1, contentsWidget);
            updateButton->setIcon(QIcon(pixmap));
            updateButton->setText(tr("Update"));
            updateButton->setCheckable(true);
            updateButton->setAutoExclusive(true);
            updateButton->move(0, 104);

            pixmap.load(":/images/query.png");
            OptionButton *queryButton = new OptionButton(104, 104, 2, contentsWidget);
            queryButton->setIcon(QIcon(pixmap));
            queryButton->setText(tr("Query"));
            queryButton->setCheckable(true);
            queryButton->setAutoExclusive(true);
            queryButton->move(0, 208);

            connect(configButton, SIGNAL(clicked()), this, SLOT(changePage()));
            connect(updateButton, SIGNAL(clicked()), this, SLOT(changePage()));
            connect(queryButton, SIGNAL(clicked()), this, SLOT(changePage()));

            contentsWidget->resize(104, 312);
        }

        void Window::changePage()
        {
            pagesWidget->setCurrentIndex(static_cast<OptionButton *>(sender())->page());
        }