/** * QFontPropDescriptor.h * Copyright (c) 2013 ROBLOX Corp. All Rights Reserved. */ #pragma once // Qt Headers #include // Roblox Headers #include "reflection/Property.h" namespace RBX { template<> std::string StringConverter::convertToString(const QFont& value) { return value.toString().toStdString(); } template<> bool StringConverter::convertToValue(const std::string& text,QFont& value) { return value.fromString(text.c_str()); } namespace Reflection { template<> const Type& Type::getSingleton() { static TType type("QFont"); return type; } template<> int TypedPropertyDescriptor::getDataSize(const DescribedBase* instance) const { return sizeof(QDir) + getValue(instance).toString().size(); } template<> bool TypedPropertyDescriptor::hasStringValue() const { return true; } template<> std::string TypedPropertyDescriptor::getStringValue(const DescribedBase* instance) const { return StringConverter::convertToString(getValue(instance)); } template<> bool TypedPropertyDescriptor::setStringValue(DescribedBase* instance,const std::string& text) const { QFont value; if ( StringConverter::convertToValue(text,value) ) { setValue(instance,value); return true; } else return false; } template<> void TypedPropertyDescriptor::readValue( DescribedBase* instance, const XmlElement* element, IReferenceBinder& binder ) const { if (!element->isXsiNil() ) { std::string text; if ( element->getValue(text) ) { QFont value; value.fromString(text.c_str()); setValue(instance,value); } } } template<> void TypedPropertyDescriptor::writeValue(const DescribedBase* instance,XmlElement* element) const { QFont font = getValue(instance); element->setValue(font.toString().toStdString()); } template<> QFont& Variant::convert(void) { return genericConvert(); } } }