qtmaterialcircularprogress.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef QTMATERIALCIRCULARPROGRESS_H
  2. #define QTMATERIALCIRCULARPROGRESS_H
  3. #include <QtWidgets/QProgressBar>
  4. #include "lib/qtmaterialtheme.h"
  5. class QtMaterialCircularProgressPrivate;
  6. class QtMaterialCircularProgress : public QProgressBar
  7. {
  8. Q_OBJECT
  9. Q_PROPERTY(qreal lineWidth WRITE setLineWidth READ lineWidth)
  10. Q_PROPERTY(qreal size WRITE setSize READ size)
  11. Q_PROPERTY(QColor color WRITE setColor READ color)
  12. public:
  13. explicit QtMaterialCircularProgress(QWidget *parent = 0);
  14. ~QtMaterialCircularProgress();
  15. void setProgressType(Material::ProgressType type);
  16. Material::ProgressType progressType() const;
  17. void setUseThemeColors(bool value);
  18. bool useThemeColors() const;
  19. void setLineWidth(qreal width);
  20. qreal lineWidth() const;
  21. void setSize(int size);
  22. int size() const;
  23. void setColor(const QColor &color);
  24. QColor color() const;
  25. QSize sizeHint() const Q_DECL_OVERRIDE;
  26. protected:
  27. void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
  28. const QScopedPointer<QtMaterialCircularProgressPrivate> d_ptr;
  29. private:
  30. Q_DISABLE_COPY(QtMaterialCircularProgress)
  31. Q_DECLARE_PRIVATE(QtMaterialCircularProgress)
  32. };
  33. #endif // QTMATERIALCIRCULARPROGRESS_H