qt-material-widgets/components/scrollbar.h

58 lines
1.2 KiB
C
Raw Normal View History

2022-02-17 15:17:19 +00:00
#ifndef SCROLLBAR_H
#define SCROLLBAR_H
2017-09-29 17:59:35 +00:00
#include <QtWidgets/QScrollBar>
#include <QPainter>
#include <QPainterPath>
#include <QDebug>
2022-02-17 15:17:19 +00:00
#include "scrollbar_p.h"
#include "scrollbar_internal.h"
#include "lib/style.h"
2022-02-17 02:46:48 +00:00
namespace md
{
2017-09-29 17:59:35 +00:00
2022-02-17 02:46:48 +00:00
class ScrollBarPrivate;
2017-09-29 17:59:35 +00:00
2022-02-17 02:46:48 +00:00
class ScrollBar : public QScrollBar
2017-09-29 17:59:35 +00:00
{
Q_OBJECT
Q_PROPERTY(QColor canvasColor WRITE setCanvasColor READ canvasColor)
Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
Q_PROPERTY(QColor sliderColor WRITE setSliderColor READ sliderColor)
public:
2022-02-17 02:46:48 +00:00
explicit ScrollBar(QWidget *parent = 0);
~ScrollBar();
2017-09-29 17:59:35 +00:00
QSize sizeHint() const Q_DECL_OVERRIDE;
void setUseThemeColors(bool value);
bool useThemeColors() const;
void setCanvasColor(const QColor &color);
QColor canvasColor() const;
void setBackgroundColor(const QColor &color);
QColor backgroundColor() const;
void setSliderColor(const QColor &color);
QColor sliderColor() const;
void setHideOnMouseOut(bool value);
bool hideOnMouseOut() const;
protected:
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
2022-02-17 02:46:48 +00:00
const QScopedPointer<ScrollBarPrivate> d_ptr;
2017-09-29 17:59:35 +00:00
private:
2022-02-17 02:46:48 +00:00
Q_DISABLE_COPY(ScrollBar)
Q_DECLARE_PRIVATE(ScrollBar)
2017-09-29 17:59:35 +00:00
};
2022-02-17 02:46:48 +00:00
}
2022-02-17 15:17:19 +00:00
#endif // SCROLLBAR_H