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

# multipagewidget.h Example File
designer/containerextension/multipagewidget.h

    /****************************************************************************
    **
    ** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.
    **
    ** This file is part of the example classes of the Qt Toolkit.
    **
    ** Licensees holding valid Qt Preview licenses may use this file in
    ** accordance with the Qt Preview License Agreement provided with the
    ** Software.
    **
    ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
    ** information about Qt Commercial License Agreements.
    **
    ** Contact info@trolltech.com if any conditions of this licensing are
    ** not clear to you.
    **
    ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    **
    ****************************************************************************/

    #ifndef MULTIPAGEWIDGET_H
    #define MULTIPAGEWIDGET_H

    #include <QWidget>

    class QComboBox;
    class QStackedWidget;
    class QVBoxLayout;

    class MultiPageWidget : public QWidget
    {
        Q_OBJECT
        Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex)
        Q_PROPERTY(QString pageTitle READ pageTitle WRITE setPageTitle STORED false)

    public:
        MultiPageWidget(QWidget *parent = 0);

        QSize sizeHint() const;

        void addPage(QWidget *page);
        void removePage(int index);
        int count() const;
        int currentIndex() const;
        void insertPage(int index, QWidget *page);
        QWidget *widget(int index);

        QString pageTitle() const;
        void setPageTitle(QString const &newTitle);

    public slots:
        void setCurrentIndex(int index);

    signals:
        void currentIndexChanged(int index);
        void pageTitleChanged(const QString &title);

    private:
        QStackedWidget *stackWidget;
        QComboBox *comboBox;
        QVBoxLayout *layout;
    };

    #endif