qt-material-widgets/components/qtmaterialtabs.h

69 lines
1.9 KiB
C
Raw Normal View History

2017-09-29 17:25:42 +00:00
#ifndef QTMATERIALTABS_H
#define QTMATERIALTABS_H
#include <QtWidgets/QWidget>
#include <QIcon>
#include "lib/qtmaterialtheme.h"
2021-07-02 10:42:28 +00:00
#include "qtmaterial_global.h"
2017-09-29 17:25:42 +00:00
class QtMaterialTabsPrivate;
class QtMaterialTab;
2021-07-02 10:42:28 +00:00
class QT_MATERIAL_EXPORT QtMaterialTabs : public QWidget
2017-09-29 17:25:42 +00:00
{
Q_OBJECT
2021-07-02 11:27:56 +00:00
Q_PROPERTY(bool haloVisible WRITE setHaloVisible READ isHaloVisible)
Q_PROPERTY(MaterialConst::RippleStyle rippleStyle WRITE setRippleStyle READ rippleStyle)
Q_PROPERTY(QColor inkColor WRITE setInkColor READ inkColor)
Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor)
2017-09-29 17:25:42 +00:00
public:
explicit QtMaterialTabs(QWidget *parent = 0);
~QtMaterialTabs();
void setUseThemeColors(bool value);
bool useThemeColors() const;
void setHaloVisible(bool value);
bool isHaloVisible() const;
void setRippleStyle(MaterialConst::RippleStyle style);
MaterialConst::RippleStyle rippleStyle() const;
2017-09-29 17:25:42 +00:00
void setInkColor(const QColor &color);
QColor inkColor() const;
void setBackgroundColor(const QColor &color);
QColor backgroundColor() const;
void setTextColor(const QColor &color);
QColor textColor() const;
2021-07-02 03:19:45 +00:00
void insertTab(int index, const QString &text, const QIcon &icon = QIcon());
2017-09-29 17:25:42 +00:00
void addTab(const QString &text, const QIcon &icon = QIcon());
2021-07-02 03:19:45 +00:00
void removeTab(int index);
int count() const;
2017-09-29 17:25:42 +00:00
void setCurrentTab(QtMaterialTab *tab);
void setCurrentTab(int index);
2021-07-02 03:19:45 +00:00
void setTabText(int index, const QString &text);
2017-09-29 17:25:42 +00:00
int currentIndex() const;
2021-07-02 03:19:45 +00:00
Q_SIGNALS:
2017-09-29 17:25:42 +00:00
void currentChanged(int);
protected:
void setTabActive(int index, bool active = true);
void updateTabs();
const QScopedPointer<QtMaterialTabsPrivate> d_ptr;
private:
Q_DISABLE_COPY(QtMaterialTabs)
Q_DECLARE_PRIVATE(QtMaterialTabs)
};
#endif // QTMATERIALTABS_H