From f0af6114f4d49615a049fbd20453ed76c5ebd34c Mon Sep 17 00:00:00 2001 From: parker Date: Tue, 22 Jul 2025 02:27:09 +0100 Subject: [PATCH] feat(parameter): add float parm --- CMakeLists.txt | 2 ++ src/Gui/Parameters/AbstractFormParm.cpp | 23 +++++++++++++++++++++ src/Gui/Parameters/AbstractFormParm.h | 18 ++++++++++++++++ src/Gui/Parameters/AbstractSliderParm.cpp | 2 +- src/Gui/Parameters/FloatParm.cpp | 3 +++ src/Gui/Parameters/FloatParm.h | 13 ++++++++++++ src/Gui/ParametersPanel/ParametersPanel.cpp | 16 ++++++++++---- 7 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 src/Gui/Parameters/AbstractFormParm.cpp create mode 100644 src/Gui/Parameters/AbstractFormParm.h create mode 100644 src/Gui/Parameters/FloatParm.cpp create mode 100644 src/Gui/Parameters/FloatParm.h diff --git a/CMakeLists.txt b/CMakeLists.txt index d86c9ac..651f9d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,8 @@ set(GUI_SOURCES src/Gui/Network/TabMenu.cpp src/Gui/ParametersPanel/ParametersPanel.cpp src/Gui/Parameters/AbstractSliderParm.cpp + src/Gui/Parameters/AbstractFormParm.cpp + src/Gui/Parameters/FloatParm.cpp ) # qt diff --git a/src/Gui/Parameters/AbstractFormParm.cpp b/src/Gui/Parameters/AbstractFormParm.cpp new file mode 100644 index 0000000..e5725df --- /dev/null +++ b/src/Gui/Parameters/AbstractFormParm.cpp @@ -0,0 +1,23 @@ +#include "Gui/Parameters/AbstractFormParm.h" +#include "Gui/Parameters/AbstractSliderParm.h" +#include +#include + + +enzo::ui::AbstractFormParm::AbstractFormParm() +{ + auto label = new QLabel("Parm 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_); +} + diff --git a/src/Gui/Parameters/AbstractFormParm.h b/src/Gui/Parameters/AbstractFormParm.h new file mode 100644 index 0000000..82d2243 --- /dev/null +++ b/src/Gui/Parameters/AbstractFormParm.h @@ -0,0 +1,18 @@ +#include +#include + +namespace enzo::ui +{ + +class AbstractFormParm +: public QWidget +{ +public: + AbstractFormParm(); + +private: + QHBoxLayout* mainLayout_; + +}; + +} diff --git a/src/Gui/Parameters/AbstractSliderParm.cpp b/src/Gui/Parameters/AbstractSliderParm.cpp index eb777a3..3516d9c 100644 --- a/src/Gui/Parameters/AbstractSliderParm.cpp +++ b/src/Gui/Parameters/AbstractSliderParm.cpp @@ -21,7 +21,7 @@ enzo::ui::AbstractSliderParm::AbstractSliderParm(QWidget *parent, Qt::WindowFlag valueLabel_ = new QLabel(); valueLabel_->setAlignment(Qt::AlignCenter); - valueLabel_->setStyleSheet("background-color: transparent;"); + valueLabel_->setStyleSheet("background-color: none;"); setProperty("type", "SliderParm"); setStyleSheet(R"( QWidget[type="SliderParm"] diff --git a/src/Gui/Parameters/FloatParm.cpp b/src/Gui/Parameters/FloatParm.cpp new file mode 100644 index 0000000..476c7fa --- /dev/null +++ b/src/Gui/Parameters/FloatParm.cpp @@ -0,0 +1,3 @@ +#include "Gui/Parameters/FloatParm.h" + + diff --git a/src/Gui/Parameters/FloatParm.h b/src/Gui/Parameters/FloatParm.h new file mode 100644 index 0000000..64e513f --- /dev/null +++ b/src/Gui/Parameters/FloatParm.h @@ -0,0 +1,13 @@ +#include "Gui/Parameters/AbstractSliderParm.h" + +namespace enzo::ui +{ + +class FloatParm +: public AbstractSliderParm +{ + using AbstractSliderParm = AbstractSliderParm; + +}; + +} diff --git a/src/Gui/ParametersPanel/ParametersPanel.cpp b/src/Gui/ParametersPanel/ParametersPanel.cpp index 6ac2323..9002dc2 100644 --- a/src/Gui/ParametersPanel/ParametersPanel.cpp +++ b/src/Gui/ParametersPanel/ParametersPanel.cpp @@ -1,7 +1,10 @@ #include "Gui/ParametersPanel/ParametersPanel.h" #include "Gui/Parameters/AbstractSliderParm.h" +#include "Gui/Parameters/AbstractFormParm.h" +#include "Gui/Parameters/FloatParm.h" #include #include +#include #include #include @@ -10,6 +13,7 @@ ParametersPanel::ParametersPanel(QWidget *parent, Qt::WindowFlags f) { mainLayout_ = new QVBoxLayout(); parametersLayout_ = new QVBoxLayout(); + parametersLayout_->setAlignment(Qt::AlignTop); bgWidget_ = new QWidget(); bgWidget_->setLayout(parametersLayout_); @@ -25,10 +29,14 @@ 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::AbstractSliderParm()); - parametersLayout_->addWidget(new enzo::ui::AbstractSliderParm()); + // 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()); setLayout(mainLayout_);