Qt 4.3: pages.cpp Example File (dialogs/configdialog/pages.cpp)

|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# pages.cpp Example File
dialogs/configdialog/pages.cpp

     /****************************************************************************
     **
     ** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
     **
     ** This file is part of the documentation of the Qt Toolkit.
     **
     ** This file may be used under the terms of the GNU General Public
    ** License versions 2.0 or 3.0 as published by the Free Software
    ** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
    ** included in the packaging of this file.  Alternatively you may (at
    ** your option) use any later version of the GNU General Public
    ** License if such license has been publicly approved by Trolltech ASA
    ** (or its successors, if any) and the KDE Free Qt Foundation. In
    ** addition, as a special exception, Trolltech gives you certain
    ** additional rights. These rights are described in the Trolltech GPL
    ** Exception version 1.2, which can be found at
    ** http://www.trolltech.com/products/qt/gplexception/ and in the file
    ** GPL_EXCEPTION.txt in this package.
    **
    ** Please review the following information to ensure GNU General
    ** Public Licensing requirements will be met:
    ** http://trolltech.com/products/qt/licenses/licensing/opensource/. If
    ** you are unsure which license is appropriate for your use, please
    ** review the following information:
    ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
    ** or contact the sales department at sales@trolltech.com.
    **
    ** In addition, as a special exception, Trolltech, as the sole
    ** copyright holder for Qt Designer, grants users of the Qt/Eclipse
    ** Integration plug-in the right for the Qt/Eclipse Integration to
    ** link to functionality provided by Qt Designer and its related
    ** libraries.
    **
    ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
    ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
    ** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly
    ** granted herein.
     **
     ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
     ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
     **
     ****************************************************************************/

     #include <QtGui>

     #include "pages.h"

     ConfigurationPage::ConfigurationPage(QWidget *parent)
         : QWidget(parent)
     {
         QGroupBox *configGroup = new QGroupBox(tr("Server configuration"));

         QLabel *serverLabel = new QLabel(tr("Server:"));
         QComboBox *serverCombo = new QComboBox;
         serverCombo->addItem(tr("Trolltech (Australia)"));
         serverCombo->addItem(tr("Trolltech (Germany)"));
         serverCombo->addItem(tr("Trolltech (Norway)"));
         serverCombo->addItem(tr("Trolltech (People's Republic of China)"));
         serverCombo->addItem(tr("Trolltech (USA)"));

         QHBoxLayout *serverLayout = new QHBoxLayout;
         serverLayout->addWidget(serverLabel);
         serverLayout->addWidget(serverCombo);

         QVBoxLayout *configLayout = new QVBoxLayout;
         configLayout->addLayout(serverLayout);
         configGroup->setLayout(configLayout);

         QVBoxLayout *mainLayout = new QVBoxLayout;
         mainLayout->addWidget(configGroup);
         mainLayout->addStretch(1);
         setLayout(mainLayout);
     }

     UpdatePage::UpdatePage(QWidget *parent)
         : QWidget(parent)
     {
         QGroupBox *updateGroup = new QGroupBox(tr("Package selection"));
         QCheckBox *systemCheckBox = new QCheckBox(tr("Update system"));
         QCheckBox *appsCheckBox = new QCheckBox(tr("Update applications"));
         QCheckBox *docsCheckBox = new QCheckBox(tr("Update documentation"));

         QGroupBox *packageGroup = new QGroupBox(tr("Existing packages"));

         QListWidget *packageList = new QListWidget;
         QListWidgetItem *qtItem = new QListWidgetItem(packageList);
         qtItem->setText(tr("Qt"));
         QListWidgetItem *qsaItem = new QListWidgetItem(packageList);
         qsaItem->setText(tr("QSA"));
         QListWidgetItem *teamBuilderItem = new QListWidgetItem(packageList);
         teamBuilderItem->setText(tr("Teambuilder"));

         QPushButton *startUpdateButton = new QPushButton(tr("Start update"));

         QVBoxLayout *updateLayout = new QVBoxLayout;
         updateLayout->addWidget(systemCheckBox);
         updateLayout->addWidget(appsCheckBox);
         updateLayout->addWidget(docsCheckBox);
         updateGroup->setLayout(updateLayout);

         QVBoxLayout *packageLayout = new QVBoxLayout;
         packageLayout->addWidget(packageList);
         packageGroup->setLayout(packageLayout);

         QVBoxLayout *mainLayout = new QVBoxLayout;
         mainLayout->addWidget(updateGroup);
         mainLayout->addWidget(packageGroup);
         mainLayout->addSpacing(12);
         mainLayout->addWidget(startUpdateButton);
         mainLayout->addStretch(1);
         setLayout(mainLayout);
     }

     QueryPage::QueryPage(QWidget *parent)
         : QWidget(parent)
     {
         QGroupBox *packagesGroup = new QGroupBox(tr("Look for packages"));

         QLabel *nameLabel = new QLabel(tr("Name:"));
         QLineEdit *nameEdit = new QLineEdit;

         QLabel *dateLabel = new QLabel(tr("Released after:"));
         QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate());

         QCheckBox *releasesCheckBox = new QCheckBox(tr("Releases"));
         QCheckBox *upgradesCheckBox = new QCheckBox(tr("Upgrades"));

         QSpinBox *hitsSpinBox = new QSpinBox;
         hitsSpinBox->setPrefix(tr("Return up to "));
         hitsSpinBox->setSuffix(tr(" results"));
         hitsSpinBox->setSpecialValueText(tr("Return only the first result"));
         hitsSpinBox->setMinimum(1);
         hitsSpinBox->setMaximum(100);
         hitsSpinBox->setSingleStep(10);

         QPushButton *startQueryButton = new QPushButton(tr("Start query"));

         QGridLayout *packagesLayout = new QGridLayout;
         packagesLayout->addWidget(nameLabel, 0, 0);
         packagesLayout->addWidget(nameEdit, 0, 1);
         packagesLayout->addWidget(dateLabel, 1, 0);
         packagesLayout->addWidget(dateEdit, 1, 1);
         packagesLayout->addWidget(releasesCheckBox, 2, 0);
         packagesLayout->addWidget(upgradesCheckBox, 3, 0);
         packagesLayout->addWidget(hitsSpinBox, 4, 0, 1, 2);
         packagesGroup->setLayout(packagesLayout);

         QVBoxLayout *mainLayout = new QVBoxLayout;
         mainLayout->addWidget(packagesGroup);
         mainLayout->addSpacing(12);
         mainLayout->addWidget(startQueryButton);
         mainLayout->addStretch(1);
         setLayout(mainLayout);
     }