IntSlider.hpp
1 #pragma once
2 #include <QProxyStyle>
3 #include <QWidget>
4 
5 #include <score_lib_base_export.h>
6 
7 #include <verdigris>
8 
9 namespace score
10 {
11 class SCORE_LIB_BASE_EXPORT IntSlider : public QWidget
12 {
13  W_OBJECT(IntSlider)
14 public:
15  IntSlider(Qt::Orientation ort, QWidget* widg);
16  IntSlider(QWidget* widg);
17  ~IntSlider() override;
18 
19  void setValue(int val);
20  void setMinimum(int min) { m_min = min; }
21  void setMaximum(int max) { m_max = max; }
22  void setRange(int min, double max)
23  {
24  m_min = min;
25  m_max = max;
26  update();
27  }
28  void setOrientation(Qt::Orientation ort) { m_orientation = ort; }
29 
30  int value() const { return m_value; }
31  int minimum() const { return m_min; }
32  int maximum() const { return m_max; }
33 
34  void valueChanged(int arg_1) E_SIGNAL(SCORE_LIB_BASE_EXPORT, valueChanged, arg_1)
35  void sliderMoved(int arg_1) E_SIGNAL(SCORE_LIB_BASE_EXPORT, sliderMoved, arg_1)
36  void sliderReleased() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sliderReleased)
37 
38  void mousePressEvent(QMouseEvent* event) override;
39  void mouseMoveEvent(QMouseEvent* event) override;
40  void mouseReleaseEvent(QMouseEvent* event) override;
41  virtual void createPopup(QPoint pos);
42 
43 protected:
44  void paintEvent(QPaintEvent*) override;
45  void paint(QPainter& p);
46  void paintWithText(const QString& s);
47 
48 private:
49  void updateValue(QPointF mousePos);
50 
51  int m_value{};
52  int m_min{};
53  int m_max{};
54 
55  Qt::Orientation m_orientation{};
56  double m_borderWidth{};
57 };
58 }
Definition: IntSlider.hpp:12
Base toolkit upon which the software is built.
Definition: Application.cpp:90