feat(parameter): populate parameterPanel
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
#include "Gui/ParametersPanel/ParametersPanel.h"
|
||||
#include "Engine/Operator/GeometryOperator.h"
|
||||
#include "Gui/Parameters/AbstractSliderParm.h"
|
||||
#include "Gui/Parameters/AbstractFormParm.h"
|
||||
#include "Gui/Parameters/FloatParm.h"
|
||||
#include "Engine/Network/NetworkManager.h"
|
||||
#include <memory>
|
||||
#include <qboxlayout.h>
|
||||
#include <QSpinBox>
|
||||
#include <qnamespace.h>
|
||||
@@ -29,15 +32,34 @@ ParametersPanel::ParametersPanel(QWidget *parent, Qt::WindowFlags f)
|
||||
mainLayout_->addLayout(parametersLayout_);
|
||||
mainLayout_->addWidget(bgWidget_);
|
||||
|
||||
// parametersLayout_->addWidget(new enzo::ui::AbstractSliderParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::AbstractSliderParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::FloatParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::FloatParm());
|
||||
parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
// parametersLayout_->addWidget(new enzo::ui::AbstractFormParm());
|
||||
|
||||
|
||||
setLayout(mainLayout_);
|
||||
}
|
||||
|
||||
void ParametersPanel::selectionChanged()
|
||||
{
|
||||
enzo::nt::NetworkManager& nm = enzo::nt::nm();
|
||||
std::optional<enzo::nt::OpId> displayOpId = nm.getDisplayOp();
|
||||
|
||||
if(!displayOpId.has_value()) return;
|
||||
|
||||
// clear layout safely
|
||||
QLayoutItem *child;
|
||||
while ((child = parametersLayout_->takeAt(0)) != nullptr) {
|
||||
delete child->widget();
|
||||
delete child;
|
||||
}
|
||||
|
||||
enzo::nt::GeometryOperator& displayOp = nm.getGeoOperator(displayOpId.value());
|
||||
auto parameters = displayOp.getParameters();
|
||||
for(auto parameter : parameters)
|
||||
{
|
||||
parametersLayout_->addWidget(new enzo::ui::AbstractFormParm(parameter));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ class ParametersPanel
|
||||
{
|
||||
public:
|
||||
ParametersPanel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
|
||||
public slots:
|
||||
void selectionChanged();
|
||||
private:
|
||||
QVBoxLayout* mainLayout_;
|
||||
QVBoxLayout* parametersLayout_;
|
||||
|
||||
Reference in New Issue
Block a user