qtmaterialtabs.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef QTMATERIALTABS_H
  2. #define QTMATERIALTABS_H
  3. #include <QtWidgets/QWidget>
  4. #include <QIcon>
  5. #include "lib/qtmaterialtheme.h"
  6. class QtMaterialTabsPrivate;
  7. class QtMaterialTab;
  8. class QtMaterialTabs : public QWidget
  9. {
  10. Q_OBJECT
  11. public:
  12. explicit QtMaterialTabs(QWidget *parent = 0);
  13. ~QtMaterialTabs();
  14. void setUseThemeColors(bool value);
  15. bool useThemeColors() const;
  16. void setHaloVisible(bool value);
  17. bool isHaloVisible() const;
  18. void setRippleStyle(Material::RippleStyle style);
  19. Material::RippleStyle rippleStyle() const;
  20. void setInkColor(const QColor &color);
  21. QColor inkColor() const;
  22. void setBackgroundColor(const QColor &color);
  23. QColor backgroundColor() const;
  24. void setTextColor(const QColor &color);
  25. QColor textColor() const;
  26. void addTab(const QString &text, const QIcon &icon = QIcon());
  27. void setCurrentTab(QtMaterialTab *tab);
  28. void setCurrentTab(int index);
  29. int currentIndex() const;
  30. signals:
  31. void currentChanged(int);
  32. protected:
  33. void setTabActive(int index, bool active = true);
  34. void updateTabs();
  35. const QScopedPointer<QtMaterialTabsPrivate> d_ptr;
  36. private:
  37. Q_DISABLE_COPY(QtMaterialTabs)
  38. Q_DECLARE_PRIVATE(QtMaterialTabs)
  39. };
  40. #endif // QTMATERIALTABS_H