ParameterEntryWidget replaced with ParameterVirtualWidget( a virtual class ) in ParameterWidget
This commit is contained in:
parent
8466c7feba
commit
a89103bc30
8 changed files with 144 additions and 13 deletions
10
openscad.pro
10
openscad.pro
|
|
@ -230,7 +230,7 @@ FORMS += src/MainWindow.ui \
|
|||
src/ParameterWidget.ui \
|
||||
src/ParameterEntryWidget.ui \
|
||||
src/launchingscreen.ui \
|
||||
src/LibraryInfoDialog.ui
|
||||
src/LibraryInfoDialog.ui \
|
||||
|
||||
HEADERS += src/typedefs.h \
|
||||
src/version_check.h \
|
||||
|
|
@ -339,7 +339,9 @@ HEADERS += src/typedefs.h \
|
|||
src/legacyeditor.h \
|
||||
src/LibraryInfoDialog.h \
|
||||
src/parameterobject.h \
|
||||
src/parameterextractor.h
|
||||
src/parameterextractor.h \
|
||||
src/parametervirtualwidget.h \
|
||||
src/parameterspinbox.h
|
||||
|
||||
SOURCES += src/version_check.cc \
|
||||
src/ProgressWidget.cc \
|
||||
|
|
@ -453,7 +455,9 @@ SOURCES += src/version_check.cc \
|
|||
src/legacyeditor.cc \
|
||||
src/LibraryInfoDialog.cc \
|
||||
src/parameterobject.cpp \
|
||||
src/parameterextractor.cpp
|
||||
src/parameterextractor.cpp \
|
||||
src/parametervirtualwidget.cpp \
|
||||
src/parameterspinbox.cpp
|
||||
|
||||
# ClipperLib
|
||||
SOURCES += src/polyclipping/clipper.cpp
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@
|
|||
#include <QWidget>
|
||||
|
||||
#include "ParameterWidget.h"
|
||||
#include "ParameterEntryWidget.h"
|
||||
|
||||
#include "parameterspinbox.h"
|
||||
#include "module.h"
|
||||
#include "modcontext.h"
|
||||
#include "expression.h"
|
||||
|
|
@ -39,7 +38,7 @@ ParameterWidget::ParameterWidget(QWidget *parent) : QWidget(parent)
|
|||
autoPreviewTimer.setInterval(500);
|
||||
autoPreviewTimer.setSingleShot(true);
|
||||
connect(&autoPreviewTimer, SIGNAL(timeout()), this, SLOT(onPreviewTimerElapsed()));
|
||||
connect(checkBoxAutoPreview, SIGNAL(toggled(bool)), this, SLOT(onValueChanged()));
|
||||
connect(checkBoxAutoPreview, SIGNAL(toggled(bool)), this, SLOT(onValueChanged()));
|
||||
}
|
||||
|
||||
ParameterWidget::~ParameterWidget()
|
||||
|
|
@ -69,7 +68,7 @@ void ParameterWidget::begin()
|
|||
}
|
||||
}
|
||||
|
||||
void ParameterWidget::addEntry(ParameterEntryWidget *entry)
|
||||
void ParameterWidget::addEntry(ParameterVirtualWidget *entry)
|
||||
{
|
||||
QSizePolicy policy;
|
||||
policy.setHorizontalPolicy(QSizePolicy::Expanding);
|
||||
|
|
@ -96,10 +95,17 @@ void ParameterWidget::connectWidget()
|
|||
{
|
||||
begin();
|
||||
for(entry_map_t::iterator it = entries.begin(); it != entries.end(); it++) {
|
||||
ParameterEntryWidget *entry = new ParameterEntryWidget();
|
||||
entry->setAssignment((it->second));
|
||||
connect(entry, SIGNAL(changed()), this, SLOT(onValueChanged()));
|
||||
addEntry(entry);
|
||||
ParameterVirtualWidget *entry ;
|
||||
switch (it->second->target) {
|
||||
case 5:
|
||||
{
|
||||
entry = new ParameterSpinBox(it->second);
|
||||
connect(entry, SIGNAL(changed()), this, SLOT(onValueChanged()));
|
||||
addEntry(entry);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
end();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,6 @@ signals:
|
|||
protected:
|
||||
void connectWidget();
|
||||
void begin();
|
||||
void addEntry(class ParameterEntryWidget *entry);
|
||||
void addEntry(class ParameterVirtualWidget *entry);
|
||||
void end();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "qtgettext.h"
|
||||
#include "parameterobject.h"
|
||||
#include "parametervirtualwidget.h"
|
||||
|
||||
class ParameterExtractor
|
||||
{
|
||||
|
|
@ -21,7 +22,7 @@ public:
|
|||
protected:
|
||||
|
||||
virtual void begin()=0;
|
||||
virtual void addEntry(class ParameterEntryWidget *entry)=0;
|
||||
virtual void addEntry(ParameterVirtualWidget *entry)=0;
|
||||
virtual void end()=0;
|
||||
virtual void connectWidget()=0;
|
||||
};
|
||||
|
|
|
|||
22
src/parameterspinbox.cpp
Normal file
22
src/parameterspinbox.cpp
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#include "parameterspinbox.h"
|
||||
|
||||
ParameterSpinBox::ParameterSpinBox(ParameterObject *parameterobject)
|
||||
{
|
||||
object=parameterobject;
|
||||
setName(QString::fromStdString(object->name));
|
||||
setValue();
|
||||
setDescription(QString::fromStdString(object->descritpion));
|
||||
}
|
||||
|
||||
void ParameterSpinBox::on_doubleSpinBox1_valueChanged(double){
|
||||
object->value = ValuePtr(doubleSpinBox1->value());
|
||||
emit changed();
|
||||
}
|
||||
|
||||
void ParameterSpinBox::setValue(){
|
||||
this->stackedWidget->setCurrentWidget(this->pageVector);
|
||||
this->doubleSpinBox1->setValue(object->value->toDouble());
|
||||
this->doubleSpinBox2->hide();
|
||||
this->doubleSpinBox3->hide();
|
||||
this->doubleSpinBox4->hide();
|
||||
}
|
||||
18
src/parameterspinbox.h
Normal file
18
src/parameterspinbox.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#ifndef PARAMETERSPINBOX_H
|
||||
#define PARAMETERSPINBOX_H
|
||||
|
||||
#include"parametervirtualwidget.h"
|
||||
#include "parameterobject.h"
|
||||
|
||||
class ParameterSpinBox : public ParameterVirtualWidget
|
||||
{
|
||||
public:
|
||||
|
||||
ParameterSpinBox(ParameterObject *parameterobject );
|
||||
void setValue();
|
||||
|
||||
protected slots:
|
||||
void on_doubleSpinBox1_valueChanged(double);
|
||||
};
|
||||
|
||||
#endif // PARAMETERSPINBOX_H
|
||||
41
src/parametervirtualwidget.cpp
Normal file
41
src/parametervirtualwidget.cpp
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
#include "parametervirtualwidget.h"
|
||||
|
||||
|
||||
#include "value.h"
|
||||
#include "typedefs.h"
|
||||
#include "expression.h"
|
||||
|
||||
ParameterVirtualWidget::ParameterVirtualWidget(QWidget *parent) :
|
||||
QWidget(parent)
|
||||
{
|
||||
setupUi(this);
|
||||
}
|
||||
|
||||
ParameterVirtualWidget::~ParameterVirtualWidget()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
ValuePtr ParameterVirtualWidget::getValue()
|
||||
{
|
||||
return object->value;
|
||||
}
|
||||
|
||||
bool ParameterVirtualWidget::isDefaultValue()
|
||||
{
|
||||
return object->value == object->defaultValue;
|
||||
}
|
||||
|
||||
void ParameterVirtualWidget::setName(const QString& name)
|
||||
{
|
||||
this->labelDescription->hide();
|
||||
this->labelParameter->setText(name);
|
||||
}
|
||||
|
||||
void ParameterVirtualWidget::setDescription(const QString& description)
|
||||
{
|
||||
this->labelDescription->show();
|
||||
this->labelDescription->setText(description);
|
||||
}
|
||||
39
src/parametervirtualwidget.h
Normal file
39
src/parametervirtualwidget.h
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#ifndef PARAMETERVIRTUALWIDGET_H
|
||||
#define PARAMETERVIRTUALWIDGET_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "value.h"
|
||||
#include "qtgettext.h"
|
||||
|
||||
#include "ui_ParameterEntryWidget.h"
|
||||
#include "parameterobject.h"
|
||||
|
||||
class ParameterVirtualWidget : public QWidget, public Ui::ParameterEntryWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ParameterObject *object;
|
||||
ParameterVirtualWidget(QWidget *parent = 0);
|
||||
virtual ~ParameterVirtualWidget();
|
||||
|
||||
ValuePtr getValue();
|
||||
bool isDefaultValue();
|
||||
|
||||
|
||||
protected slots:
|
||||
|
||||
virtual void on_doubleSpinBox1_valueChanged(double)=0;
|
||||
|
||||
|
||||
signals:
|
||||
void changed();
|
||||
|
||||
protected:
|
||||
void setName(const QString& name);
|
||||
virtual void setValue()=0;
|
||||
void setDescription(const QString& description);
|
||||
};
|
||||
|
||||
#endif // PARAMETERVIRTUALWIDGET_H
|
||||
Loading…
Reference in a new issue