49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#ifndef QTMATERIALTABWIDGET_H
|
|
#define QTMATERIALTABWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include "qtmaterial_global.h"
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
class QStackedWidget;
|
|
QT_END_NAMESPACE
|
|
class QtMaterialTabs;
|
|
|
|
class QT_MATERIAL_EXPORT QtMaterialTabWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex)
|
|
Q_PROPERTY(QString pageTitle READ pageTitle WRITE setPageTitle STORED false)
|
|
|
|
public:
|
|
explicit QtMaterialTabWidget(QWidget *parent = nullptr);
|
|
|
|
QSize sizeHint() const override;
|
|
|
|
|
|
int count() const;
|
|
int currentIndex() const;
|
|
QWidget *widget(int index);
|
|
QString pageTitle() const;
|
|
|
|
public slots:
|
|
void addPage(QWidget *page);
|
|
void insertPage(int index, QWidget *page);
|
|
void removePage(int index);
|
|
void setPageTitle(QString const &newTitle);
|
|
void setCurrentIndex(int index);
|
|
|
|
private slots:
|
|
void pageWindowTitleChanged();
|
|
|
|
signals:
|
|
void currentIndexChanged(int index);
|
|
void pageTitleChanged(const QString &title);
|
|
|
|
private:
|
|
QtMaterialTabs *tabBar;
|
|
QStackedWidget *stackWidget;
|
|
};
|
|
|
|
#endif // QTMATERIALTABWIDGET_H
|