Adding ./doc from boost

Reviewer: Lauro Moura <lauro.neto@openbossa.org>
          Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
Lauro Neto 2010-04-27 18:12:50 -03:00 committed by Renato Filho
commit aaece960d3
1108 changed files with 70655 additions and 0 deletions

View file

@ -0,0 +1,250 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (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 http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
//! [0] //! [1]
def __init__(self, parent):
QWizard.__init__(self, parent):
self.addPage(IntroPage())
self.addPage(ClassInfoPage())
self.addPage(CodeStylePage())
self.addPage(OutputFilesPage())
self.addPage(ConclusionPage())
//! [0]
self.setPixmap(QWizard.BannerPixmap, QPixmap(":/images/banner.png"))
self.setPixmap(QWizard.BackgroundPixmap, QPixmap(":/images/background.png"))
self.setWindowTitle(self.tr("Class Wizard"))
//! [2]
//! [1] //! [2]
//! [3]
def accept(self):
//! [3] //! [4]
className = self.field("className").toByteArray()
baseClass = self.field("baseClass").toByteArray()
macroName = self.field("macroName").toByteArray()
baseInclude = self.field("baseInclude").toByteArray()
outputDir = self.field("outputDir").toString()
header = self.field("header").toString()
implementation = self.field("implementation").toString()
//! [4]
...
//! [5]
QDialog.accept(self)
//! [5] //! [6]
}
//! [6]
//! [7]
class IntroPage (QWizardPage):
def __init__(self, parent):
QWizardPage.__init__(self, parent)
self.setTitle(tr("Introduction"))
self.setPixmap(QWizard.WatermarkPixmap, QPixmap(":/images/watermark1.png"))
label = QLabel(self.tr("This wizard will generate a skeleton C++ class " \
"definition, including a few functions. You simply " \
"need to specify the class name and set a few " \
"options to produce a header file and an " \
"implementation file for your new C++ class."))
label.setWordWrap(True)
layout = QVBoxLayout()
layout.addWidget(label)
self.setLayout(layout)
}
//! [7]
//! [8] //! [9]
class ClassInfoPage(QWizardPage):
def __init__(self, parent):
QWizardPage.__init__(self, parent)
//! [8]
self.setTitle(self.tr("Class Information"))
self.setSubTitle(self.tr("Specify basic information about the class for which you " \
"want to generate skeleton source code files."))
self.setPixmap(QWizard.LogoPixmap, QPixmap(":/images/logo1.png"))
//! [10]
classNameLabel = QLabel(self.tr("&Class name:"))
classNameLineEdit = QLineEdit()
classNameLabel.setBuddy(classNameLineEdit)
baseClassLabel = QLabel(self.tr("B&ase class:"))
baseClassLineEdit = QLineEdit()
baseClassLabel.setBuddy(baseClassLineEdit)
qobjectMacroCheckBox = QCheckBox(self.tr("Generate Q_OBJECT &macro"))
//! [10]
groupBox = QGroupBox(self.tr("C&onstructor"))
//! [9]
qobjectCtorRadioButton = QRadioButton(self.tr("&QObject-style constructor"))
qwidgetCtorRadioButton = QRadioButton(self.tr("Q&Widget-style constructor"))
defaultCtorRadioButton = QRadioButton(self.tr("&Default constructor"))
copyCtorCheckBox = QCheckBox(self.tr("&Generate copy constructor and operator="))
defaultCtorRadioButton.setChecked(True)
self.connect(defaultCtorRadioButton, SIGNAL("toggled(bool)"),
copyCtorCheckBox, SLOT("setEnabled(bool)"))
//! [11] //! [12]
registerField("className*", classNameLineEdit)
registerField("baseClass", baseClassLineEdit)
registerField("qobjectMacro", qobjectMacroCheckBox)
//! [11]
registerField("qobjectCtor", qobjectCtorRadioButton)
registerField("qwidgetCtor", qwidgetCtorRadioButton)
registerField("defaultCtor", defaultCtorRadioButton)
registerField("copyCtor", copyCtorCheckBox)
groupBoxLayout = QVBoxLayout()
//! [12]
groupBoxLayout.addWidget(qobjectCtorRadioButton)
groupBoxLayout.addWidget(qwidgetCtorRadioButton)
groupBoxLayout.addWidget(defaultCtorRadioButton)
groupBoxLayout.addWidget(copyCtorCheckBox)
groupBox.setLayout(groupBoxLayout)
layout = QGridLayout()
layout.addWidget(classNameLabel, 0, 0)
layout.addWidget(classNameLineEdit, 0, 1)
layout.addWidget(baseClassLabel, 1, 0)
layout.addWidget(baseClassLineEdit, 1, 1)
layout.addWidget(qobjectMacroCheckBox, 2, 0, 1, 2)
layout.addWidget(groupBox, 3, 0, 1, 2)
self.setLayout(layout)
//! [13]
//! [13]
//! [14]
class CodeStylePage(QWizardPage):
def __init__(self, parent):
QWizardPage.__init__(self, parent)
self.setTitle(tr("Code Style Options"))
self.setSubTitle(tr("Choose the formatting of the generated code."))
self.setPixmap(QWizard.LogoPixmap, QPixmap(":/images/logo2.png"))
commentCheckBox = QCheckBox(self.tr("&Start generated files with a comment"))
//! [14]
commentCheckBox.setChecked(True)
protectCheckBox = QCheckBox(self.tr("&Protect header file against multiple " \
"inclusions"))
protectCheckBox.setChecked(True)
macroNameLabel = QLabel(self.tr("&Macro name:"))
macroNameLineEdit = QLineEdit()
macroNameLabel.setBuddy(macroNameLineEdit)
includeBaseCheckBox = QCheckBox(self.tr("&Include base class definition"))
baseIncludeLabel = QLabel(self.tr("Base class include:"))
baseIncludeLineEdit = QLineEdit()
baseIncludeLabel.setBuddy(baseIncludeLineEdit)
self.connect(protectCheckBox, SIGNAL("toggled(bool)"),
macroNameLabel, SLOT("setEnabled(bool)"))
self.connect(protectCheckBox, SIGNAL("toggled(bool)"),
macroNameLineEdit, SLOT("setEnabled(bool)"))
self.connect(includeBaseCheckBox, SIGNAL("toggled(bool)"),
baseIncludeLabel, SLOT("setEnabled(bool)"))
self.connect(includeBaseCheckBox, SIGNAL(toggled(bool)),
baseIncludeLineEdit, SLOT("setEnabled(bool)"))
self.registerField("comment", commentCheckBox)
self.registerField("protect", protectCheckBox)
self.registerField("macroName", macroNameLineEdit)
self.registerField("includeBase", includeBaseCheckBox)
self.registerField("baseInclude", baseIncludeLineEdit)
layout = QGridLayout()
layout.setColumnMinimumWidth(0, 20)
layout.addWidget(commentCheckBox, 0, 0, 1, 3)
layout.addWidget(protectCheckBox, 1, 0, 1, 3)
layout.addWidget(macroNameLabel, 2, 1)
layout.addWidget(macroNameLineEdit, 2, 2)
layout.addWidget(includeBaseCheckBox, 3, 0, 1, 3)
layout.addWidget(baseIncludeLabel, 4, 1)
layout.addWidget(baseIncludeLineEdit, 4, 2)
//! [15]
self.setLayout(layout)
}
//! [15]
//! [16]
def initializePage(self):
className = self.field("className").toString()
self.macroNameLineEdit.setText(className.toUpper() + "_H")
baseClass = self.field("baseClass").toString()
self.includeBaseCheckBox.setChecked(not baseClass.isEmpty())
self.includeBaseCheckBox.setEnabled(not baseClass.isEmpty())
self.baseIncludeLabel.setEnabled(not baseClass.isEmpty())
self.baseIncludeLineEdit.setEnabled(not baseClass.isEmpty())
if baseClass.isEmpty():
self.baseIncludeLineEdit.clear()
elsif QRegExp("Q[A-Z].*").exactMatch(baseClass):
baseIncludeLineEdit.setText("<" + baseClass + ">")
else:
baseIncludeLineEdit.setText("\"" + baseClass.toLower() + ".h\"")
//! [16]
//! [17]
def initializePage(self):
className = field("className").toString()
self.headerLineEdit.setText(className.toLower() + ".h")
self.implementationLineEdit.setText(className.toLower() + ".cpp")
self.outputDirLineEdit.setText(QDir.convertSeparators(QDir.tempPath()))
//! [17]

View file

@ -0,0 +1,11 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/background.png</file>
<file>images/banner.png</file>
<file>images/logo1.png</file>
<file>images/logo2.png</file>
<file>images/logo3.png</file>
<file>images/watermark1.png</file>
<file>images/watermark2.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,64 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (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 http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QApplication>
#include <QTranslator>
#include <QLocale>
#include <QLibraryInfo>
#include "classwizard.h"
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(classwizard);
QApplication app(argc, argv);
QString translatorFileName = QLatin1String("qt_");
translatorFileName += QLocale::system().name();
QTranslator *translator = new QTranslator(&app);
if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(translator);
ClassWizard wizard;
wizard.show();
return app.exec();
}

View file

@ -0,0 +1,110 @@
############################################################################
##
## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
## Contact: Qt Software Information (qt-info@nokia.com)
##
## This file is part of the example classes of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL$
## Commercial Usage
## Licensees holding valid Qt Commercial licenses may use self 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, self 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 self 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 self
## package.
##
## GNU General Public License Usage
## Alternatively, self 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 self 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$
##
############################################################################
from PySide.QtGui import *
//! [0]
def __init__(self, parent):
QDialog.__init__(self, parent)
label = QLabel(self.tr("Find &what:"))
lineEdit = QLineEdit()
label.setBuddy(lineEdit)
caseCheckBox = QCheckBox(self.tr("Match &case"))
fromStartCheckBox = QCheckBox(self.tr("Search from &start"))
fromStartCheckBox.setChecked(True)
//! [1]
findButton = QPushButton(self.tr("&Find"))
findButton.setDefault(True)
moreButton = QPushButton(self.tr("&More"))
moreButton.setCheckable(True)
//! [0]
moreButton.setAutoDefault(False)
buttonBox = QDialogButtonBox(Qt.Vertical)
buttonBox.addButton(findButton, QDialogButtonBox.ActionRole)
buttonBox.addButton(moreButton, QDialogButtonBox.ActionRole)
//! [1]
//! [2]
extension = QWidget()
wholeWordsCheckBox = QCheckBox(self.tr("&Whole words"))
backwardCheckBox = QCheckBox(self.tr("Search &backward"))
searchSelectionCheckBox = QCheckBox(self.tr("Search se&lection"))
//! [2]
//! [3]
connect(moreButton, SIGNAL("toggled(bool)"), extension, SLOT("setVisible(bool)"))
QVBoxLayout *extensionLayout = QVBoxLayout
extensionLayout.setMargin(0)
extensionLayout.addWidget(wholeWordsCheckBox)
extensionLayout.addWidget(backwardCheckBox)
extensionLayout.addWidget(searchSelectionCheckBox)
extension.setLayout(extensionLayout)
//! [3]
//! [4]
topLeftLayout = QHBoxLayout
topLeftLayout.addWidget(label)
topLeftLayout.addWidget(lineEdit)
leftLayout = QVBoxLayout
leftLayout.addLayout(topLeftLayout)
leftLayout.addWidget(caseCheckBox)
leftLayout.addWidget(fromStartCheckBox)
leftLayout.addSself.tretch(1)
mainLayout = QGridLayout
mainLayout.setSizeConsself.traint(QLayout.SetFixedSize)
mainLayout.addLayout(leftLayout, 0, 0)
mainLayout.addWidget(buttonBox, 0, 1)
mainLayout.addWidget(extension, 1, 0, 1, 2)
setLayout(mainLayout)
setWindowTitle(self.tr("Extension"))
//! [4] //! [5]
extension.hide()
//! [5]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -0,0 +1,349 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (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 http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtGui>
#include "licensewizard.h"
//! [0] //! [1] //! [2]
# class LicenseWizard
def __init__(self, parent)
QWizard(self, parent)
//! [0]
self.setPage(self.Page_Intro, IntroPage())
self.setPage(self.Page_Evaluate, EvaluatePage())
self.setPage(self.Page_Register, RegisterPage())
self.setPage(self.Page_Details, DetailsPage())
self.setPage(self.Page_Conclusion, ConclusionPage())
//! [1]
self.setStartId(self.Page_Intro);
//! [2]
//! [3]
//! [3] //! [4]
self.setWizardStyle(QWizard.ModernStyle);
//! [4] //! [5]
self.setOption(HaveHelpButton, True);
//! [5] //! [6]
self.setPixmap(QWizard.LogoPixmap, QPixmap(":/images/logo.png"));
//! [7]
connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));
//! [7]
setWindowTitle(tr("License Wizard"));
//! [8]
}
//! [6] //! [8]
//! [9] //! [10]
void LicenseWizard::showHelp()
//! [9] //! [11]
{
static QString lastHelpMessage;
QString message;
switch (currentId()) {
case Page_Intro:
message = tr("The decision you make here will affect which page you "
"get to see next.");
break;
//! [10] //! [11]
case Page_Evaluate:
message = tr("Make sure to provide a valid email address, such as "
"toni.buddenbrook@example.de.");
break;
case Page_Register:
message = tr("If you don't provide an upgrade key, you will be "
"asked to fill in your details.");
break;
case Page_Details:
message = tr("Make sure to provide a valid email address, such as "
"thomas.gradgrind@example.co.uk.");
break;
case Page_Conclusion:
message = tr("You must accept the terms and conditions of the "
"license to proceed.");
break;
//! [12] //! [13]
default:
message = tr("This help is likely not to be of any help.");
}
//! [12]
if (lastHelpMessage == message)
message = tr("Sorry, I already gave what help I could. "
"Maybe you should try asking a human?");
//! [14]
QMessageBox::information(this, tr("License Wizard Help"), message);
//! [14]
lastHelpMessage = message;
//! [15]
}
//! [13] //! [15]
//! [16]
IntroPage::IntroPage(QWidget *parent)
: QWizardPage(parent)
{
setTitle(tr("Introduction"));
setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark.png"));
topLabel = new QLabel(tr("This wizard will help you register your copy of "
"<i>Super Product One</i>&trade; or start "
"evaluating the product."));
topLabel->setWordWrap(true);
registerRadioButton = new QRadioButton(tr("&Register your copy"));
evaluateRadioButton = new QRadioButton(tr("&Evaluate the product for 30 "
"days"));
registerRadioButton->setChecked(true);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(topLabel);
layout->addWidget(registerRadioButton);
layout->addWidget(evaluateRadioButton);
setLayout(layout);
}
//! [16] //! [17]
//! [18]
# class IntroPage
def nextId(self):
//! [17] //! [19]
if evaluateRadioButton.isChecked():
return LicenseWizard.Page_Evaluate
else:
return LicenseWizard.Page_Register
//! [18] //! [19]
//! [20]
EvaluatePage::EvaluatePage(QWidget *parent)
: QWizardPage(parent)
{
setTitle(tr("Evaluate <i>Super Product One</i>&trade;"));
setSubTitle(tr("Please fill both fields. Make sure to provide a valid "
"email address (e.g., john.smith@example.com)."));
nameLabel = new QLabel(tr("N&ame:"));
nameLineEdit = new QLineEdit;
//! [20]
nameLabel->setBuddy(nameLineEdit);
emailLabel = new QLabel(tr("&Email address:"));
emailLineEdit = new QLineEdit;
emailLineEdit->setValidator(new QRegExpValidator(QRegExp(".*@.*"), this));
emailLabel->setBuddy(emailLineEdit);
//! [21]
registerField("evaluate.name*", nameLineEdit);
registerField("evaluate.email*", emailLineEdit);
//! [21]
QGridLayout *layout = new QGridLayout;
layout->addWidget(nameLabel, 0, 0);
layout->addWidget(nameLineEdit, 0, 1);
layout->addWidget(emailLabel, 1, 0);
layout->addWidget(emailLineEdit, 1, 1);
setLayout(layout);
//! [22]
}
//! [22]
//! [23]
# class EvaluatePage
def nextId(self):
return LicenseWizard.Page_Conclusion
//! [23]
RegisterPage::RegisterPage(QWidget *parent)
: QWizardPage(parent)
{
setTitle(tr("Register Your Copy of <i>Super Product One</i>&trade;"));
setSubTitle(tr("If you have an upgrade key, please fill in "
"the appropriate field."));
nameLabel = new QLabel(tr("N&ame:"));
nameLineEdit = new QLineEdit;
nameLabel->setBuddy(nameLineEdit);
upgradeKeyLabel = new QLabel(tr("&Upgrade key:"));
upgradeKeyLineEdit = new QLineEdit;
upgradeKeyLabel->setBuddy(upgradeKeyLineEdit);
registerField("register.name*", nameLineEdit);
registerField("register.upgradeKey", upgradeKeyLineEdit);
QGridLayout *layout = new QGridLayout;
layout->addWidget(nameLabel, 0, 0);
layout->addWidget(nameLineEdit, 0, 1);
layout->addWidget(upgradeKeyLabel, 1, 0);
layout->addWidget(upgradeKeyLineEdit, 1, 1);
setLayout(layout);
}
//! [24]
# class RegisterPage
def nextId(self):
if self.upgradeKeyLineEdit.text().isEmpty():
return LicenseWizard::Page_Details
else:
return LicenseWizard::Page_Conclusion
//! [24]
DetailsPage::DetailsPage(QWidget *parent)
: QWizardPage(parent)
{
setTitle(tr("Fill In Your Details"));
setSubTitle(tr("Please fill all three fields. Make sure to provide a valid "
"email address (e.g., tanaka.aya@example.co.jp)."));
companyLabel = new QLabel(tr("&Company name:"));
companyLineEdit = new QLineEdit;
companyLabel->setBuddy(companyLineEdit);
emailLabel = new QLabel(tr("&Email address:"));
emailLineEdit = new QLineEdit;
emailLineEdit->setValidator(new QRegExpValidator(QRegExp(".*@.*"), this));
emailLabel->setBuddy(emailLineEdit);
postalLabel = new QLabel(tr("&Postal address:"));
postalLineEdit = new QLineEdit;
postalLabel->setBuddy(postalLineEdit);
registerField("details.company*", companyLineEdit);
registerField("details.email*", emailLineEdit);
registerField("details.postal*", postalLineEdit);
QGridLayout *layout = new QGridLayout;
layout->addWidget(companyLabel, 0, 0);
layout->addWidget(companyLineEdit, 0, 1);
layout->addWidget(emailLabel, 1, 0);
layout->addWidget(emailLineEdit, 1, 1);
layout->addWidget(postalLabel, 2, 0);
layout->addWidget(postalLineEdit, 2, 1);
setLayout(layout);
}
//! [25]
# class DetailsPage
def nextId(self):
return LicenseWizard.Page_Conclusion
//! [25]
ConclusionPage::ConclusionPage(QWidget *parent)
: QWizardPage(parent)
{
setTitle(tr("Complete Your Registration"));
setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark.png"));
bottomLabel = new QLabel;
bottomLabel->setWordWrap(true);
agreeCheckBox = new QCheckBox(tr("I agree to the terms of the license"));
registerField("conclusion.agree*", agreeCheckBox);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(bottomLabel);
layout->addWidget(agreeCheckBox);
setLayout(layout);
}
//! [26]
#class ConclusionPage
def nextId(self):
return -1
//! [26]
//! [27]
# class ConclusionPage
def initializePage(self):
if wizard().hasVisitedPage(LicenseWizard::Page_Evaluate):
licenseText = self.tr("<u>Evaluation License Agreement:</u> " \
"You can use this software for 30 days and make one " \
"backup, but you are not allowed to distribute it.")
elsif wizard().hasVisitedPage(LicenseWizard.Page_Details):
licenseText = self.tr("<u>First-Time License Agreement:</u> " \
"You can use this software subject to the license " \
"you will receive by email.")
else:
licenseText = self.tr("<u>Upgrade License Agreement:</u> " \
"This software is licensed under the terms of your " \
"current license.")
}
bottomLabel.setText(licenseText)
//! [27]
//! [28]
void ConclusionPage::setVisible(bool visible)
{
QWizardPage::setVisible(visible);
if (visible) {
//! [29]
self.wizard().setButtonText(QWizard.CustomButton1, self.tr("&Print"))
self.wizard().setOption(QWizard.HaveCustomButton1, True)
self.connect(wizard(), SIGNAL("customButtonClicked(int)"), self, SLOT("printButtonClicked()"))
//! [29]
} else {
wizard()->setOption(QWizard::HaveCustomButton1, false);
disconnect(wizard(), SIGNAL(customButtonClicked(int)),
this, SLOT(printButtonClicked()));
}
}
//! [28]
void ConclusionPage::printButtonClicked()
{
QPrinter printer;
QPrintDialog dialog(&printer, this);
if (dialog.exec())
QMessageBox::warning(this, tr("Print License"),
tr("As an environmentally friendly measure, the "
"license text will not actually be printed."));
}

View file

@ -0,0 +1,164 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (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 http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef LICENSEWIZARD_H
#define LICENSEWIZARD_H
#include <QWizard>
QT_BEGIN_NAMESPACE
class QCheckBox;
class QLabel;
class QLineEdit;
class QRadioButton;
QT_END_NAMESPACE
//! [0] //! [1]
class LicenseWizard (QWizard):
//! [0]
//! [2]
Page_Intro = 1
Page_Evaluate = 2
Page_Register = 3
Page_Details = 4
Page_Conclusion = 5
//! [2]
def __init__(self, parent):
...
def showHelp(self):
...
//! [3]
//! [1] //! [3]
//! [4]
class IntroPage : public QWizardPage
{
Q_OBJECT
public:
IntroPage(QWidget *parent = 0);
int nextId() const;
private:
QLabel *topLabel;
QRadioButton *registerRadioButton;
QRadioButton *evaluateRadioButton;
};
//! [4]
//! [5]
class EvaluatePage : public QWizardPage
{
Q_OBJECT
public:
EvaluatePage(QWidget *parent = 0);
int nextId() const;
private:
QLabel *nameLabel;
QLabel *emailLabel;
QLineEdit *nameLineEdit;
QLineEdit *emailLineEdit;
};
//! [5]
class RegisterPage : public QWizardPage
{
Q_OBJECT
public:
RegisterPage(QWidget *parent = 0);
int nextId() const;
private:
QLabel *nameLabel;
QLabel *upgradeKeyLabel;
QLineEdit *nameLineEdit;
QLineEdit *upgradeKeyLineEdit;
};
class DetailsPage : public QWizardPage
{
Q_OBJECT
public:
DetailsPage(QWidget *parent = 0);
int nextId() const;
private:
QLabel *companyLabel;
QLabel *emailLabel;
QLabel *postalLabel;
QLineEdit *companyLineEdit;
QLineEdit *emailLineEdit;
QLineEdit *postalLineEdit;
};
//! [6]
class ConclusionPage : public QWizardPage
{
Q_OBJECT
public:
ConclusionPage(QWidget *parent = 0);
void initializePage();
int nextId() const;
void setVisible(bool visible);
private slots:
void printButtonClicked();
private:
QLabel *bottomLabel;
QCheckBox *agreeCheckBox;
};
//! [6]
#endif

View file

@ -0,0 +1,10 @@
HEADERS = licensewizard.h
SOURCES = licensewizard.cpp \
main.cpp
RESOURCES = licensewizard.qrc
# install
target.path = $$[QT_INSTALL_EXAMPLES]/dialogs/licensewizard
sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro images
sources.path = $$[QT_INSTALL_EXAMPLES]/dialogs/licensewizard
INSTALLS += target sources

View file

@ -0,0 +1,6 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/logo.png</file>
<file>images/watermark.png</file>
</qresource>
</RCC>

View file

@ -0,0 +1,64 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (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 http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QApplication>
#include <QTranslator>
#include <QLocale>
#include <QLibraryInfo>
#include "licensewizard.h"
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(licensewizard);
QApplication app(argc, argv);
QString translatorFileName = QLatin1String("qt_");
translatorFileName += QLocale::system().name();
QTranslator *translator = new QTranslator(&app);
if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(translator);
LicenseWizard wizard;
wizard.show();
return app.exec();
}

View file

@ -0,0 +1,71 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
** This file is part of the example classes 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$
**
****************************************************************************/
//! [0]
i = QInputDialog().getInteger(self, self.tr("QInputDialog().getInteger()"),
self.tr("Percentage:"), 25, 0, 100, 1, ok)
if ok:
self.integerLabel.setText(self.tr("%1%").arg(i))
//! [0]
//! [1]
d = QInputDialog().getDouble(self, self.tr("QInputDialog().getDouble()"),
self.tr("Amount:"), 37.56, -10000, 10000, 2, ok)
if ok:
doubleLabel.setText(QString("$%1").arg(d))
//! [1]
//! [2]
items = [self.tr("Spring"), self.tr("Summer"), self.tr("Fall"), self.tr("Winter")]
item = QInputDialog().getItem(self, self.tr("QInputDialog().getItem()"),
selftr("Season:"), items, 0, False, ok)
if ok and not item.isEmpty():
itemLabel.setText(item)
//! [2]
//! [3]
QString text = QInputDialog::getText(self, self.tr("QInputDialog().getText()"),
self.tr("User name:"), QLineEdit.Normal,
QDir().home().dirName(), ok)
if ok and not text.isEmpty():
textLabel.setText(text)
//! [3]

View file

@ -0,0 +1,134 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (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 http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtGui>
#include <QTranslator>
#include <QLocale>
#include <QLibraryInfo>
//! [0] //! [1]
def createIntroPage(self):
page = QWizardPage()
page.setTitle("Introduction")
label = QLabel("This wizard will help you register your copy of Super Product Two.")
label.setWordWrap(True)
layout = QVBoxLayout()
layout.addWidget(label)
page.setLayout(layout)
return page
//! [0]
//! [2]
QWizardPage *createRegistrationPage()
//! [1] //! [3]
//! [3]
QWizardPage *page = new QWizardPage;
page->setTitle("Registration");
page->setSubTitle("Please fill both fields.");
QLabel *nameLabel = new QLabel("Name:");
QLineEdit *nameLineEdit = new QLineEdit;
QLabel *emailLabel = new QLabel("Email address:");
QLineEdit *emailLineEdit = new QLineEdit;
QGridLayout *layout = new QGridLayout;
layout->addWidget(nameLabel, 0, 0);
layout->addWidget(nameLineEdit, 0, 1);
layout->addWidget(emailLabel, 1, 0);
layout->addWidget(emailLineEdit, 1, 1);
page->setLayout(layout);
return page;
//! [4]
//! [2] //! [4]
//! [5] //! [6]
def createConclusionPage(self):
//! [5] //! [7]
//! [7]
QWizardPage *page = new QWizardPage;
page->setTitle("Conclusion");
QLabel *label = new QLabel("You are now successfully registered. Have a "
"nice day!");
label->setWordWrap(true);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(label);
page->setLayout(layout);
return page;
//! [8]
//! [6] //! [8]
//! [9] //! [10]
//! [9] //! [11]
def main():
app = QApplication(sys.argv)
translatorFileName = QLatin1String("qt_")
translatorFileName += QLocale.system().name()
translator = QTranslator(app)
if translator.load(translatorFileName, QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
app.installTranslator(translator)
wizard = QWizard()
wizard.addPage(createIntroPage())
wizard.addPage(createRegistrationPage())
wizard.addPage(createConclusionPage())
wizard.setWindowTitle("Trivial Wizard")
wizard.show()
return app.exec_()
if __name__ == "__main__":
main()
//! [10] //! [11]

View file

@ -0,0 +1,7 @@
SOURCES = trivialwizard.cpp
# install
target.path = $$[QT_INSTALL_EXAMPLES]/dialogs/trivialwizard
sources.files = $$SOURCES $$HEADERS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/dialogs/trivialwizard
INSTALLS += target sources