okteta
defaultscriptclass.cpp
Go to the documentation of this file.
56 mDefaultPrototype.setProperty(QLatin1String("toString"), engine->newFunction(Default_proto_toString));
58 mIterableProperties.append(qMakePair(s_parent, QScriptValue::ReadOnly | QScriptValue::Undeletable));
59 mIterableProperties.append(qMakePair(s_name, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
60 mIterableProperties.append(qMakePair(s_wasAbleToRead, QScriptValue::ReadOnly | QScriptValue::Undeletable));
61 mIterableProperties.append(qMakePair(s_byteOrder, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
62 mIterableProperties.append(qMakePair(s_valid, QScriptValue::ReadOnly | QScriptValue::Undeletable));
63 mIterableProperties.append(qMakePair(s_validationError, QScriptValue::ReadOnly | QScriptValue::Undeletable));
64 mIterableProperties.append(qMakePair(s_validationFunc, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
65 mIterableProperties.append(qMakePair(s_updateFunc, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
66 mIterableProperties.append(qMakePair(s_datatype, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
67 mIterableProperties.append(qMakePair(s_customTypeName, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
68 mIterableProperties.append(qMakePair(s_asStringFunc, QScriptValue::PropertyFlags(QScriptValue::Undeletable)));
81 if (variant.isValid() && variant.canConvert<SafeReference>() && variant.userType() == qMetaTypeId<SafeReference>())
108 //the only properties that are possibly writable when not updating are valid and validationError
135 QScriptValue DefaultScriptClass::property(const QScriptValue& object, const QScriptString& name, uint id)
209 //this object always has mHasBeenUpdated set just before calling updateFunc, so in that case it is okay
212 //this element has already been updated (and probably read, replacing it could cause crazy errors
218 DataInformation* newType = ScriptValueConverter::convert(value, data->name(), data->logger(), data);
281 void DefaultScriptClass::setProperty(QScriptValue& object, const QScriptString& name, uint id, const QScriptValue& value)
309 data->logError() << "Writing to property" << name.toString() << "is only allowed when updating.";
361 QScriptValue::PropertyFlags DefaultScriptClass::propertyFlags(const QScriptValue& object, const QScriptString& name, uint id)
402 QScriptValue DefaultScriptClass::Default_proto_toString(QScriptContext* ctx, QScriptEngine* eng)
419 DefaultscriptClassIterator::DefaultscriptClassIterator(const QScriptValue& object, DefaultScriptClass* cls)
443 Q_ASSERT(mCurrent >= 0 && (uint)mCurrent < mClass->mIterableProperties.size() + mData->childCount());
456 Q_ASSERT(mCurrent >= 0 && (uint)mCurrent < mClass->mIterableProperties.size() + mData->childCount());
466 Q_ASSERT(mCurrent >= 0 && (uint)mCurrent < mClass->mIterableProperties.size() + mData->childCount());
477 Q_ASSERT(mCurrent == -1 || (uint)mCurrent < mClass->mIterableProperties.size() + mData->childCount());
Interface that must be implemented by all datatypes.
Definition: datainformation.h:67
Definition: scriptlogger.h:94
TopLevelDataInformation * topLevelDataInformation() const
Definition: datainformation.cpp:240
virtual unsigned int childCount() const
Definition: datainformationwithchildren.h:77
void setPointerTarget(DataInformation *target)
Set a new pointer target.
Definition: pointerdatainformation.h:89
PointerDataInformation * asPointer()
virtual unsigned int childCount() const =0
Definition: datainformation.h:278
virtual QScriptValue::PropertyFlags flags() const
Definition: defaultscriptclass.cpp:454
virtual QScriptString name() const
Definition: defaultscriptclass.cpp:441
A class wrapping a DataInformation* As soon as that DataInformation is destroyed all references to it...
Definition: safereference.h:52
const QString PROPERTY_CUSTOM_TYPE_NAME
Definition: parserutils.h:124
const QString PROPERTY_TO_STRING_FUNC
Definition: parserutils.h:122
virtual QScriptValue property(const QScriptValue &object, const QScriptString &name, uint id)
Definition: defaultscriptclass.cpp:135
void setActualDataInformation(DataInformation *newData)
Definition: topleveldatainformation.cpp:261
void setValidationFunc(const QScriptValue &func)
Definition: datainformation.h:374
DefaultscriptClassIterator(const QScriptValue &object, DefaultScriptClass *cls)
Definition: defaultscriptclass.cpp:419
virtual bool hasNext() const
Definition: defaultscriptclass.cpp:431
virtual DataInformation * childAt(unsigned int) const =0
Definition: datainformation.h:268
void setToStringFunction(const QScriptValue &value)
Definition: datainformation.h:379
virtual int indexOf(const DataInformation *const data) const
Find the index of a DataInformation in this object, needed to calculate the row.
Definition: datainformationwithchildren.cpp:165
QScriptString s_customTypeName
Definition: defaultscriptclass.h:79
static QScriptValue Default_proto_toString(QScriptContext *ctx, QScriptEngine *eng)
Definition: defaultscriptclass.cpp:402
void setByteOrder(DataInformationEndianess newEndianess)
Definition: datainformation.h:293
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
virtual QScriptValue additionalProperty(const DataInformation *data, const QScriptString &name, uint id)=0
DefaultScriptClass(QScriptEngine *engine, ScriptHandlerInfo *handlerInfo)
Definition: defaultscriptclass.cpp:38
virtual bool isTopLevel() const =0
QScriptString s_validationFunc
Definition: defaultscriptclass.h:78
TopLevelDataInformation * asTopLevel()
Definition: datainformationbase.cpp:85
virtual QScriptValue toScriptValue(QScriptEngine *engine, ScriptHandlerInfo *handlerInfo)
This method is virtual since DummyDataInformation has to override it.
Definition: datainformation.cpp:275
friend class DefaultscriptClassIterator
Definition: defaultscriptclass.h:38
virtual QScriptValue::PropertyFlags propertyFlags(const QScriptValue &object, const QScriptString &name, uint id)
Definition: defaultscriptclass.cpp:361
A class holding the data of a union for Okteta.
Definition: uniondatainformation.h:28
PropertyInfoList mIterableProperties
Contains all properties of this class, classes inheriting should add their own properties to this lis...
Definition: defaultscriptclass.h:82
QString byteOrderToString(DataInformation::DataInformationEndianess order)
Definition: parserutils.cpp:137
void setCustomTypeName(const QString &customTypeName)
Set a custom string to be used for typeName() instead of the default.
Definition: datainformation.cpp:103
Mode
The type of function that is being evaluated (most writing is only allowed when updating) ...
Definition: scripthandlerinfo.h:45
virtual bool replaceChildAt(unsigned int index, DataInformation *newChild)
replaces child at index with newChild.
Definition: datainformationwithchildren.cpp:210
QScriptString s_validationError
Definition: defaultscriptclass.h:72
virtual QVariant data(int column, int role) const
get the necessary data (for the model)
Definition: datainformation.cpp:156
virtual bool setAdditionalProperty(DataInformation *data, const QScriptString &name, uint id, const QScriptValue &value)=0
virtual bool queryAdditionalProperty(const DataInformation *data, const QScriptString &name, QueryFlags *flags, uint *id)=0
const QString PROPERTY_VALIDATION_FUNC
Definition: parserutils.h:121
virtual ~DefaultScriptClass()
Definition: defaultscriptclass.cpp:71
StructureDataInformation * asStruct()
Definition: scripthandlerinfo.h:39
DataInformation * convert(const QScriptValue &value, const QString &name, ScriptLogger *logger, DataInformation *parent)
If the value is one element.
Definition: scriptvalueconverter.cpp:36
UnionDataInformation * asUnion()
Definition: datainformationbase.h:44
void setChildDataChanged()
Definition: topleveldatainformation.h:164
DataInformation::DataInformationEndianess byteOrderFromString(const QString &string, const LoggerWithContext &logger)
Definition: parserutils.cpp:67
virtual bool hasPrevious() const
Definition: defaultscriptclass.cpp:436
QScriptValue mDefaultPrototype
Definition: defaultscriptclass.h:83
virtual QScriptClassPropertyIterator * newIterator(const QScriptValue &object)
Definition: defaultscriptclass.cpp:414
const QString PROPERTY_ABLE_TO_READ
Definition: parserutils.h:119
Definition: defaultscriptclass.h:36
virtual void setProperty(QScriptValue &object, const QScriptString &name, uint id, const QScriptValue &value)
Definition: defaultscriptclass.cpp:281
virtual bool additionalPropertyFlags(const DataInformation *data, const QScriptString &name, uint id, QScriptValue::PropertyFlags *flags)=0
void setUpdateFunc(const QScriptValue &func)
Definition: datainformation.h:369
Definition: scripthandlerinfo.h:46
virtual QScriptValue prototype() const
Definition: defaultscriptclass.cpp:397
virtual ~DefaultscriptClassIterator()
Definition: defaultscriptclass.cpp:427
virtual QueryFlags queryProperty(const QScriptValue &object, const QScriptString &name, QueryFlags flags, uint *id)
Definition: defaultscriptclass.cpp:89
A class holding the data of a struct for Okteta.
Definition: structuredatainformation.h:28
const QString PROPERTY_VALIDATION_ERROR
Definition: parserutils.h:117
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.