diff options
Diffstat (limited to 'examples/dialogs/classwizard')
-rw-r--r-- | examples/dialogs/classwizard/classwizard.cpp | 431 | ||||
-rw-r--r-- | examples/dialogs/classwizard/classwizard.h | 157 | ||||
-rw-r--r-- | examples/dialogs/classwizard/classwizard.pro | 10 | ||||
-rw-r--r-- | examples/dialogs/classwizard/classwizard.qrc | 11 | ||||
-rw-r--r-- | examples/dialogs/classwizard/images/background.png | bin | 0 -> 22578 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/images/banner.png | bin | 0 -> 3947 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/images/logo1.png | bin | 0 -> 1619 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/images/logo2.png | bin | 0 -> 1619 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/images/logo3.png | bin | 0 -> 1619 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/images/watermark1.png | bin | 0 -> 14516 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/images/watermark2.png | bin | 0 -> 14912 bytes | |||
-rw-r--r-- | examples/dialogs/classwizard/main.cpp | 64 |
12 files changed, 673 insertions, 0 deletions
diff --git a/examples/dialogs/classwizard/classwizard.cpp b/examples/dialogs/classwizard/classwizard.cpp new file mode 100644 index 0000000..200d7ac --- /dev/null +++ b/examples/dialogs/classwizard/classwizard.cpp @@ -0,0 +1,431 @@ +/**************************************************************************** +** +** 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$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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$ +** +****************************************************************************/ + +#include <QtGui> + +#include "classwizard.h" + +//! [0] //! [1] +ClassWizard::ClassWizard(QWidget *parent) + : QWizard(parent) +{ + addPage(new IntroPage); + addPage(new ClassInfoPage); + addPage(new CodeStylePage); + addPage(new OutputFilesPage); + addPage(new ConclusionPage); +//! [0] + + setPixmap(QWizard::BannerPixmap, QPixmap(":/images/banner.png")); + setPixmap(QWizard::BackgroundPixmap, QPixmap(":/images/background.png")); + + setWindowTitle(tr("Class Wizard")); +//! [2] +} +//! [1] //! [2] + +//! [3] +void ClassWizard::accept() +//! [3] //! [4] +{ + QByteArray className = field("className").toByteArray(); + QByteArray baseClass = field("baseClass").toByteArray(); + QByteArray macroName = field("macroName").toByteArray(); + QByteArray baseInclude = field("baseInclude").toByteArray(); + + QString outputDir = field("outputDir").toString(); + QString header = field("header").toString(); + QString implementation = field("implementation").toString(); +//! [4] + + QByteArray block; + + if (field("comment").toBool()) { + block += "/*\n"; + block += " " + header.toAscii() + "\n"; + block += "*/\n"; + block += "\n"; + } + if (field("protect").toBool()) { + block += "#ifndef " + macroName + "\n"; + block += "#define " + macroName + "\n"; + block += "\n"; + } + if (field("includeBase").toBool()) { + block += "#include " + baseInclude + "\n"; + block += "\n"; + } + + block += "class " + className; + if (!baseClass.isEmpty()) + block += " : public " + baseClass; + block += "\n"; + block += "{\n"; + + /* qmake ignore Q_OBJECT */ + + if (field("qobjectMacro").toBool()) { + block += " Q_OBJECT\n"; + block += "\n"; + } + block += "public:\n"; + + if (field("qobjectCtor").toBool()) { + block += " " + className + "(QObject *parent = 0);\n"; + } else if (field("qwidgetCtor").toBool()) { + block += " " + className + "(QWidget *parent = 0);\n"; + } else if (field("defaultCtor").toBool()) { + block += " " + className + "();\n"; + if (field("copyCtor").toBool()) { + block += " " + className + "(const " + className + " &other);\n"; + block += "\n"; + block += " " + className + " &operator=" + "(const " + className + + " &other);\n"; + } + } + block += "};\n"; + + if (field("protect").toBool()) { + block += "\n"; + block += "#endif\n"; + } + + QFile headerFile(outputDir + "/" + header); + if (!headerFile.open(QFile::WriteOnly | QFile::Text)) { + QMessageBox::warning(0, QObject::tr("Simple Wizard"), + QObject::tr("Cannot write file %1:\n%2") + .arg(headerFile.fileName()) + .arg(headerFile.errorString())); + return; + } + headerFile.write(block); + + block.clear(); + + if (field("comment").toBool()) { + block += "/*\n"; + block += " " + implementation.toAscii() + "\n"; + block += "*/\n"; + block += "\n"; + } + block += "#include \"" + header.toAscii() + "\"\n"; + block += "\n"; + + if (field("qobjectCtor").toBool()) { + block += className + "::" + className + "(QObject *parent)\n"; + block += " : " + baseClass + "(parent)\n"; + block += "{\n"; + block += "}\n"; + } else if (field("qwidgetCtor").toBool()) { + block += className + "::" + className + "(QWidget *parent)\n"; + block += " : " + baseClass + "(parent)\n"; + block += "{\n"; + block += "}\n"; + } else if (field("defaultCtor").toBool()) { + block += className + "::" + className + "()\n"; + block += "{\n"; + block += " // missing code\n"; + block += "}\n"; + + if (field("copyCtor").toBool()) { + block += "\n"; + block += className + "::" + className + "(const " + className + + " &other)\n"; + block += "{\n"; + block += " *this = other;\n"; + block += "}\n"; + block += "\n"; + block += className + " &" + className + "::operator=(const " + + className + " &other)\n"; + block += "{\n"; + if (!baseClass.isEmpty()) + block += " " + baseClass + "::operator=(other);\n"; + block += " // missing code\n"; + block += " return *this;\n"; + block += "}\n"; + } + } + + QFile implementationFile(outputDir + "/" + implementation); + if (!implementationFile.open(QFile::WriteOnly | QFile::Text)) { + QMessageBox::warning(0, QObject::tr("Simple Wizard"), + QObject::tr("Cannot write file %1:\n%2") + .arg(implementationFile.fileName()) + .arg(implementationFile.errorString())); + return; + } + implementationFile.write(block); + +//! [5] + QDialog::accept(); +//! [5] //! [6] +} +//! [6] + +//! [7] +IntroPage::IntroPage(QWidget *parent) + : QWizardPage(parent) +{ + setTitle(tr("Introduction")); + setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark1.png")); + + label = new QLabel(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); + + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(label); + setLayout(layout); +} +//! [7] + +//! [8] //! [9] +ClassInfoPage::ClassInfoPage(QWidget *parent) + : QWizardPage(parent) +{ +//! [8] + setTitle(tr("Class Information")); + setSubTitle(tr("Specify basic information about the class for which you " + "want to generate skeleton source code files.")); + setPixmap(QWizard::LogoPixmap, QPixmap(":/images/logo1.png")); + +//! [10] + classNameLabel = new QLabel(tr("&Class name:")); + classNameLineEdit = new QLineEdit; + classNameLabel->setBuddy(classNameLineEdit); + + baseClassLabel = new QLabel(tr("B&ase class:")); + baseClassLineEdit = new QLineEdit; + baseClassLabel->setBuddy(baseClassLineEdit); + + qobjectMacroCheckBox = new QCheckBox(tr("Generate Q_OBJECT ¯o")); + +//! [10] + groupBox = new QGroupBox(tr("C&onstructor")); +//! [9] + + qobjectCtorRadioButton = new QRadioButton(tr("&QObject-style constructor")); + qwidgetCtorRadioButton = new QRadioButton(tr("Q&Widget-style constructor")); + defaultCtorRadioButton = new QRadioButton(tr("&Default constructor")); + copyCtorCheckBox = new QCheckBox(tr("&Generate copy constructor and " + "operator=")); + + defaultCtorRadioButton->setChecked(true); + + 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); + + QVBoxLayout *groupBoxLayout = new QVBoxLayout; +//! [12] + groupBoxLayout->addWidget(qobjectCtorRadioButton); + groupBoxLayout->addWidget(qwidgetCtorRadioButton); + groupBoxLayout->addWidget(defaultCtorRadioButton); + groupBoxLayout->addWidget(copyCtorCheckBox); + groupBox->setLayout(groupBoxLayout); + + QGridLayout *layout = new 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); + setLayout(layout); +//! [13] +} +//! [13] + +//! [14] +CodeStylePage::CodeStylePage(QWidget *parent) + : QWizardPage(parent) +{ + setTitle(tr("Code Style Options")); + setSubTitle(tr("Choose the formatting of the generated code.")); + setPixmap(QWizard::LogoPixmap, QPixmap(":/images/logo2.png")); + + commentCheckBox = new QCheckBox(tr("&Start generated files with a " +//! [14] + "comment")); + commentCheckBox->setChecked(true); + + protectCheckBox = new QCheckBox(tr("&Protect header file against multiple " + "inclusions")); + protectCheckBox->setChecked(true); + + macroNameLabel = new QLabel(tr("&Macro name:")); + macroNameLineEdit = new QLineEdit; + macroNameLabel->setBuddy(macroNameLineEdit); + + includeBaseCheckBox = new QCheckBox(tr("&Include base class definition")); + baseIncludeLabel = new QLabel(tr("Base class include:")); + baseIncludeLineEdit = new QLineEdit; + baseIncludeLabel->setBuddy(baseIncludeLineEdit); + + connect(protectCheckBox, SIGNAL(toggled(bool)), + macroNameLabel, SLOT(setEnabled(bool))); + connect(protectCheckBox, SIGNAL(toggled(bool)), + macroNameLineEdit, SLOT(setEnabled(bool))); + connect(includeBaseCheckBox, SIGNAL(toggled(bool)), + baseIncludeLabel, SLOT(setEnabled(bool))); + connect(includeBaseCheckBox, SIGNAL(toggled(bool)), + baseIncludeLineEdit, SLOT(setEnabled(bool))); + + registerField("comment", commentCheckBox); + registerField("protect", protectCheckBox); + registerField("macroName", macroNameLineEdit); + registerField("includeBase", includeBaseCheckBox); + registerField("baseInclude", baseIncludeLineEdit); + + QGridLayout *layout = new 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] + setLayout(layout); +} +//! [15] + +//! [16] +void CodeStylePage::initializePage() +{ + QString className = field("className").toString(); + macroNameLineEdit->setText(className.toUpper() + "_H"); + + QString baseClass = field("baseClass").toString(); + + includeBaseCheckBox->setChecked(!baseClass.isEmpty()); + includeBaseCheckBox->setEnabled(!baseClass.isEmpty()); + baseIncludeLabel->setEnabled(!baseClass.isEmpty()); + baseIncludeLineEdit->setEnabled(!baseClass.isEmpty()); + + if (baseClass.isEmpty()) { + baseIncludeLineEdit->clear(); + } else if (QRegExp("Q[A-Z].*").exactMatch(baseClass)) { + baseIncludeLineEdit->setText("<" + baseClass + ">"); + } else { + baseIncludeLineEdit->setText("\"" + baseClass.toLower() + ".h\""); + } +} +//! [16] + +OutputFilesPage::OutputFilesPage(QWidget *parent) + : QWizardPage(parent) +{ + setTitle(tr("Output Files")); + setSubTitle(tr("Specify where you want the wizard to put the generated " + "skeleton code.")); + setPixmap(QWizard::LogoPixmap, QPixmap(":/images/logo3.png")); + + outputDirLabel = new QLabel(tr("&Output directory:")); + outputDirLineEdit = new QLineEdit; + outputDirLabel->setBuddy(outputDirLineEdit); + + headerLabel = new QLabel(tr("&Header file name:")); + headerLineEdit = new QLineEdit; + headerLabel->setBuddy(headerLineEdit); + + implementationLabel = new QLabel(tr("&Implementation file name:")); + implementationLineEdit = new QLineEdit; + implementationLabel->setBuddy(implementationLineEdit); + + registerField("outputDir*", outputDirLineEdit); + registerField("header*", headerLineEdit); + registerField("implementation*", implementationLineEdit); + + QGridLayout *layout = new QGridLayout; + layout->addWidget(outputDirLabel, 0, 0); + layout->addWidget(outputDirLineEdit, 0, 1); + layout->addWidget(headerLabel, 1, 0); + layout->addWidget(headerLineEdit, 1, 1); + layout->addWidget(implementationLabel, 2, 0); + layout->addWidget(implementationLineEdit, 2, 1); + setLayout(layout); +} + +//! [17] +void OutputFilesPage::initializePage() +{ + QString className = field("className").toString(); + headerLineEdit->setText(className.toLower() + ".h"); + implementationLineEdit->setText(className.toLower() + ".cpp"); + outputDirLineEdit->setText(QDir::convertSeparators(QDir::tempPath())); +} +//! [17] + +ConclusionPage::ConclusionPage(QWidget *parent) + : QWizardPage(parent) +{ + setTitle(tr("Conclusion")); + setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark2.png")); + + label = new QLabel; + label->setWordWrap(true); + + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(label); + setLayout(layout); +} + +void ConclusionPage::initializePage() +{ + QString finishText = wizard()->buttonText(QWizard::FinishButton); + finishText.remove('&'); + label->setText(tr("Click %1 to generate the class skeleton.") + .arg(finishText)); +} diff --git a/examples/dialogs/classwizard/classwizard.h b/examples/dialogs/classwizard/classwizard.h new file mode 100644 index 0000000..4808629 --- /dev/null +++ b/examples/dialogs/classwizard/classwizard.h @@ -0,0 +1,157 @@ +/**************************************************************************** +** +** 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$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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$ +** +****************************************************************************/ + +#ifndef CLASSWIZARD_H +#define CLASSWIZARD_H + +#include <QWizard> + +QT_BEGIN_NAMESPACE +class QCheckBox; +class QGroupBox; +class QLabel; +class QLineEdit; +class QRadioButton; +QT_END_NAMESPACE + +//! [0] +class ClassWizard : public QWizard +{ + Q_OBJECT + +public: + ClassWizard(QWidget *parent = 0); + + void accept(); +}; +//! [0] + +//! [1] +class IntroPage : public QWizardPage +{ + Q_OBJECT + +public: + IntroPage(QWidget *parent = 0); + +private: + QLabel *label; +}; +//! [1] + +//! [2] +class ClassInfoPage : public QWizardPage +{ + Q_OBJECT + +public: + ClassInfoPage(QWidget *parent = 0); + +private: + QLabel *classNameLabel; + QLabel *baseClassLabel; + QLineEdit *classNameLineEdit; + QLineEdit *baseClassLineEdit; + QCheckBox *qobjectMacroCheckBox; + QGroupBox *groupBox; + QRadioButton *qobjectCtorRadioButton; + QRadioButton *qwidgetCtorRadioButton; + QRadioButton *defaultCtorRadioButton; + QCheckBox *copyCtorCheckBox; +}; +//! [2] + +//! [3] +class CodeStylePage : public QWizardPage +{ + Q_OBJECT + +public: + CodeStylePage(QWidget *parent = 0); + +protected: + void initializePage(); + +private: + QCheckBox *commentCheckBox; + QCheckBox *protectCheckBox; + QCheckBox *includeBaseCheckBox; + QLabel *macroNameLabel; + QLabel *baseIncludeLabel; + QLineEdit *macroNameLineEdit; + QLineEdit *baseIncludeLineEdit; +}; +//! [3] + +class OutputFilesPage : public QWizardPage +{ + Q_OBJECT + +public: + OutputFilesPage(QWidget *parent = 0); + +protected: + void initializePage(); + +private: + QLabel *outputDirLabel; + QLabel *headerLabel; + QLabel *implementationLabel; + QLineEdit *outputDirLineEdit; + QLineEdit *headerLineEdit; + QLineEdit *implementationLineEdit; +}; + +class ConclusionPage : public QWizardPage +{ + Q_OBJECT + +public: + ConclusionPage(QWidget *parent = 0); + +protected: + void initializePage(); + +private: + QLabel *label; +}; + +#endif diff --git a/examples/dialogs/classwizard/classwizard.pro b/examples/dialogs/classwizard/classwizard.pro new file mode 100644 index 0000000..15b6029 --- /dev/null +++ b/examples/dialogs/classwizard/classwizard.pro @@ -0,0 +1,10 @@ +HEADERS = classwizard.h +SOURCES = classwizard.cpp \ + main.cpp +RESOURCES = classwizard.qrc + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/dialogs/classwizard +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro images +sources.path = $$[QT_INSTALL_EXAMPLES]/dialogs/classwizard +INSTALLS += target sources diff --git a/examples/dialogs/classwizard/classwizard.qrc b/examples/dialogs/classwizard/classwizard.qrc new file mode 100644 index 0000000..41a5ddc --- /dev/null +++ b/examples/dialogs/classwizard/classwizard.qrc @@ -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> diff --git a/examples/dialogs/classwizard/images/background.png b/examples/dialogs/classwizard/images/background.png Binary files differnew file mode 100644 index 0000000..44c7bad --- /dev/null +++ b/examples/dialogs/classwizard/images/background.png diff --git a/examples/dialogs/classwizard/images/banner.png b/examples/dialogs/classwizard/images/banner.png Binary files differnew file mode 100644 index 0000000..3169152 --- /dev/null +++ b/examples/dialogs/classwizard/images/banner.png diff --git a/examples/dialogs/classwizard/images/logo1.png b/examples/dialogs/classwizard/images/logo1.png Binary files differnew file mode 100644 index 0000000..f9b594a --- /dev/null +++ b/examples/dialogs/classwizard/images/logo1.png diff --git a/examples/dialogs/classwizard/images/logo2.png b/examples/dialogs/classwizard/images/logo2.png Binary files differnew file mode 100644 index 0000000..5dcbd46 --- /dev/null +++ b/examples/dialogs/classwizard/images/logo2.png diff --git a/examples/dialogs/classwizard/images/logo3.png b/examples/dialogs/classwizard/images/logo3.png Binary files differnew file mode 100644 index 0000000..9fd3ea2 --- /dev/null +++ b/examples/dialogs/classwizard/images/logo3.png diff --git a/examples/dialogs/classwizard/images/watermark1.png b/examples/dialogs/classwizard/images/watermark1.png Binary files differnew file mode 100644 index 0000000..0091f5c --- /dev/null +++ b/examples/dialogs/classwizard/images/watermark1.png diff --git a/examples/dialogs/classwizard/images/watermark2.png b/examples/dialogs/classwizard/images/watermark2.png Binary files differnew file mode 100644 index 0000000..3b88f2e --- /dev/null +++ b/examples/dialogs/classwizard/images/watermark2.png diff --git a/examples/dialogs/classwizard/main.cpp b/examples/dialogs/classwizard/main.cpp new file mode 100644 index 0000000..8230695 --- /dev/null +++ b/examples/dialogs/classwizard/main.cpp @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** 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$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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$ +** +****************************************************************************/ + +#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(); +} |