43 Q_PROPERTY(
double minimum READ minimum WRITE setMinimum NOTIFY rangeChanged)
44 Q_PROPERTY(
double maximum READ maximum WRITE setMaximum NOTIFY rangeChanged)
45 Q_PROPERTY(
double value READ value WRITE setValue NOTIFY valueChanged)
46 Q_PROPERTY(
double step READ step WRITE setStep NOTIFY appearanceChanged)
47 Q_PROPERTY(
int precision READ precision WRITE setPrecision NOTIFY appearanceChanged)
48 Q_PROPERTY(QString unit READ unit WRITE setUnit NOTIFY appearanceChanged)
49 Q_PROPERTY(
double startAngle READ startAngle WRITE setStartAngle NOTIFY appearanceChanged)
50 Q_PROPERTY(
double spanAngle READ spanAngle WRITE setSpanAngle NOTIFY appearanceChanged)
51 Q_PROPERTY(
int majorTicks READ majorTicks WRITE setMajorTicks NOTIFY appearanceChanged)
52 Q_PROPERTY(
int minorTicks READ minorTicks WRITE setMinorTicks NOTIFY appearanceChanged)
53 Q_PROPERTY(KnobMode mode READ mode WRITE setMode NOTIFY modeChanged)
54 Q_PROPERTY(
int discreteSteps READ discreteSteps WRITE setDiscreteSteps NOTIFY appearanceChanged)
55 Q_PROPERTY(
bool trackVisible READ isTrackVisible WRITE setTrackVisible NOTIFY appearanceChanged)
56 Q_PROPERTY(
bool valueDisplayVisible READ isValueDisplayVisible WRITE setValueDisplayVisible NOTIFY appearanceChanged)
57 Q_PROPERTY(QColor knobColor READ knobColor WRITE setKnobColor NOTIFY appearanceChanged)
58 Q_PROPERTY(QColor pointerColor READ pointerColor WRITE setPointerColor NOTIFY appearanceChanged)
59 Q_PROPERTY(QColor scaleColor READ scaleColor WRITE setScaleColor NOTIFY appearanceChanged)
60 Q_PROPERTY(QColor trackColor READ trackColor WRITE setTrackColor NOTIFY appearanceChanged)
61 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor NOTIFY appearanceChanged)
79 [[nodiscard]]
double minimum()
const;
81 [[nodiscard]]
double maximum()
const;
83 [[nodiscard]]
double value()
const;
85 [[nodiscard]]
double step()
const;
87 [[nodiscard]]
int precision()
const;
89 [[nodiscard]] QString unit()
const;
91 [[nodiscard]]
double startAngle()
const;
93 [[nodiscard]]
double spanAngle()
const;
95 [[nodiscard]]
int majorTicks()
const;
97 [[nodiscard]]
int minorTicks()
const;
99 [[nodiscard]] KnobMode mode()
const;
101 [[nodiscard]]
int discreteSteps()
const;
103 [[nodiscard]]
bool isTrackVisible()
const;
105 [[nodiscard]]
bool isValueDisplayVisible()
const;
108 [[nodiscard]] QColor knobColor()
const;
110 [[nodiscard]] QColor pointerColor()
const;
112 [[nodiscard]] QColor scaleColor()
const;
114 [[nodiscard]] QColor trackColor()
const;
116 [[nodiscard]] QColor textColor()
const;
118 [[nodiscard]] QSize sizeHint()
const override;
119 [[nodiscard]] QSize minimumSizeHint()
const override;
123 void setValue(
double value);
125 void setMinimum(
double min);
127 void setMaximum(
double max);
129 void setRange(
double min,
double max);
131 void setStep(
double step);
133 void setPrecision(
int precision);
135 void setUnit(
const QString &unit);
137 void setStartAngle(
double angle);
139 void setSpanAngle(
double span);
141 void setMajorTicks(
int count);
143 void setMinorTicks(
int count);
145 void setMode(KnobMode mode);
147 void setDiscreteSteps(
int steps);
149 void setTrackVisible(
bool visible);
151 void setValueDisplayVisible(
bool visible);
154 void setKnobColor(
const QColor &color);
156 void setPointerColor(
const QColor &color);
158 void setScaleColor(
const QColor &color);
160 void setTrackColor(
const QColor &color);
162 void setTextColor(
const QColor &color);
166 void valueChanged(
double value);
168 void rangeChanged(
double min,
double max);
170 void modeChanged(KnobMode mode);
172 void appearanceChanged();
175 void paintEvent(QPaintEvent *event)
override;
176 void resizeEvent(QResizeEvent *event)
override;
177 void changeEvent(QEvent *event)
override;
178 void mousePressEvent(QMouseEvent *event)
override;
179 void mouseMoveEvent(QMouseEvent *event)
override;
180 void mouseReleaseEvent(QMouseEvent *event)
override;
181 void wheelEvent(QWheelEvent *event)
override;
182 void keyPressEvent(QKeyEvent *event)
override;
185 void invalidateCache();
186 void renderStaticScale(
const QSize &size);
187 [[nodiscard]]
double valueToAngle(
double val)
const;
188 [[nodiscard]]
double angleToValue(
double angle)
const;
189 void updateValueFromPoint(
const QPointF &pos);
191 std::unique_ptr<IndustrialKnobPrivate> d_ptr;