|
|
|
|
@@ -110,7 +110,7 @@ void PIVariant::setValueFromString(const PIString & v) {
|
|
|
|
|
case PIVariant::pivEnum: {PIVariantTypes::Enum r = toEnum(); r.selectName(v); setValue(r);} break;
|
|
|
|
|
case PIVariant::pivFile: {PIVariantTypes::File r = toFile(); r.file = v; setValue(r);} break;
|
|
|
|
|
case PIVariant::pivDir: {PIVariantTypes::Dir r = toDir(); r.dir = v; setValue(r);} break;
|
|
|
|
|
case PIVariant::pivColor: {setValue(PIVariantTypes::Color(v.mid(1).toUInt(16)));} break;
|
|
|
|
|
case PIVariant::pivColor: {if (v.startsWith('#')) setValue(PIVariantTypes::Color(v.mid(1).toUInt(16))); else setValue(PIVariantTypes::Color(v.toUInt()));} break;
|
|
|
|
|
case PIVariant::pivIODevice: {setValue(PIVariantTypes::IODevice());} break; // TODO
|
|
|
|
|
case PIVariant::pivPoint: {PIStringList l = v.split(';'); if (l.size() >= 2) setValue(PIPointd(l[0].toDouble(), l[1].toDouble()));} break;
|
|
|
|
|
case PIVariant::pivRect: {PIStringList l = v.split(';'); if (l.size() >= 4) setValue(PIRectd(l[0].toDouble(), l[1].toDouble(), l[2].toDouble(), l[3].toDouble()));} break;
|
|
|
|
|
@@ -181,16 +181,16 @@ PIVariant::Type PIVariant::typeFromName(const PIString & tname) {
|
|
|
|
|
if (s == "pidate" || s == "date") return PIVariant::pivDate;
|
|
|
|
|
if (s == "pidatetime" || s == "datetime") return PIVariant::pivDateTime;
|
|
|
|
|
if (s == "pisystemtime" || s == "systemtime") return PIVariant::pivSystemTime;
|
|
|
|
|
if (s == "enum") return PIVariant::pivEnum;
|
|
|
|
|
if (s == "file" || s == "path") return PIVariant::pivFile;
|
|
|
|
|
if (s == "dir" || s == "directory") return PIVariant::pivDir;
|
|
|
|
|
if (s == "color") return PIVariant::pivColor;
|
|
|
|
|
if (s == "point") return PIVariant::pivPoint;
|
|
|
|
|
if (s == "rect") return PIVariant::pivRect;
|
|
|
|
|
if (s == "vector") return PIVariant::pivMathVector;
|
|
|
|
|
if (s == "matrix") return PIVariant::pivMathMatrix;
|
|
|
|
|
if (s == "line") return PIVariant::pivLine;
|
|
|
|
|
if (s == "device" || s == "iodevice") return PIVariant::pivIODevice;
|
|
|
|
|
if (s == "pivarianttypes::enum" || s == "enum") return PIVariant::pivEnum;
|
|
|
|
|
if (s == "pivarianttypes::file" || s == "file" || s == "path") return PIVariant::pivFile;
|
|
|
|
|
if (s == "pivarianttypes::dir" || s == "dir" || s == "directory") return PIVariant::pivDir;
|
|
|
|
|
if (s == "pivarianttypes::color" || s == "color") return PIVariant::pivColor;
|
|
|
|
|
if (s == "pivarianttypes::iodevice" || s == "device" || s == "iodevice") return PIVariant::pivIODevice;
|
|
|
|
|
if (s == "pipointd" || s == "point") return PIVariant::pivPoint;
|
|
|
|
|
if (s == "pirectd" || s == "rect") return PIVariant::pivRect;
|
|
|
|
|
if (s == "pimathvectord" || s == "vector") return PIVariant::pivMathVector;
|
|
|
|
|
if (s == "pimathmatrixd" || s == "matrix") return PIVariant::pivMathMatrix;
|
|
|
|
|
if (s == "pilined" || s == "line") return PIVariant::pivLine;
|
|
|
|
|
return PIVariant::pivInvalid;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -822,7 +822,7 @@ PIString PIVariant::toString() const {
|
|
|
|
|
case PIVariant::pivEnum: {PIVariantTypes::Enum r; ba >> r; return r.selectedName();}
|
|
|
|
|
case PIVariant::pivFile: {PIVariantTypes::File r; ba >> r; return r.file;}
|
|
|
|
|
case PIVariant::pivDir: {PIVariantTypes::Dir r; ba >> r; return r.dir;}
|
|
|
|
|
case PIVariant::pivColor: {PIVariantTypes::Color r; ba >> r; return "#" + PIString::fromNumber(r.rgba, 16);}
|
|
|
|
|
case PIVariant::pivColor: {PIVariantTypes::Color r; ba >> r; return "0x" + PIString::fromNumber(r.rgba, 16);}
|
|
|
|
|
case PIVariant::pivIODevice: {PIVariantTypes::IODevice r; ba >> r; return "IODevice";} // TODO
|
|
|
|
|
case PIVariant::pivPoint: {PIPointd r; ba >> r; return PIString::fromNumber(r.x) + ";" + PIString::fromNumber(r.y);} break;
|
|
|
|
|
case PIVariant::pivRect: {PIRectd r; ba >> r; return PIString::fromNumber(r.left()) + ";" + PIString::fromNumber(r.bottom()) + ";" + PIString::fromNumber(r.width()) + ";" + PIString::fromNumber(r.height());} break;
|
|
|
|
|
@@ -990,7 +990,9 @@ PIVariantTypes::Dir PIVariant::toDir() const {
|
|
|
|
|
//!
|
|
|
|
|
PIVariantTypes::Color PIVariant::toColor() const {
|
|
|
|
|
PIByteArray ba(_content);
|
|
|
|
|
if (_type == PIVariant::pivString) {PIString r; ba >> r; return PIVariantTypes::Color(r.mid(1).toUInt(16));}
|
|
|
|
|
if (_type == PIVariant::pivString) {PIString r; ba >> r;
|
|
|
|
|
if (r.startsWith('#')) return PIVariantTypes::Color(r.mid(1).toUInt(16));
|
|
|
|
|
else return PIVariantTypes::Color(r.toUInt());}
|
|
|
|
|
if (_type == PIVariant::pivColor) {PIVariantTypes::Color r; ba >> r; return r;}
|
|
|
|
|
if (_type == PIVariant::pivInt) {int v; ba >> v; return PIVariantTypes::Color(v);}
|
|
|
|
|
if (_type == PIVariant::pivCustom) {return getAsValue<PIVariantTypes::Color>(*this);}
|
|
|
|
|
|