PIValueTreeEdit develop ...
This commit is contained in:
@@ -1,32 +1,35 @@
|
||||
#include "pivariant_edit_widgets.h"
|
||||
#include "pivarianttypes.h"
|
||||
|
||||
#include "pivaluetree.h"
|
||||
#include "pivarianttypes.h"
|
||||
|
||||
#include <QEvent>
|
||||
#include <QMessageBox>
|
||||
|
||||
REGISTER_PIVARIANTEDITOR(bool, PIVariantEditors::Bool);
|
||||
REGISTER_PIVARIANTEDITOR( short, PIVariantEditors::Int);
|
||||
REGISTER_PIVARIANTEDITOR(short, PIVariantEditors::Int);
|
||||
REGISTER_PIVARIANTEDITOR(ushort, PIVariantEditors::Int);
|
||||
REGISTER_PIVARIANTEDITOR( int, PIVariantEditors::Int);
|
||||
REGISTER_PIVARIANTEDITOR(int, PIVariantEditors::Int);
|
||||
REGISTER_PIVARIANTEDITOR(uint, PIVariantEditors::Int);
|
||||
REGISTER_PIVARIANTEDITOR(float , PIVariantEditors::Double);
|
||||
REGISTER_PIVARIANTEDITOR(float, PIVariantEditors::Double);
|
||||
REGISTER_PIVARIANTEDITOR(double, PIVariantEditors::Double);
|
||||
REGISTER_PIVARIANTEDITOR(PIString, PIVariantEditors::String);
|
||||
REGISTER_PIVARIANTEDITOR(PITime, PIVariantEditors::Time);
|
||||
REGISTER_PIVARIANTEDITOR(PIDate, PIVariantEditors::Date);
|
||||
REGISTER_PIVARIANTEDITOR(PIDateTime, PIVariantEditors::DateTime);
|
||||
REGISTER_PIVARIANTEDITOR(PIVariantTypes::Color, PIVariantEditors::Color);
|
||||
REGISTER_PIVARIANTEDITOR(PIVariantTypes::Enum, PIVariantEditors::Enum);
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::Int
|
||||
|
||||
PIVariantMap PIVariantEditors::Int::defaultAttributes() const {
|
||||
return {
|
||||
{PIValueTree::attributeMinimum, widget->minimum()},
|
||||
{PIValueTree::attributeMaximum, widget->maximum()},
|
||||
{PIValueTree::attributeSingleStep, widget->singleStep()},
|
||||
{PIValueTree::attributePrefix, Q2PIString(widget->prefix())},
|
||||
{PIValueTree::attributeSuffix, Q2PIString(widget->suffix())},
|
||||
{PIValueTree::attributeMinimum, widget->minimum() },
|
||||
{PIValueTree::attributeMaximum, widget->maximum() },
|
||||
{PIValueTree::attributeSingleStep, widget->singleStep() },
|
||||
{PIValueTree::attributePrefix, Q2PIString(widget->prefix())},
|
||||
{PIValueTree::attributeSuffix, Q2PIString(widget->suffix())},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -41,16 +44,16 @@ void PIVariantEditors::Int::applyAttributes(const PIVariantMap & a) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::Double
|
||||
|
||||
PIVariantMap PIVariantEditors::Double::defaultAttributes() const {
|
||||
return {
|
||||
{PIValueTree::attributeMinimum, widget->minimum()},
|
||||
{PIValueTree::attributeMaximum, widget->maximum()},
|
||||
{PIValueTree::attributeSingleStep, widget->singleStep()},
|
||||
{PIValueTree::attributeDecimals, widget->decimals()},
|
||||
{PIValueTree::attributePrefix, Q2PIString(widget->prefix())},
|
||||
{PIValueTree::attributeSuffix, Q2PIString(widget->suffix())},
|
||||
{PIValueTree::attributeMinimum, widget->minimum() },
|
||||
{PIValueTree::attributeMaximum, widget->maximum() },
|
||||
{PIValueTree::attributeSingleStep, widget->singleStep() },
|
||||
{PIValueTree::attributeDecimals, widget->decimals() },
|
||||
{PIValueTree::attributePrefix, Q2PIString(widget->prefix())},
|
||||
{PIValueTree::attributeSuffix, Q2PIString(widget->suffix())},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -66,11 +69,10 @@ void PIVariantEditors::Double::applyAttributes(const PIVariantMap & a) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::String
|
||||
|
||||
PIVariantMap PIVariantEditors::String::defaultAttributes() const {
|
||||
return {
|
||||
};
|
||||
return {};
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +81,7 @@ void PIVariantEditors::String::applyAttributes(const PIVariantMap & a) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::Color
|
||||
|
||||
PIVariantMap PIVariantEditors::Color::defaultAttributes() const {
|
||||
return {
|
||||
@@ -94,22 +96,46 @@ void PIVariantEditors::Color::applyAttributes(const PIVariantMap & a) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::Time
|
||||
|
||||
void PIVariantEditors::Time::applyAttributes(const PIVariantMap & a) {
|
||||
widget->setReadOnly(a.value(PIValueTree::attributeReadOnly, widget->isReadOnly()).toBool());
|
||||
}
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::Date
|
||||
|
||||
void PIVariantEditors::Date::applyAttributes(const PIVariantMap & a) {
|
||||
widget->setReadOnly(a.value(PIValueTree::attributeReadOnly, widget->isReadOnly()).toBool());
|
||||
}
|
||||
|
||||
|
||||
|
||||
// PIVariantEditors::DateTime
|
||||
|
||||
void PIVariantEditors::DateTime::applyAttributes(const PIVariantMap & a) {
|
||||
widget->setReadOnly(a.value(PIValueTree::attributeReadOnly, widget->isReadOnly()).toBool());
|
||||
}
|
||||
|
||||
|
||||
// PIVariantEditors::Enum
|
||||
|
||||
void PIVariantEditors::Enum::setValue(const PIVariant & v) {
|
||||
src = v.toEnum();
|
||||
int sv = src.selectedValue();
|
||||
widget->clear();
|
||||
for (const auto & e: src.enum_list) {
|
||||
widget->addItem(PI2QString(e.name), e.value);
|
||||
if (e.value == sv) widget->setCurrentIndex(widget->count() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PIVariant PIVariantEditors::Enum::value() const {
|
||||
src.selectValue(widget->currentData().toInt());
|
||||
return src;
|
||||
}
|
||||
|
||||
|
||||
void PIVariantEditors::Enum::applyAttributes(const PIVariantMap & a) {
|
||||
widget->setEnabled(!a.value(PIValueTree::attributeReadOnly, !widget->isEnabled()).toBool());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user