src/declarative/qml/qdeclarativevmemetaobject.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
   749         aInterceptors.resize(propertyCount() + metaData->propertyCount);
   749         aInterceptors.resize(propertyCount() + metaData->propertyCount);
   750     aInterceptors.setBit(index);
   750     aInterceptors.setBit(index);
   751     interceptors.insert(index, qMakePair(valueIndex, interceptor));
   751     interceptors.insert(index, qMakePair(valueIndex, interceptor));
   752 }
   752 }
   753 
   753 
       
   754 int QDeclarativeVMEMetaObject::vmeMethodLineNumber(int index)
       
   755 {
       
   756     if (index < methodOffset) {
       
   757         Q_ASSERT(parent);
       
   758         return static_cast<QDeclarativeVMEMetaObject *>(parent)->vmeMethodLineNumber(index);
       
   759     }
       
   760 
       
   761     int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount;
       
   762     Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount));
       
   763 
       
   764     int rawIndex = index - methodOffset - plainSignals;
       
   765 
       
   766     QDeclarativeVMEMetaData::MethodData *data = metaData->methodData() + rawIndex;
       
   767     return data->lineNumber;
       
   768 }
       
   769 
   754 QScriptValue QDeclarativeVMEMetaObject::vmeMethod(int index)
   770 QScriptValue QDeclarativeVMEMetaObject::vmeMethod(int index)
   755 {
   771 {
   756     if (index < methodOffset) {
   772     if (index < methodOffset) {
   757         Q_ASSERT(parent);
   773         Q_ASSERT(parent);
   758         return static_cast<QDeclarativeVMEMetaObject *>(parent)->vmeMethod(index);
   774         return static_cast<QDeclarativeVMEMetaObject *>(parent)->vmeMethod(index);
   760     int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount;
   776     int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount;
   761     Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount));
   777     Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount));
   762     return method(index - methodOffset - plainSignals);
   778     return method(index - methodOffset - plainSignals);
   763 }
   779 }
   764 
   780 
       
   781 void QDeclarativeVMEMetaObject::setVmeMethod(int index, const QScriptValue &value)
       
   782 {
       
   783     if (index < methodOffset) {
       
   784         Q_ASSERT(parent);
       
   785         return static_cast<QDeclarativeVMEMetaObject *>(parent)->setVmeMethod(index, value);
       
   786     }
       
   787     int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount;
       
   788     Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount));
       
   789 
       
   790     if (!methods) 
       
   791         methods = new QScriptValue[metaData->methodCount];
       
   792     methods[index - methodOffset - plainSignals] = value;
       
   793 }
       
   794 
   765 QScriptValue QDeclarativeVMEMetaObject::vmeProperty(int index)
   795 QScriptValue QDeclarativeVMEMetaObject::vmeProperty(int index)
   766 {
   796 {
   767     if (index < propOffset) {
   797     if (index < propOffset) {
   768         Q_ASSERT(parent);
   798         Q_ASSERT(parent);
   769         return static_cast<QDeclarativeVMEMetaObject *>(parent)->vmeProperty(index);
   799         return static_cast<QDeclarativeVMEMetaObject *>(parent)->vmeProperty(index);