Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
ScalarWidget.cpp
Go to the documentation of this file.
1#include "ScalarWidget.h"
2
3ScalarWidget::ScalarWidget(const QString &suffix, QWidget *parent) {
4 QHBoxLayout* layout = new QHBoxLayout(this);
5 layout->setContentsMargins(0, 0, 0, 0);
6
7 spin = new QDoubleSpinBox(this);
8 spin->setRange(-10000000.0, 10000000.0);
9 spin->setDecimals(2);
10 spin->setSuffix(suffix);
11 spin->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
12
13 layout->addWidget(spin);
14
15 connect(spin, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &ScalarWidget::valueChanged);
16}
17
18double ScalarWidget::getValue() const {
19 return spin->value();
20}
21
22void ScalarWidget::setValue(double val) {
23 if (spin->hasFocus())
24 return;
25 QSignalBlocker blocker(spin);
26 spin->setValue(val);
27}
28
29void ScalarWidget::setRange(double min, double max) {
30 spin->setRange(min, max);
31}
32
33void ScalarWidget::setDecimals(int decimals) {
34 spin->setDecimals(decimals);
35}
void setRange(double min, double max)
void setDecimals(int decimals)
ScalarWidget(const QString &suffix="", QWidget *parent=nullptr)
void valueChanged(double newValue)
double getValue() const
void setValue(double val)