diff --git a/CMakeLists.txt b/CMakeLists.txt index ba25f38..5b43982 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,6 +54,7 @@ set(GUI_SOURCES # qt find_package(Qt6 REQUIRED COMPONENTS Core Widgets SvgWidgets OpenGLWidgets) qt_standard_project_setup() +ADD_DEFINITIONS(-DQT_NO_KEYWORDS) # glm find_package(glm REQUIRED) diff --git a/src/Engine/Network/NetworkManager.h b/src/Engine/Network/NetworkManager.h index 5ea01b1..a5a9f3d 100644 --- a/src/Engine/Network/NetworkManager.h +++ b/src/Engine/Network/NetworkManager.h @@ -42,7 +42,7 @@ private: enzo::nt::OpId maxOpId_=0; // operator selected for displaying in the viewport std::optional displayOp_=std::nullopt; -signals: +Q_SIGNALS: void updateDisplay(enzo::geo::Geometry& geometry); }; diff --git a/src/Engine/Parameter/Parameter.cpp b/src/Engine/Parameter/Parameter.cpp index 6399446..4f22343 100644 --- a/src/Engine/Parameter/Parameter.cpp +++ b/src/Engine/Parameter/Parameter.cpp @@ -5,6 +5,7 @@ enzo::prm::Parameter::Parameter(Template prmTemplate) : template_{prmTemplate} { + floatValue_ = prmTemplate.getDefault(); std::cout << "created new parameter: " << prmTemplate.getName() << "\n"; } diff --git a/src/Engine/Parameter/Template.cpp b/src/Engine/Parameter/Template.cpp index 2768e1e..ff699ef 100644 --- a/src/Engine/Parameter/Template.cpp +++ b/src/Engine/Parameter/Template.cpp @@ -1,8 +1,8 @@ #include "Engine/Parameter/Template.h" #include "Engine/Parameter/Type.h" -enzo::prm::Template::Template(enzo::prm::Type type, const char* name) -: type_{type}, name_{name} +enzo::prm::Template::Template(enzo::prm::Type type, const char* name, bt::floatT theDefault) +: type_{type}, name_{name}, default_{theDefault} { } @@ -18,6 +18,11 @@ bool enzo::prm::Template::isValid() const } +const enzo::bt::floatT enzo::prm::Template::getDefault() const +{ + return default_; +} + const char* enzo::prm::Template::getName() const { return name_; diff --git a/src/Engine/Parameter/Template.h b/src/Engine/Parameter/Template.h index 6e69d38..b34cde2 100644 --- a/src/Engine/Parameter/Template.h +++ b/src/Engine/Parameter/Template.h @@ -1,5 +1,6 @@ #pragma once #include "Engine/Parameter/Type.h" +#include "Engine/Types.h" namespace enzo::prm { @@ -7,12 +8,19 @@ namespace enzo::prm class Template { public: - Template(enzo::prm::Type type, const char* name); + Template( + enzo::prm::Type type, + const char* name, + // TODO: change default to class that can store multiple types + bt::floatT theDefault + ); Template(); const char* getName() const; + const bt::floatT getDefault() const; bool isValid() const; private: enzo::prm::Type type_; + bt::floatT default_; // TODO: make a class that holds token and name const char* name_; diff --git a/src/Gui/Network/TabMenu.h b/src/Gui/Network/TabMenu.h index 12f6f65..fa158bc 100644 --- a/src/Gui/Network/TabMenu.h +++ b/src/Gui/Network/TabMenu.h @@ -59,7 +59,7 @@ protected: void focusOutEvent(QFocusEvent *event) override; bool event(QEvent *event) override; // void resizeEvent(QResizeEvent *event) override; -protected slots: +protected Q_SLOTS: void nodeClicked(); }; diff --git a/src/Gui/Parameters/AbstractFormParm.cpp b/src/Gui/Parameters/AbstractFormParm.cpp index 64f605a..629c413 100644 --- a/src/Gui/Parameters/AbstractFormParm.cpp +++ b/src/Gui/Parameters/AbstractFormParm.cpp @@ -16,7 +16,6 @@ enzo::ui::AbstractFormParm::AbstractFormParm(std::weak_ptr param label->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred); auto slider = new AbstractSliderParm(); - connect(slider, &AbstractSliderParm::valueChanged, this, &AbstractFormParm::changeValue); slider->setValue(sharedParameter->evalFloat()); mainLayout_ = new QHBoxLayout(); @@ -28,6 +27,8 @@ enzo::ui::AbstractFormParm::AbstractFormParm(std::weak_ptr param setProperty("class", "Parameter"); setStyleSheet(".Parameter { background-color: none;}"); setLayout(mainLayout_); + + connect(slider, &AbstractSliderParm::valueChanged, this, &AbstractFormParm::changeValue); } } diff --git a/src/Gui/Parameters/AbstractFormParm.h b/src/Gui/Parameters/AbstractFormParm.h index d2279bb..3b58e89 100644 --- a/src/Gui/Parameters/AbstractFormParm.h +++ b/src/Gui/Parameters/AbstractFormParm.h @@ -2,6 +2,7 @@ #include #include #include +#include namespace enzo::ui { @@ -9,13 +10,13 @@ namespace enzo::ui class AbstractFormParm : public QWidget { + Q_OBJECT public: AbstractFormParm(std::weak_ptr parameter); -protected slots: +protected Q_SLOTS: void changeValue(bt::floatT value); - private: QHBoxLayout* mainLayout_; std::weak_ptr parameter_; diff --git a/src/Gui/Parameters/AbstractSliderParm.h b/src/Gui/Parameters/AbstractSliderParm.h index 640321c..1e28496 100644 --- a/src/Gui/Parameters/AbstractSliderParm.h +++ b/src/Gui/Parameters/AbstractSliderParm.h @@ -15,7 +15,7 @@ public: AbstractSliderParm(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); void setValue(bt::floatT value); -signals: +Q_SIGNALS: void valueChanged(bt::floatT value); private: diff --git a/src/Gui/ParametersPanel/ParametersPanel.h b/src/Gui/ParametersPanel/ParametersPanel.h index 8749474..5a99de1 100644 --- a/src/Gui/ParametersPanel/ParametersPanel.h +++ b/src/Gui/ParametersPanel/ParametersPanel.h @@ -8,7 +8,7 @@ class ParametersPanel { public: ParametersPanel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); -public slots: +public Q_SLOTS: void selectionChanged(); private: QVBoxLayout* mainLayout_; diff --git a/src/Gui/Viewport/Viewport.h b/src/Gui/Viewport/Viewport.h index bf63d68..fe86376 100644 --- a/src/Gui/Viewport/Viewport.h +++ b/src/Gui/Viewport/Viewport.h @@ -23,6 +23,6 @@ private: QPointF leftStartPos_; bool rightMouseDown_=false; QPointF rightStartPos_; -public slots: +public Q_SLOTS: void geometryChanged(enzo::geo::Geometry& geometry); }; diff --git a/src/Gui/Viewport/ViewportGLWidget.h b/src/Gui/Viewport/ViewportGLWidget.h index 0c02d31..2917873 100644 --- a/src/Gui/Viewport/ViewportGLWidget.h +++ b/src/Gui/Viewport/ViewportGLWidget.h @@ -25,6 +25,6 @@ protected: void resizeGL(int w, int h) override; void paintGL() override; -public slots: +public Q_SLOTS: void geometryChanged(enzo::geo::Geometry& geometry); }; diff --git a/src/OpDefs/GopHouse.cpp b/src/OpDefs/GopHouse.cpp index 4610be1..beacaf5 100644 --- a/src/OpDefs/GopHouse.cpp +++ b/src/OpDefs/GopHouse.cpp @@ -48,7 +48,7 @@ void GOP_house::cookOp(enzo::op::Context context) for(int i=0; i