Cabana: use QLineEdit for double value (#26247)

old-commit-hash: d549e1899d
taco
Dean Lee 3 years ago committed by GitHub
parent 5cfe86afa5
commit d070420f00
  1. 22
      tools/cabana/signaledit.cc
  2. 5
      tools/cabana/signaledit.h

@ -1,6 +1,7 @@
#include "tools/cabana/signaledit.h" #include "tools/cabana/signaledit.h"
#include <QDialogButtonBox> #include <QDialogButtonBox>
#include <QDoubleValidator>
#include <QFormLayout> #include <QFormLayout>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QMessageBox> #include <QMessageBox>
@ -36,13 +37,16 @@ SignalForm::SignalForm(const Signal &sig, QWidget *parent) : QWidget(parent) {
sign->setCurrentIndex(sig.is_signed ? 0 : 1); sign->setCurrentIndex(sig.is_signed ? 0 : 1);
form_layout->addRow(tr("sign"), sign); form_layout->addRow(tr("sign"), sign);
factor = new QDoubleSpinBox(); auto double_validator = new QDoubleValidator(this);
factor->setDecimals(3);
factor->setValue(sig.factor); factor = new QLineEdit();
factor->setValidator(double_validator);
factor->setText(QString::number(sig.factor));
form_layout->addRow(tr("Factor"), factor); form_layout->addRow(tr("Factor"), factor);
offset = new QSpinBox(); offset = new QLineEdit();
offset->setValue(sig.offset); offset->setValidator(double_validator);
offset->setText(QString::number(sig.offset));
form_layout->addRow(tr("Offset"), offset); form_layout->addRow(tr("Offset"), offset);
// TODO: parse the following parameters in opendbc // TODO: parse the following parameters in opendbc
@ -50,11 +54,11 @@ SignalForm::SignalForm(const Signal &sig, QWidget *parent) : QWidget(parent) {
form_layout->addRow(tr("Unit"), unit); form_layout->addRow(tr("Unit"), unit);
comment = new QLineEdit(); comment = new QLineEdit();
form_layout->addRow(tr("Comment"), comment); form_layout->addRow(tr("Comment"), comment);
min_val = new QDoubleSpinBox(); min_val = new QLineEdit();
factor->setDecimals(3); min_val->setValidator(double_validator);
form_layout->addRow(tr("Minimum value"), min_val); form_layout->addRow(tr("Minimum value"), min_val);
max_val = new QDoubleSpinBox(); max_val = new QLineEdit();
factor->setDecimals(3); max_val->setValidator(double_validator);
form_layout->addRow(tr("Maximum value"), max_val); form_layout->addRow(tr("Maximum value"), max_val);
val_desc = new QLineEdit(); val_desc = new QLineEdit();
form_layout->addRow(tr("Value descriptions"), val_desc); form_layout->addRow(tr("Value descriptions"), val_desc);

@ -16,9 +16,8 @@ class SignalForm : public QWidget {
public: public:
SignalForm(const Signal &sig, QWidget *parent); SignalForm(const Signal &sig, QWidget *parent);
QLineEdit *name, *unit, *comment, *val_desc; QLineEdit *name, *unit, *comment, *val_desc, *offset, *factor, *min_val, *max_val;
QSpinBox *size, *offset; QSpinBox *size;
QDoubleSpinBox *factor, *min_val, *max_val;
QComboBox *sign, *endianness; QComboBox *sign, *endianness;
}; };

Loading…
Cancel
Save