diff --git a/examples/Parametric/sign.scad b/examples/Parametric/sign.scad index 735e434d..8f8be9c2 100644 --- a/examples/Parametric/sign.scad +++ b/examples/Parametric/sign.scad @@ -1,10 +1,10 @@ @Description("The resolution of the curves. Higher values give smoother curves but may increase the model render time.") -@Parameter([10, 20, 30, 50, 100]) +@Parameter() resolution = 30; @Description("The horizontal radius of the outer ellipse of the sign.") -@Parameter([60 : 200]) -radius = 80; +@Parameter([60: 200]) +radius = 100; @Parameter([1 : 10]) @Description("Total height of the sign") diff --git a/src/ParameterEntryWidget.cc b/src/ParameterEntryWidget.cc index 43474a80..24a4473d 100644 --- a/src/ParameterEntryWidget.cc +++ b/src/ParameterEntryWidget.cc @@ -121,10 +121,6 @@ bool ParameterEntryWidget::isDefaultValue() return object.value == object.defaultValue; } -void ParameterEntryWidget::applyParameter(Assignment *assignment) -{ - object.applyParameter(assignment); -} void ParameterEntryWidget::setAssignment(Context *ctx, const Assignment *assignment, const ValuePtr defaultValue) { diff --git a/src/ParameterEntryWidget.h b/src/ParameterEntryWidget.h index 29137c87..1f99165e 100644 --- a/src/ParameterEntryWidget.h +++ b/src/ParameterEntryWidget.h @@ -35,16 +35,16 @@ class ParameterEntryWidget : public QWidget, public Ui::ParameterEntryWidget { Q_OBJECT - ParameterObject object; + public: + ParameterObject object; ParameterEntryWidget(QWidget *parent = 0); virtual ~ParameterEntryWidget(); - ValuePtr getValue(); - bool isDefaultValue(); - void setAssignment(class Context *context, const class Assignment *assignment, const ValuePtr defaultValue); - void applyParameter(class Assignment *assignment); + ValuePtr getValue(); + bool isDefaultValue(); + void setAssignment(class Context *context, const class Assignment *assignment, const ValuePtr defaultValue); protected slots: void on_comboBox_activated(int); diff --git a/src/ParameterWidget.cc b/src/ParameterWidget.cc index 529d7ac7..ea9f828f 100644 --- a/src/ParameterWidget.cc +++ b/src/ParameterWidget.cc @@ -106,7 +106,7 @@ void ParameterWidget::applyParameters(FileModule *fileModule) continue; } - (*entry).second->applyParameter(&(*it)); + (*entry).second->applyParameter(&(*it)); } } @@ -134,8 +134,8 @@ void ParameterWidget::setParameters(const Module *module) ParameterEntryWidget *entry = new ParameterEntryWidget(); entry->setAssignment(&ctx, &assignment, defaultValue); connect(entry, SIGNAL(changed()), this, SLOT(onValueChanged())); - addEntry(entry); - entries[assignment.first] = entry; + addEntry(entry); + entries[assignment.first] = &(entry->object); } end(); diff --git a/src/ParameterWidget.h b/src/ParameterWidget.h index e0eb3395..b9d5e4e4 100644 --- a/src/ParameterWidget.h +++ b/src/ParameterWidget.h @@ -28,13 +28,14 @@ #include #include "qtgettext.h" +#include "parameterobject.h" #include "ui_ParameterWidget.h" class ParameterWidget : public QWidget, public Ui::ParameterWidget { Q_OBJECT - typedef std::map entry_map_t; + typedef std::map entry_map_t; QTimer autoPreviewTimer; entry_map_t entries;