Qt 4.0: mainwindow.cpp Example File (tools/i18n/mainwindow.cpp)

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

# mainwindow.cpp Example File
tools/i18n/mainwindow.cpp

        /****************************************************************************
        **
        ** Copyright (C) 2005-2005 Trolltech AS. 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 version 2.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 GNU
    ** General Public Licensing requirements will be met:
    ** http://www.trolltech.com/products/qt/opensource.html
    **
    ** If you are unsure which license is appropriate for your use, please
    ** review the following information:
    ** http://www.trolltech.com/products/qt/licensing.html or contact the
    ** sales department at sales@trolltech.com.
        **
        ** 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 "mainwindow.h"

        static const char * const listEntries[] = {
            QT_TRANSLATE_NOOP("MainWindow", "First"),
            QT_TRANSLATE_NOOP("MainWindow", "Second"),
            QT_TRANSLATE_NOOP("MainWindow", "Third"),
            0
        };

        MainWindow::MainWindow()
        {
            centralWidget = new QWidget;
            setCentralWidget(centralWidget);

            createGroupBox();

            listWidget = new QListWidget;
            for (int i = 0; listEntries[i]; ++i)
                listWidget->addItem(tr(listEntries[i]));

            QVBoxLayout *mainLayout = new QVBoxLayout;
            mainLayout->addWidget(groupBox);
            mainLayout->addWidget(listWidget);
            centralWidget->setLayout(mainLayout);

            exitAction = new QAction(tr("E&xit"), this);
            connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit()));

            fileMenu = menuBar()->addMenu(tr("&File"));
            fileMenu->setPalette(QPalette(Qt::red));
            fileMenu->addAction(exitAction);

            setWindowTitle(tr("Language: %1").arg(tr("English")));
            statusBar()->showMessage(tr("Internationalization Example"));

            if (tr("LTR") == "RTL")
                setLayoutDirection(Qt::RightToLeft);
        }

        void MainWindow::createGroupBox()
        {
            groupBox = new QGroupBox(tr("View"));
            perspectiveRadioButton = new QRadioButton(tr("Perspective"));
            isometricRadioButton = new QRadioButton(tr("Isometric"));
            obliqueRadioButton = new QRadioButton(tr("Oblique"));
            perspectiveRadioButton->setChecked(true);

            QVBoxLayout *groupBoxLayout = new QVBoxLayout;
            groupBoxLayout->addWidget(perspectiveRadioButton);
            groupBoxLayout->addWidget(isometricRadioButton);
            groupBoxLayout->addWidget(obliqueRadioButton);
            groupBox->setLayout(groupBoxLayout);
        }