/** * Updates the property widget to include the properties of the given property owner. */ void RPropertyEditor::updateEditor(RObject& object, bool doUpdateGui, RDocument* document) { QList<RPropertyTypeId> propertyTypeIds = object.getPropertyTypeIds().toList(); qSort(propertyTypeIds); QList<RPropertyTypeId>::iterator it; for (it = propertyTypeIds.begin(); it != propertyTypeIds.end(); ++it) { updateProperty(*it, object, document); } if (doUpdateGui) { updateGui(); } }
QScriptValue REcmaObject::getPropertyTypeIds (QScriptContext* context, QScriptEngine* engine) { //REcmaHelper::functionStart("REcmaObject::getPropertyTypeIds", context, engine); //qDebug() << "ECMAScript WRAPPER: REcmaObject::getPropertyTypeIds"; //QCoreApplication::processEvents(); QScriptValue result = engine->undefinedValue(); // public function: can be called from ECMA wrapper of ECMA shell: RObject* self = getSelf("getPropertyTypeIds", context); //Q_ASSERT(self!=NULL); if (self==NULL) { return REcmaHelper::throwError("self is NULL", context); } if( context->argumentCount() == 0 ){ // prepare arguments: // end of arguments // call C++ function: // return type 'QSet < RPropertyTypeId >' QSet < RPropertyTypeId > cppResult = self->getPropertyTypeIds(); // return type: QSet < RPropertyTypeId > // QSet (convert to QVariantList): result = REcmaHelper::setToScriptValue(engine, cppResult); } else { return REcmaHelper::throwError("Wrong number/types of arguments for RObject.getPropertyTypeIds().", context); } //REcmaHelper::functionEnd("REcmaObject::getPropertyTypeIds", context, engine); return result; }