PIValueTreeEdit develop ...

This commit is contained in:
2022-12-13 21:44:44 +03:00
parent a1a001035f
commit 3d3892a126
9 changed files with 492 additions and 137 deletions

View File

@@ -21,14 +21,16 @@
#define pivariant_edit_widgets_H
#include "pivariant_edit.h"
#include <piqt.h>
#include <QCheckBox>
#include <QSpinBox>
#include <QComboBox>
#include <QDateEdit>
#include <QDoubleSpinBox>
#include <QSpinBox>
#include <QTimeEdit>
#include <clineedit.h>
#include <colorbutton.h>
#include <QTimeEdit>
#include <QDateEdit>
#include <piqt.h>
namespace PIVariantEditors {
@@ -39,8 +41,9 @@ public:
widget = new QCheckBox();
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setChecked(v.toBool());}
PIVariant value() const override {return widget->isChecked();}
void setValue(const PIVariant & v) override { widget->setChecked(v.toBool()); }
PIVariant value() const override { return widget->isChecked(); }
private:
QCheckBox * widget;
};
@@ -53,9 +56,10 @@ public:
widget->setRange(-std::numeric_limits<int>::max(), std::numeric_limits<int>::max());
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setValue(v.toInt());}
PIVariant value() const override {return widget->value();}
void setValue(const PIVariant & v) override { widget->setValue(v.toInt()); }
PIVariant value() const override { return widget->value(); }
PIVariantMap defaultAttributes() const override;
private:
void applyAttributes(const PIVariantMap & a) override;
QSpinBox * widget;
@@ -69,13 +73,13 @@ public:
widget->setRange(-std::numeric_limits<float>::max(), std::numeric_limits<float>::max());
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setValue(v.toDouble());}
PIVariant value() const override {return widget->value();}
void setValue(const PIVariant & v) override { widget->setValue(v.toDouble()); }
PIVariant value() const override { return widget->value(); }
PIVariantMap defaultAttributes() const override;
private:
void applyAttributes(const PIVariantMap & a) override;
QDoubleSpinBox * widget;
};
@@ -85,13 +89,13 @@ public:
widget = new CLineEdit();
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setText(PI2QString(v.toString()));}
PIVariant value() const override {return Q2PIString(widget->text());}
void setValue(const PIVariant & v) override { widget->setText(PI2QString(v.toString())); }
PIVariant value() const override { return Q2PIString(widget->text()); }
PIVariantMap defaultAttributes() const override;
private:
void applyAttributes(const PIVariantMap & a) override;
CLineEdit * widget;
};
@@ -101,9 +105,10 @@ public:
widget = new ColorButton();
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setColor(PI2QColor(v.toColor()));}
PIVariant value() const override {return Q2PIColor(widget->color());}
void setValue(const PIVariant & v) override { widget->setColor(PI2QColor(v.toColor())); }
PIVariant value() const override { return Q2PIColor(widget->color()); }
PIVariantMap defaultAttributes() const override;
private:
void applyAttributes(const PIVariantMap & a) override;
ColorButton * widget;
@@ -117,9 +122,10 @@ public:
widget->setDisplayFormat("h:mm:ss");
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setTime(PI2QTime(v.toTime()));}
PIVariant value() const override {return Q2PITime(widget->time());}
PIVariantMap defaultAttributes() const override {return {};}
void setValue(const PIVariant & v) override { widget->setTime(PI2QTime(v.toTime())); }
PIVariant value() const override { return Q2PITime(widget->time()); }
PIVariantMap defaultAttributes() const override { return {}; }
private:
void applyAttributes(const PIVariantMap & a) override;
QTimeEdit * widget;
@@ -133,9 +139,10 @@ public:
widget->setDisplayFormat("d.MM.yyyy");
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setDate(PI2QDate(v.toDate()));}
PIVariant value() const override {return Q2PIDate(widget->date());}
PIVariantMap defaultAttributes() const override {return {};}
void setValue(const PIVariant & v) override { widget->setDate(PI2QDate(v.toDate())); }
PIVariant value() const override { return Q2PIDate(widget->date()); }
PIVariantMap defaultAttributes() const override { return {}; }
private:
void applyAttributes(const PIVariantMap & a) override;
QDateEdit * widget;
@@ -149,16 +156,34 @@ public:
widget->setDisplayFormat("d.MM.yyyy h:mm:ss");
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override {widget->setDateTime(PI2QDateTime(v.toDateTime()));}
PIVariant value() const override {return Q2PIDateTime(widget->dateTime());}
PIVariantMap defaultAttributes() const override {return {};}
void setValue(const PIVariant & v) override { widget->setDateTime(PI2QDateTime(v.toDateTime())); }
PIVariant value() const override { return Q2PIDateTime(widget->dateTime()); }
PIVariantMap defaultAttributes() const override { return {}; }
private:
void applyAttributes(const PIVariantMap & a) override;
QDateTimeEdit * widget;
};
class QAD_PIQT_UTILS_EXPORT Enum: public PIVariantEditorBase {
public:
Enum() {
widget = new QComboBox();
layout()->addWidget(widget);
}
void setValue(const PIVariant & v) override;
PIVariant value() const override;
PIVariantMap defaultAttributes() const override { return {}; }
private:
void applyAttributes(const PIVariantMap & a) override;
mutable PIVariantTypes::Enum src;
QComboBox * widget;
};
}; // namespace PIVariantEditors
#endif