qt-material-widgets/components/slider.h

62 lines
1.4 KiB
C
Raw Normal View History

2022-02-17 15:17:19 +00:00
#ifndef SLIDER_H
#define SLIDER_H
2017-09-29 13:53:18 +00:00
#include <QtWidgets/QAbstractSlider>
#include <QScopedPointer>
#define QT_MATERIAL_SLIDER_MARGIN 30
2022-02-17 02:51:42 +00:00
namespace md
{
2017-09-29 13:53:18 +00:00
2022-02-17 02:51:42 +00:00
class SliderPrivate;
2017-09-29 13:53:18 +00:00
2022-02-17 02:51:42 +00:00
class Slider : public QAbstractSlider
2017-09-29 13:53:18 +00:00
{
Q_OBJECT
Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor)
Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor)
Q_PROPERTY(QColor disabledColor WRITE setDisabledColor READ disabledColor)
public:
2022-02-17 02:51:42 +00:00
explicit Slider(QWidget *parent = 0);
~Slider();
2017-09-29 13:53:18 +00:00
void setUseThemeColors(bool value);
bool useThemeColors() const;
void setThumbColor(const QColor &color);
QColor thumbColor() const;
void setTrackColor(const QColor &color);
QColor trackColor() const;
void setDisabledColor(const QColor &color);
QColor disabledColor() const;
void setPageStepMode(bool pageStep);
bool pageStepMode() const;
QSize minimumSizeHint() const Q_DECL_OVERRIDE;
void setInvertedAppearance(bool value);
protected:
void sliderChange(SliderChange change) Q_DECL_OVERRIDE;
void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void leaveEvent(QEvent *event) Q_DECL_OVERRIDE;
void updateThumbOffset();
2022-02-17 02:51:42 +00:00
const QScopedPointer<SliderPrivate> d_ptr;
2017-09-29 13:53:18 +00:00
private:
2022-02-17 02:51:42 +00:00
Q_DISABLE_COPY(Slider)
Q_DECLARE_PRIVATE(Slider)
2017-09-29 13:53:18 +00:00
};
2022-02-17 02:51:42 +00:00
}
2022-02-17 15:17:19 +00:00
#endif // SLIDER_H