qtmaterialbadge.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef QTMATERIALBADGE_H
  2. #define QTMATERIALBADGE_H
  3. #include "lib/qtmaterialoverlaywidget.h"
  4. class QtMaterialBadgePrivate;
  5. class QtMaterialBadge : public QtMaterialOverlayWidget
  6. {
  7. Q_OBJECT
  8. Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor)
  9. Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
  10. Q_PROPERTY(QPointF relativePosition WRITE setRelativePosition READ relativePosition)
  11. public:
  12. explicit QtMaterialBadge(QWidget *parent = 0);
  13. explicit QtMaterialBadge(const QIcon &icon, QWidget *parent = 0);
  14. explicit QtMaterialBadge(const QString &text, QWidget *parent = 0);
  15. ~QtMaterialBadge();
  16. void setUseThemeColors(bool value);
  17. bool useThemeColors() const;
  18. void setTextColor(const QColor &color);
  19. QColor textColor() const;
  20. void setBackgroundColor(const QColor &color);
  21. QColor backgroundColor() const;
  22. void setRelativePosition(const QPointF &pos);
  23. void setRelativePosition(qreal x, qreal y);
  24. QPointF relativePosition() const;
  25. void setRelativeXPosition(qreal x);
  26. qreal relativeXPosition() const;
  27. void setRelativeYPosition(qreal y);
  28. qreal relativeYPosition() const;
  29. QSize sizeHint() const Q_DECL_OVERRIDE;
  30. void setIcon(const QIcon &icon);
  31. QIcon icon() const;
  32. void setText(const QString &text);
  33. QString text() const;
  34. protected:
  35. void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
  36. int getDiameter() const;
  37. const QScopedPointer<QtMaterialBadgePrivate> d_ptr;
  38. private:
  39. Q_DISABLE_COPY(QtMaterialBadge)
  40. Q_DECLARE_PRIVATE(QtMaterialBadge)
  41. };
  42. #endif // QTMATERIALBADGE_H