okteta
primitivescriptclass.cpp
Go to the documentation of this file.
31 PrimitiveScriptClass::PrimitiveScriptClass(QScriptEngine* engine, ScriptHandlerInfo* handlerInfo)
35 mIterableProperties.append(qMakePair(s_value, QScriptValue::ReadOnly | QScriptValue::Undeletable));
37 mIterableProperties.append(qMakePair(s_type, QScriptValue::ReadOnly | QScriptValue::Undeletable));
40 mIterableProperties.append(qMakePair(s_bool, QScriptValue::ReadOnly | QScriptValue::Undeletable));
42 mIterableProperties.append(qMakePair(s_char, QScriptValue::ReadOnly | QScriptValue::Undeletable));
44 mIterableProperties.append(qMakePair(s_double, QScriptValue::ReadOnly | QScriptValue::Undeletable));
46 mIterableProperties.append(qMakePair(s_float, QScriptValue::ReadOnly | QScriptValue::Undeletable));
48 mIterableProperties.append(qMakePair(s_int, QScriptValue::ReadOnly | QScriptValue::Undeletable));
50 mIterableProperties.append(qMakePair(s_int8, QScriptValue::ReadOnly | QScriptValue::Undeletable));
52 mIterableProperties.append(qMakePair(s_int16, QScriptValue::ReadOnly | QScriptValue::Undeletable));
54 mIterableProperties.append(qMakePair(s_int32, QScriptValue::ReadOnly | QScriptValue::Undeletable));
56 mIterableProperties.append(qMakePair(s_int64low32, QScriptValue::ReadOnly | QScriptValue::Undeletable));
58 mIterableProperties.append(qMakePair(s_int64high32, QScriptValue::ReadOnly | QScriptValue::Undeletable));
60 mIterableProperties.append(qMakePair(s_int64, QScriptValue::ReadOnly | QScriptValue::Undeletable));
62 mIterableProperties.append(qMakePair(s_uint, QScriptValue::ReadOnly | QScriptValue::Undeletable));
64 mIterableProperties.append(qMakePair(s_uint8, QScriptValue::ReadOnly | QScriptValue::Undeletable));
66 mIterableProperties.append(qMakePair(s_uint16, QScriptValue::ReadOnly | QScriptValue::Undeletable));
68 mIterableProperties.append(qMakePair(s_uint32, QScriptValue::ReadOnly | QScriptValue::Undeletable));
70 mIterableProperties.append(qMakePair(s_uint64low32, QScriptValue::ReadOnly | QScriptValue::Undeletable));
72 mIterableProperties.append(qMakePair(s_uint64high32, QScriptValue::ReadOnly | QScriptValue::Undeletable));
74 mIterableProperties.append(qMakePair(s_uint64, QScriptValue::ReadOnly | QScriptValue::Undeletable));
77 mPrimitivePrototype.setProperty(QLatin1String("toString"), engine->newFunction(Primitive_proto_toString));
84 bool PrimitiveScriptClass::queryAdditionalProperty(const DataInformation* data, const QScriptString& name, QScriptClass::QueryFlags* flags, uint*)
97 || name == s_int16 || name == s_int32 || name == s_uint8 || name == s_uint16 || name == s_uint32)
105 bool PrimitiveScriptClass::additionalPropertyFlags(const DataInformation*, const QScriptString&, uint, QScriptValue::PropertyFlags*)
111 QScriptValue PrimitiveScriptClass::additionalProperty(const DataInformation* data, const QScriptString& name, uint)
122 pData->logError() << "Attempting to read from uninitialized value. Callee was " << cause->fullObjectPath();
124 pData->logError() << "Attempting to read from uninitialized value. Callee could not be determined";
139 return QString(value.value<quint8>() > 127 ? QChar::ReplacementCharacter : QChar(value.value<qint8>(), 0));
169 bool PrimitiveScriptClass::setAdditionalProperty(DataInformation* data, const QScriptString& name, uint, const QScriptValue& value)
183 QScriptValue PrimitiveScriptClass::Primitive_proto_toString(QScriptContext* ctx, QScriptEngine* eng)
QString valueString() const
by default just returns an empty QString
Definition: datainformation.h:414
Interface that must be implemented by all datatypes.
Definition: datainformation.h:67
PrimitiveScriptClass(QScriptEngine *engine, ScriptHandlerInfo *handlerInfo)
Definition: primitivescriptclass.cpp:31
virtual AllPrimitiveTypes value() const =0
virtual QScriptValue additionalProperty(const DataInformation *data, const QScriptString &name, uint id)
Definition: primitivescriptclass.cpp:111
virtual PrimitiveDataType type() const =0
QScriptString s_uint64high32
Definition: primitivescriptclass.h:59
static DataInformation * toDataInformation(const QScriptValue &val)
Convert a QScriptValue to DataInformation than qscriptvalue_cast, since we know exactly what to expec...
Definition: defaultscriptclass.cpp:75
PrimitiveDataInformation * asPrimitive()
QString standardTypeName(PrimitiveDataType type)
Definition: primitivedatatype.cpp:76
PropertyInfoList mIterableProperties
Contains all properties of this class, classes inheriting should add their own properties to this lis...
Definition: defaultscriptclass.h:82
virtual QScriptValue valueAsQScriptValue() const =0
T value() const
Definition: scripthandlerinfo.h:39
virtual bool queryAdditionalProperty(const DataInformation *data, const QScriptString &name, QScriptClass::QueryFlags *flags, uint *id)
Definition: primitivescriptclass.cpp:84
QScriptValue mPrimitivePrototype
Definition: primitivescriptclass.h:67
virtual ~PrimitiveScriptClass()
Definition: primitivescriptclass.cpp:80
virtual bool additionalPropertyFlags(const DataInformation *data, const QScriptString &name, uint, QScriptValue::PropertyFlags *flags)
Definition: primitivescriptclass.cpp:105
This union holds the value of one primitive datatype.
Definition: allprimitivetypes.h:70
Definition: defaultscriptclass.h:36
virtual bool setAdditionalProperty(DataInformation *data, const QScriptString &name, uint id, const QScriptValue &value)
Definition: primitivescriptclass.cpp:169
virtual bool isBitfield() const
Definition: datainformationbase.cpp:65
A base class for all primitive data elements (e.g.
Definition: primitivedatainformation.h:34
static QScriptValue Primitive_proto_toString(QScriptContext *ctx, QScriptEngine *eng)
Definition: primitivescriptclass.cpp:183
virtual QScriptValue prototype() const
Definition: primitivescriptclass.cpp:178
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.