static QScriptValue qtscript_QStyleOptionRubberBand_StyleOptionType_toScriptValue(QScriptEngine *engine, const QStyleOptionRubberBand::StyleOptionType &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QStyleOptionRubberBand")); return clazz.property(qtscript_QStyleOptionRubberBand_StyleOptionType_toStringHelper(value)); }
static QScriptValue qtscript_QComboBox_SizeAdjustPolicy_toScriptValue(QScriptEngine *engine, const QComboBox::SizeAdjustPolicy &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QComboBox")); return clazz.property(qtscript_QComboBox_SizeAdjustPolicy_toStringHelper(value)); }
static QScriptValue qtscript_QPrintEngine_PrintEnginePropertyKey_toScriptValue(QScriptEngine *engine, const QPrintEngine::PrintEnginePropertyKey &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QPrintEngine")); return clazz.property(qtscript_QPrintEngine_PrintEnginePropertyKey_toStringHelper(value)); }
/** Conversion function from QtScript cursor to KTextEditor::Cursor */ static void cursorFromScriptValue(const QScriptValue &obj, KTextEditor::Cursor &cursor) { cursor.setPosition(obj.property("line").toInt32(), obj.property("column").toInt32()); }
static QScriptValue qtscript_QStyleOptionProgressBarV2_StyleOptionVersion_toScriptValue(QScriptEngine *engine, const QStyleOptionProgressBarV2::StyleOptionVersion &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QStyleOptionProgressBarV2")); return clazz.property(qtscript_QStyleOptionProgressBarV2_StyleOptionVersion_toStringHelper(value)); }
void vec2FromScriptValue(const QScriptValue &object, glm::vec2 &vec2) { vec2.x = object.property("x").toVariant().toFloat(); vec2.y = object.property("y").toVariant().toFloat(); }
static QScriptValue qtscript_QGradient_CoordinateMode_toScriptValue(QScriptEngine *engine, const QGradient::CoordinateMode &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QGradient")); return clazz.property(qtscript_QGradient_CoordinateMode_toStringHelper(value)); }
static QScriptValue qtscript_QtConcurrent_ThreadFunctionResult_toScriptValue(QScriptEngine *engine, const QtConcurrent::ThreadFunctionResult &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QtConcurrent")); return clazz.property(qtscript_QtConcurrent_ThreadFunctionResult_toStringHelper(value)); }
void TextOverlay::setProperties(const QScriptValue& properties) { Overlay2D::setProperties(properties); _qmlElement->setX(_bounds.left()); _qmlElement->setY(_bounds.top()); _qmlElement->setWidth(_bounds.width()); _qmlElement->setHeight(_bounds.height()); _qmlElement->settextColor(toQmlColor(vec4(toGlm(_color), _alpha))); QScriptValue font = properties.property("font"); if (font.isObject()) { if (font.property("size").isValid()) { setFontSize(font.property("size").toInt32()); } QFont font(_qmlElement->fontFamily()); font.setPixelSize(_qmlElement->fontSize()); QFontMetrics fm(font); _qmlElement->setlineHeight(fm.lineSpacing() * 1.2); } QScriptValue text = properties.property("text"); if (text.isValid()) { setText(text.toVariant().toString()); } QScriptValue backgroundColor = properties.property("backgroundColor"); if (backgroundColor.isValid()) { QScriptValue red = backgroundColor.property("red"); QScriptValue green = backgroundColor.property("green"); QScriptValue blue = backgroundColor.property("blue"); if (red.isValid() && green.isValid() && blue.isValid()) { _backgroundColor.red = red.toVariant().toInt(); _backgroundColor.green = green.toVariant().toInt(); _backgroundColor.blue = blue.toVariant().toInt(); } } if (properties.property("backgroundAlpha").isValid()) { _backgroundAlpha = properties.property("backgroundAlpha").toVariant().toFloat(); } _qmlElement->setbackgroundColor(toQmlColor(vec4(toGlm(_backgroundColor), _backgroundAlpha))); if (properties.property("leftMargin").isValid()) { setLeftMargin(properties.property("leftMargin").toVariant().toInt()); } if (properties.property("topMargin").isValid()) { setTopMargin(properties.property("topMargin").toVariant().toInt()); } }
static QScriptValue qtscript_QStyleOptionMenuItem_MenuItemType_toScriptValue(QScriptEngine *engine, const QStyleOptionMenuItem::MenuItemType &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QStyleOptionMenuItem")); return clazz.property(qtscript_QStyleOptionMenuItem_MenuItemType_toStringHelper(value)); }
static QScriptValue qtscript_QtConcurrent_ReduceOption_toScriptValue(QScriptEngine *engine, const QtConcurrent::ReduceOption &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QtConcurrent")); return clazz.property(qtscript_QtConcurrent_ReduceOption_toStringHelper(value)); }
static QScriptValue qtscript_QPainterPath_ElementType_toScriptValue(QScriptEngine *engine, const QPainterPath::ElementType &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QPainterPath")); return clazz.property(qtscript_QPainterPath_ElementType_toStringHelper(value)); }
static QScriptValue qtscript_QDockWidget_DockWidgetFeature_toScriptValue(QScriptEngine *engine, const QDockWidget::DockWidgetFeature &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QDockWidget")); return clazz.property(qtscript_QDockWidget_DockWidgetFeature_toStringHelper(value)); }
//! [0] //! [1] QScriptValue val(&myEngine, 123); myObject.setProperty("myReadOnlyProperty", val, QScriptValue::ReadOnly); //! [1] //! [2] QScriptEngine engine; engine.evaluate("function fullName() { return this.firstName + ' ' + this.lastName; }"); engine.evaluate("somePerson = { firstName: 'John', lastName: 'Doe' }"); QScriptValue global = engine.globalObject(); QScriptValue fullName = global.property("fullName"); QScriptValue who = global.property("somePerson"); qDebug() << fullName.call(who).toString(); // "John Doe" engine.evaluate("function cube(x) { return x * x * x; }"); QScriptValue cube = global.property("cube"); QScriptValueList args; args << 3; qDebug() << cube.call(QScriptValue(), args).toNumber(); // 27 //! [2] //! [3] QScriptValue myNativeFunction(QScriptContext *ctx, QScriptEngine *) { QScriptValue otherFunction = ...;
void vec4FromScriptValue(const QScriptValue& object, glm::vec4& vec4) { vec4.x = object.property("x").toVariant().toFloat(); vec4.y = object.property("y").toVariant().toFloat(); vec4.z = object.property("z").toVariant().toFloat(); vec4.w = object.property("w").toVariant().toFloat(); }
int main(int argc, char *argv[]) { QApplication *app; if (argc >= 2 && !qstrcmp(argv[1], "-tty")) { ++argv; --argc; app = new QApplication(argc, argv, QApplication::Tty); } else { app = new QApplication(argc, argv); } QScriptEngine *eng = new QScriptEngine(); QScriptValue globalObject = eng->globalObject(); globalObject.setProperty("load", eng->newFunction(loadScripts, /*length=*/1)); { if (!globalObject.property("qt").isObject()) globalObject.setProperty("qt", eng->newObject()); QScriptValue qscript = eng->newObject(); qscript.setProperty("importExtension", eng->newFunction(importExtension)); globalObject.property("qt").setProperty("script", qscript); } ByteArrayClass *byteArrayClass = new ByteArrayClass(eng); globalObject.setProperty("ByteArray", byteArrayClass->constructor()); if (! *++argv) { interactive(eng); return EXIT_SUCCESS; } while (const char *arg = *argv++) { QString fn = QString::fromLocal8Bit(arg); if (fn == QLatin1String("-i")) { interactive(eng); break; } QString contents; int lineNumber = 1; if (fn == QLatin1String("-")) { QTextStream stream(stdin, QFile::ReadOnly); contents = stream.readAll(); } else { QFile file(fn); if (file.open(QFile::ReadOnly)) { QTextStream stream(&file); contents = stream.readAll(); file.close(); // strip off #!/usr/bin/env qscript line if (contents.startsWith("#!")) { contents.remove(0, contents.indexOf("\n")); ++lineNumber; } } } if (contents.isEmpty()) continue; QScriptValue r = eng->evaluate(contents, fn, lineNumber); if (eng->hasUncaughtException()) { QStringList backtrace = eng->uncaughtExceptionBacktrace(); fprintf (stderr, " %s\n%s\n\n", qPrintable(r.toString()), qPrintable(backtrace.join("\n"))); return EXIT_FAILURE; } } delete eng; delete app; return EXIT_SUCCESS; }
void vec3FromScriptValue(const QScriptValue &object, glm::vec3 &vec3) { vec3.x = object.property("x").toVariant().toFloat(); vec3.y = object.property("y").toVariant().toFloat(); vec3.z = object.property("z").toVariant().toFloat(); }
QScriptValue QDeclarativeComponentPrivate::createObject(QObject *publicParent, const QScriptValue valuemap) { Q_Q(QDeclarativeComponent); QDeclarativeContext* ctxt = q->creationContext(); if(!ctxt && engine) ctxt = engine->rootContext(); if (!ctxt) return QScriptValue(QScriptValue::NullValue); QObject* ret = q->beginCreate(ctxt); if (!ret) { q->completeCreate(); return QScriptValue(QScriptValue::NullValue); } if (publicParent) { ret->setParent(publicParent); QList<QDeclarativePrivate::AutoParentFunction> functions = QDeclarativeMetaType::parentFunctions(); bool needParent = false; for (int ii = 0; ii < functions.count(); ++ii) { QDeclarativePrivate::AutoParentResult res = functions.at(ii)(ret, publicParent); if (res == QDeclarativePrivate::Parented) { needParent = false; break; } else if (res == QDeclarativePrivate::IncompatibleParent) { needParent = true; } } if (needParent) qWarning("QDeclarativeComponent: Created graphical object was not placed in the graphics scene."); } QDeclarativeEnginePrivate *priv = QDeclarativeEnginePrivate::get(engine); QDeclarativeData::get(ret, true)->setImplicitDestructible(); QScriptValue newObject = priv->objectClass->newQObject(ret, QMetaType::QObjectStar); if (valuemap.isObject() && !valuemap.isArray()) { //Iterate through and assign properties QScriptValueIterator it(valuemap); while (it.hasNext()) { it.next(); QScriptValue prop = newObject; QString propName = it.name(); int index = propName.indexOf(QLatin1Char('.')); if (index > 0) { QString subProp = propName; int lastIndex = 0; while (index > 0) { subProp = propName.mid(lastIndex, index - lastIndex); prop = prop.property(subProp); lastIndex = index + 1; index = propName.indexOf(QLatin1Char('.'), index + 1); } prop.setProperty(propName.mid(propName.lastIndexOf(QLatin1Char('.')) + 1), it.value()); } else { newObject.setProperty(propName, it.value()); } } } q->completeCreate(); return newObject; }
void quatFromScriptValue(const QScriptValue &object, glm::quat& quat) { quat.x = object.property("x").toVariant().toFloat(); quat.y = object.property("y").toVariant().toFloat(); quat.z = object.property("z").toVariant().toFloat(); quat.w = object.property("w").toVariant().toFloat(); }
static QScriptValue qtscript_QImageReader_ImageReaderError_toScriptValue(QScriptEngine *engine, const QImageReader::ImageReaderError &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QImageReader")); return clazz.property(qtscript_QImageReader_ImageReaderError_toStringHelper(value)); }
void Image3DOverlay::setProperties(const QScriptValue &properties) { Billboard3DOverlay::setProperties(properties); QScriptValue urlValue = properties.property("url"); if (urlValue.isValid()) { QString newURL = urlValue.toVariant().toString(); if (newURL != _url) { setURL(newURL); } } QScriptValue subImageBounds = properties.property("subImage"); if (subImageBounds.isValid()) { if (subImageBounds.isNull()) { _fromImage = QRect(); } else { QRect oldSubImageRect = _fromImage; QRect subImageRect = _fromImage; if (subImageBounds.property("x").isValid()) { subImageRect.setX(subImageBounds.property("x").toVariant().toInt()); } else { subImageRect.setX(oldSubImageRect.x()); } if (subImageBounds.property("y").isValid()) { subImageRect.setY(subImageBounds.property("y").toVariant().toInt()); } else { subImageRect.setY(oldSubImageRect.y()); } if (subImageBounds.property("width").isValid()) { subImageRect.setWidth(subImageBounds.property("width").toVariant().toInt()); } else { subImageRect.setWidth(oldSubImageRect.width()); } if (subImageBounds.property("height").isValid()) { subImageRect.setHeight(subImageBounds.property("height").toVariant().toInt()); } else { subImageRect.setHeight(oldSubImageRect.height()); } setClipFromSource(subImageRect); } } QScriptValue emissiveValue = properties.property("emissive"); if (emissiveValue.isValid()) { _emissive = emissiveValue.toBool(); } }
static QScriptValue qtscript_QAction_MenuRole_toScriptValue(QScriptEngine *engine, const QAction::MenuRole &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QAction")); return clazz.property(qtscript_QAction_MenuRole_toStringHelper(value)); }
bool operator==(const QScriptValue& first, const QScriptValue& second) { if (first.isUndefined()) { return second.isUndefined(); } else if (first.isNull()) { return second.isNull(); } else if (first.isBool()) { return second.isBool() && first.toBool() == second.toBool(); } else if (first.isNumber()) { return second.isNumber() && first.toNumber() == second.toNumber(); } else if (first.isString()) { return second.isString() && first.toString() == second.toString(); } else if (first.isVariant()) { return second.isVariant() && first.toVariant() == second.toVariant(); } else if (first.isQObject()) { return second.isQObject() && first.toQObject() == second.toQObject(); } else if (first.isQMetaObject()) { return second.isQMetaObject() && first.toQMetaObject() == second.toQMetaObject(); } else if (first.isDate()) { return second.isDate() && first.toDateTime() == second.toDateTime(); } else if (first.isRegExp()) { return second.isRegExp() && first.toRegExp() == second.toRegExp(); } else if (first.isArray()) { if (!second.isArray()) { return false; } int length = first.property(ScriptCache::getInstance()->getLengthString()).toInt32(); if (second.property(ScriptCache::getInstance()->getLengthString()).toInt32() != length) { return false; } for (int i = 0; i < length; i++) { if (first.property(i) != second.property(i)) { return false; } } return true; } else if (first.isObject()) { if (!second.isObject()) { return false; } int propertyCount = 0; for (QScriptValueIterator it(first); it.hasNext(); ) { it.next(); if (second.property(it.scriptName()) != it.value()) { return false; } propertyCount++; } // make sure the second has exactly as many properties as the first for (QScriptValueIterator it(second); it.hasNext(); ) { it.next(); if (--propertyCount < 0) { return false; } } return true; } else { // if none of the above tests apply, first must be invalid return !second.isValid(); } }
void qRectFromScriptValue(const QScriptValue &object, QRect& rect) { rect.setX(object.property("x").toVariant().toInt()); rect.setY(object.property("y").toVariant().toInt()); rect.setWidth(object.property("width").toVariant().toInt()); rect.setHeight(object.property("height").toVariant().toInt()); }
static QScriptValue qtscript_QTextStream_Status_toScriptValue(QScriptEngine *engine, const QTextStream::Status &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QTextStream")); return clazz.property(qtscript_QTextStream_Status_toStringHelper(value)); }
void qSizeFFromScriptValue(const QScriptValue& object, QSizeF& qSizeF) { qSizeF.setWidth(object.property("width").toVariant().toFloat()); qSizeF.setHeight(object.property("height").toVariant().toFloat()); }
void MetaCallArgument::fromScriptValue(int callType, QDeclarativeEngine *engine, const QScriptValue &value) { if (type != 0) { cleanup(); type = 0; } if (callType == qMetaTypeId<QScriptValue>()) { new (&data) QScriptValue(value); type = qMetaTypeId<QScriptValue>(); } else if (callType == QMetaType::Int) { *((int *)&data) = int(value.toInt32()); type = callType; } else if (callType == QMetaType::UInt) { *((uint *)&data) = uint(value.toUInt32()); type = callType; } else if (callType == QMetaType::Bool) { *((bool *)&data) = value.toBool(); type = callType; } else if (callType == QMetaType::Double) { *((double *)&data) = double(value.toNumber()); type = callType; } else if (callType == QMetaType::Float) { *((float *)&data) = float(value.toNumber()); type = callType; } else if (callType == QMetaType::QString) { if (value.isNull() || value.isUndefined()) new (&data) QString(); else new (&data) QString(value.toString()); type = callType; } else if (callType == QMetaType::QObjectStar) { *((QObject **)&data) = value.toQObject(); type = callType; } else if (callType == qMetaTypeId<QVariant>()) { new (&data) QVariant(QDeclarativeEnginePrivate::get(engine)->scriptValueToVariant(value)); type = callType; } else if (callType == qMetaTypeId<QList<QObject*> >()) { QList<QObject *> *list = new (&data) QList<QObject *>(); if (value.isArray()) { int length = value.property(QLatin1String("length")).toInt32(); for (int ii = 0; ii < length; ++ii) { QScriptValue arrayItem = value.property(ii); QObject *d = arrayItem.toQObject(); list->append(d); } } else if (QObject *d = value.toQObject()) { list->append(d); } type = callType; } else { new (&data) QVariant(); type = -1; QVariant v = QDeclarativeEnginePrivate::get(engine)->scriptValueToVariant(value); if (v.userType() == callType) { *((QVariant *)&data) = v; } else if (v.canConvert((QVariant::Type)callType)) { *((QVariant *)&data) = v; ((QVariant *)&data)->convert((QVariant::Type)callType); } else { *((QVariant *)&data) = QVariant(callType, (void *)0); } } }
void xColorFromScriptValue(const QScriptValue &object, xColor& color) { color.red = object.property("red").toVariant().toInt(); color.green = object.property("green").toVariant().toInt(); color.blue = object.property("blue").toVariant().toInt(); }
static QScriptValue qtscript_QMessageBox_Icon_toScriptValue(QScriptEngine *engine, const QMessageBox::Icon &value) { QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QMessageBox")); return clazz.property(qtscript_QMessageBox_Icon_toStringHelper(value)); }
static void localLightFromScriptValue(const QScriptValue& value, AvatarManager::LocalLight& light) { vec3FromScriptValue(value.property("direction"), light.direction); vec3FromScriptValue(value.property("color"), light.color); }