ParameterEntryWidget replaced with ParameterVirtualWidget( a virtual class ) in ParameterWidget

This commit is contained in:
amarjeetkapoor1 2016-05-26 21:00:26 +05:30
parent 8466c7feba
commit a89103bc30
8 changed files with 144 additions and 13 deletions

View file

@ -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

View file

@ -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();
}

View file

@ -51,6 +51,6 @@ signals:
protected:
void connectWidget();
void begin();
void addEntry(class ParameterEntryWidget *entry);
void addEntry(class ParameterVirtualWidget *entry);
void end();
};

View file

@ -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
View 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
View 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

View 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);
}

View 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