qtmaterialtoggle.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef QTMATERIALTOGGLE_H
  2. #define QTMATERIALTOGGLE_H
  3. #include <QtWidgets/QAbstractButton>
  4. class QtMaterialTogglePrivate;
  5. class QtMaterialToggle : public QAbstractButton
  6. {
  7. Q_OBJECT
  8. Q_PROPERTY(QColor disabledColor WRITE setDisabledColor READ disabledColor)
  9. Q_PROPERTY(QColor activeColor WRITE setActiveColor READ activeColor)
  10. Q_PROPERTY(QColor inactiveColor WRITE setInactiveColor READ inactiveColor)
  11. Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor)
  12. public:
  13. explicit QtMaterialToggle(QWidget *parent = 0);
  14. ~QtMaterialToggle();
  15. void setUseThemeColors(bool value);
  16. bool useThemeColors() const;
  17. void setDisabledColor(const QColor &color);
  18. QColor disabledColor() const;
  19. void setActiveColor(const QColor &color);
  20. QColor activeColor() const;
  21. void setInactiveColor(const QColor &color);
  22. QColor inactiveColor() const;
  23. void setTrackColor(const QColor &color);
  24. QColor trackColor() const;
  25. void setOrientation(Qt::Orientation orientation);
  26. Qt::Orientation orientation() const;
  27. QSize sizeHint() const Q_DECL_OVERRIDE;
  28. protected:
  29. bool event(QEvent *event) Q_DECL_OVERRIDE;
  30. void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
  31. const QScopedPointer<QtMaterialTogglePrivate> d_ptr;
  32. private:
  33. Q_DISABLE_COPY(QtMaterialToggle)
  34. Q_DECLARE_PRIVATE(QtMaterialToggle)
  35. };
  36. #endif // QTMATERIALTOGGLE_H