Guitar
RingSlider.h
Go to the documentation of this file.
1 #ifndef RINGSLIDER_H
2 #define RINGSLIDER_H
3 
4 #include <QSlider>
5 
6 class RingSlider : public QSlider {
7 protected:
8  int handle_size_ = 16;
9  QRect slider_rect_;
10  QRect handle_rect_;
14  void updateGeometry();
15  QSize sliderImageSize() const;
16  void offset(int delta);
17  void resizeEvent(QResizeEvent *e) override;
18  void keyPressEvent(QKeyEvent *e) override;
19  void paintEvent(QPaintEvent *) override;
20  void mousePressEvent(QMouseEvent *e) override;
21  void mouseMoveEvent(QMouseEvent *e) override;
22  void mouseDoubleClickEvent(QMouseEvent *e) override;
23  void wheelEvent(QWheelEvent *e) override;
24  virtual QImage generateSliderImage() = 0;
25 public:
26  explicit RingSlider(QWidget *parent = nullptr)
27  : QSlider(parent)
28  {}
29 };
30 
31 
32 #endif // RINGSLIDER_H
RingSlider.h
RingSlider::keyPressEvent
void keyPressEvent(QKeyEvent *e) override
Definition: RingSlider.cpp:40
RingSlider::paintEvent
void paintEvent(QPaintEvent *) override
Definition: RingSlider.cpp:68
RingSlider::RingSlider
RingSlider(QWidget *parent=nullptr)
Definition: RingSlider.h:26
RingSlider::mouse_press_value_
int mouse_press_value_
Definition: RingSlider.h:11
RingSlider::resizeEvent
void resizeEvent(QResizeEvent *e) override
Definition: RingSlider.cpp:34
RingSlider::mousePressEvent
void mousePressEvent(QMouseEvent *e) override
Definition: RingSlider.cpp:145
RingSlider::handle_rect_
QRect handle_rect_
Definition: RingSlider.h:10
RingSlider::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *e) override
Definition: RingSlider.cpp:173
RingSlider::sliderImageSize
QSize sliderImageSize() const
Definition: RingSlider.cpp:24
RingSlider::generateSliderImage
virtual QImage generateSliderImage()=0
RingSlider::updateGeometry
void updateGeometry()
Definition: RingSlider.cpp:8
RingSlider::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *e) override
Definition: RingSlider.cpp:161
RingSlider::handle_size_
int handle_size_
Definition: RingSlider.h:8
RingSlider::offset
void offset(int delta)
Definition: RingSlider.cpp:29
RingSlider
Definition: RingSlider.h:6
RingSlider::slider_image_cache_
QImage slider_image_cache_
Definition: RingSlider.h:13
RingSlider::slider_rect_
QRect slider_rect_
Definition: RingSlider.h:9
RingSlider::wheelEvent
void wheelEvent(QWheelEvent *e) override
Definition: RingSlider.cpp:184
RingSlider::mouse_press_pos_
QPoint mouse_press_pos_
Definition: RingSlider.h:12