PIVariantEdit, PIValueTreeEdit

This commit is contained in:
2022-11-29 18:08:39 +03:00
parent 5e49446607
commit 3ad11fe743
7 changed files with 754 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
#include "pivariant_edit_widgets.h"
#include "pivaluetree.h"
#include <QEvent>
#include <QMessageBox>
REGISTER_PIVARIANTEDITOR(bool, PIVariantEditorBool);
REGISTER_PIVARIANTEDITOR( short, PIVariantEditorInt);
REGISTER_PIVARIANTEDITOR(ushort, PIVariantEditorInt);
REGISTER_PIVARIANTEDITOR( int, PIVariantEditorInt);
REGISTER_PIVARIANTEDITOR(uint, PIVariantEditorInt);
REGISTER_PIVARIANTEDITOR(float , PIVariantEditorDouble);
REGISTER_PIVARIANTEDITOR(double, PIVariantEditorDouble);
PIVariantMap PIVariantEditorInt::defaultAttributes() const {
return {
{PIValueTree::attributeMinimum, widget->minimum()},
{PIValueTree::attributeMaximum, widget->maximum()},
{PIValueTree::attributeSingleStep, widget->singleStep()},
};
}
void PIVariantEditorInt::applyAttributes(const PIVariantMap & a) {
widget->setRange(a.value(PIValueTree::attributeMinimum, widget->minimum()).toInt(),
a.value(PIValueTree::attributeMaximum, widget->maximum()).toInt());
widget->setSingleStep(a.value(PIValueTree::attributeSingleStep, widget->singleStep()).toInt());
}
PIVariantMap PIVariantEditorDouble::defaultAttributes() const {
return {
{PIValueTree::attributeMinimum, widget->minimum()},
{PIValueTree::attributeMaximum, widget->maximum()},
{PIValueTree::attributeSingleStep, widget->singleStep()},
};
}
void PIVariantEditorDouble::applyAttributes(const PIVariantMap & a) {
widget->setRange(a.value(PIValueTree::attributeMinimum, widget->minimum()).toDouble(),
a.value(PIValueTree::attributeMaximum, widget->maximum()).toDouble());
widget->setSingleStep(a.value(PIValueTree::attributeSingleStep, widget->singleStep()).toDouble());
}