UvosSmartHomeInterface/src/ui/actorwidgets/polynomalactorwidget.cpp

50 lines
1.6 KiB
C++

#include "polynomalactorwidget.h"
#include "ui_polynomalactorwidget.h"
PolynomalActorWidget::PolynomalActorWidget(std::shared_ptr<PolynomalActor> actor, SensorStore* sensors,
QWidget *parent):
QWidget(parent),
sensors_(sensors),
actor_(actor),
ui(new Ui::PolynomalActorWidget)
{
ui->setupUi(this);
if(sensors)ui->listView->sensorsChanged(*(sensors->getSensors()));
else
{
ui->listView->hide();
ui->label->hide();
}
double pow3, pow2, pow1, pow0;
actor_->getCoeffiancts(pow3, pow2, pow1, pow0);
ui->doubleSpinBox_pow0->setValue(pow0);
ui->doubleSpinBox_pow1->setValue(pow1);
ui->doubleSpinBox_pow2->setValue(pow2);
ui->doubleSpinBox_pow3->setValue(pow3);
connect(ui->doubleSpinBox_pow3, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow);
connect(ui->doubleSpinBox_pow2, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow);
connect(ui->doubleSpinBox_pow1, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow);
connect(ui->doubleSpinBox_pow0, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow);
connect(ui->listView, &SensorListWidget::clicked, this, &PolynomalActorWidget::setSensor);
}
PolynomalActorWidget::~PolynomalActorWidget()
{
delete ui;
}
void PolynomalActorWidget::setPow()
{
actor_->setCoeffiancts(ui->doubleSpinBox_pow3->value(), ui->doubleSpinBox_pow2->value(),
ui->doubleSpinBox_pow1->value(), ui->doubleSpinBox_pow0->value());
}
void PolynomalActorWidget::setSensor(const QModelIndex &index)
{
actor_->setSensor(ui->listView->getSensorForIndex(index));
}