qtmaterialcheckable.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef QTMATERIALCHECKABLE_H
  2. #define QTMATERIALCHECKABLE_H
  3. #include <QtWidgets/QAbstractButton>
  4. class QtMaterialCheckablePrivate;
  5. class QtMaterialCheckable : public QAbstractButton
  6. {
  7. Q_OBJECT
  8. public:
  9. enum LabelPosition {
  10. LabelPositionLeft,
  11. LabelPositionRight,
  12. };
  13. explicit QtMaterialCheckable(QWidget *parent = 0);
  14. ~QtMaterialCheckable();
  15. void setLabelPosition(LabelPosition placement);
  16. LabelPosition labelPosition() const;
  17. void setUseThemeColors(bool value);
  18. bool useThemeColors() const;
  19. void setCheckedColor(const QColor &color);
  20. QColor checkedColor() const;
  21. void setUncheckedColor(const QColor &color);
  22. QColor uncheckedColor() const;
  23. void setTextColor(const QColor &color);
  24. QColor textColor() const;
  25. void setDisabledColor(const QColor &color);
  26. QColor disabledColor() const;
  27. void setCheckedIcon(const QIcon &icon);
  28. QIcon checkedIcon() const;
  29. void setUncheckedIcon(const QIcon &icon);
  30. QIcon uncheckedIcon() const;
  31. QSize sizeHint() const Q_DECL_OVERRIDE;
  32. protected:
  33. QtMaterialCheckable(QtMaterialCheckablePrivate &d, QWidget *parent = 0);
  34. bool event(QEvent *event) Q_DECL_OVERRIDE;
  35. bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
  36. void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
  37. void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
  38. virtual void setupProperties();
  39. const QScopedPointer<QtMaterialCheckablePrivate> d_ptr;
  40. private:
  41. Q_DISABLE_COPY(QtMaterialCheckable)
  42. Q_DECLARE_PRIVATE(QtMaterialCheckable)
  43. };
  44. #endif // QTMATERIALCHECKABLE_H