feat(parameter): persistant parameter value
This commit is contained in:
@@ -2,32 +2,46 @@
|
||||
#include "Gui/Parameters/AbstractSliderParm.h"
|
||||
#include <qboxlayout.h>
|
||||
#include <QLabel>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
enzo::ui::AbstractFormParm::AbstractFormParm(std::weak_ptr<prm::Parameter> parameter)
|
||||
: parameter_{parameter}
|
||||
{
|
||||
std::string name;
|
||||
if(auto sharedParameter=parameter.lock())
|
||||
if(auto sharedParameter=parameter_.lock())
|
||||
{
|
||||
name = sharedParameter->getName();
|
||||
std::string name = sharedParameter->getName();
|
||||
auto label = new QLabel(QString::fromStdString(name+":"));
|
||||
label->setStyleSheet("QLabel{background: none}");
|
||||
label->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
|
||||
|
||||
auto slider = new AbstractSliderParm();
|
||||
connect(slider, &AbstractSliderParm::valueChanged, this, &AbstractFormParm::changeValue);
|
||||
slider->setValue(sharedParameter->evalFloat());
|
||||
|
||||
mainLayout_ = new QHBoxLayout();
|
||||
mainLayout_->addWidget(label);
|
||||
mainLayout_->addWidget(slider);
|
||||
mainLayout_->setContentsMargins(0,0,0,0);
|
||||
|
||||
setFixedHeight(24);
|
||||
setProperty("class", "Parameter");
|
||||
setStyleSheet(".Parameter { background-color: none;}");
|
||||
setLayout(mainLayout_);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void enzo::ui::AbstractFormParm::changeValue(enzo::bt::floatT value)
|
||||
{
|
||||
if(auto sharedParameter=parameter_.lock())
|
||||
{
|
||||
sharedParameter->setFloat(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
std::cout << "ERROR: parameter no longer exists\n";
|
||||
|
||||
}
|
||||
|
||||
auto label = new QLabel(QString::fromStdString(name+":"));
|
||||
label->setStyleSheet("QLabel{background: none}");
|
||||
label->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
|
||||
|
||||
mainLayout_ = new QHBoxLayout();
|
||||
mainLayout_->addWidget(label);
|
||||
mainLayout_->addWidget(new AbstractSliderParm());
|
||||
mainLayout_->setContentsMargins(0,0,0,0);
|
||||
|
||||
setFixedHeight(24);
|
||||
setProperty("class", "Parameter");
|
||||
setStyleSheet(".Parameter { background-color: none;}");
|
||||
setLayout(mainLayout_);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user