absolute-slider.hpp 647 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <QMouseEvent>
  3. #include <slider-ignorewheel.hpp>
  4. class AbsoluteSlider : public SliderIgnoreScroll {
  5. Q_OBJECT
  6. public:
  7. AbsoluteSlider(QWidget *parent = nullptr);
  8. AbsoluteSlider(Qt::Orientation orientation, QWidget *parent = nullptr);
  9. signals:
  10. void absoluteSliderHovered(int value);
  11. protected:
  12. virtual void mouseMoveEvent(QMouseEvent *event) override;
  13. virtual void mousePressEvent(QMouseEvent *event) override;
  14. virtual void mouseReleaseEvent(QMouseEvent *event) override;
  15. virtual bool eventFilter(QObject *obj, QEvent *event) override;
  16. int posToRangeValue(QMouseEvent *event);
  17. private:
  18. bool dragging = false;
  19. };