static void setValue(void *dst, valuetype_t dstType, PropertyValue const &pvalue) { switch (dstType) { case DDVT_FIXED: *((fixed_t *) dst) = pvalue.asFixed(); break; case DDVT_FLOAT: *( (float *) dst) = pvalue.asFloat(); break; case DDVT_DOUBLE: *( (double *) dst) = pvalue.asDouble(); break; case DDVT_BYTE: *( (byte *) dst) = pvalue.asByte(); break; case DDVT_INT: *( (int *) dst) = pvalue.asInt32(); break; case DDVT_SHORT: *( (short *) dst) = pvalue.asInt16(); break; case DDVT_ANGLE: *((angle_t *) dst) = pvalue.asAngle(); break; default: throw Error("setValue", QString("Unknown value type %d").arg(dstType)); } }