diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 2fd0aa6581a016c302f910ed1ddf121f3b152d2f..ae22a628389c78c6693b42b8734cf22bfbc0d58b 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -1410,6 +1410,7 @@ Engine::Engine() _regexpCtor(0), _globalObject(0), _mathObject(0), + _qtObject(0), #ifndef NO_DECLARATIVE_BACKEND _qmlKeysObject(0), #endif @@ -1566,6 +1567,11 @@ const ObjectValue *Engine::mathObject() const return _mathObject; } +const ObjectValue *Engine::qtObject() const +{ + return _qtObject; +} + void Engine::registerValue(Value *value) { _registeredValues.append(value); @@ -1856,6 +1862,40 @@ void Engine::initializePrototypes() _globalObject->setProperty("Number", numberCtor()); _globalObject->setProperty("Date", dateCtor()); _globalObject->setProperty("RegExp", regexpCtor()); + + + //types + _qtObject = newObject(/*prototype */ 0); + addFunction(_qtObject, QLatin1String("rgba"), 4); + addFunction(_qtObject, QLatin1String("hsla"), 4); + addFunction(_qtObject, QLatin1String("rect"), 4); + addFunction(_qtObject, QLatin1String("point"), 2); + addFunction(_qtObject, QLatin1String("size"), 2); + addFunction(_qtObject, QLatin1String("vector3d"), 3); + + //color helpers + addFunction(_qtObject, QLatin1String("lighter"), 1); + addFunction(_qtObject, QLatin1String("darker"), 1); + addFunction(_qtObject, QLatin1String("tint"), 2); + + //misc methods + addFunction(_qtObject, QLatin1String("closestAngle"), 2); + addFunction(_qtObject, QLatin1String("playSound"), 1); + addFunction(_qtObject, QLatin1String("openUrlExternally"), 1); + addFunction(_qtObject, QLatin1String("md5"), 1); + addFunction(_qtObject, QLatin1String("btoa"), 1); + addFunction(_qtObject, QLatin1String("atob"), 1); + addFunction(_qtObject, QLatin1String("quit"), 0); + addFunction(_qtObject, QLatin1String("resolvedUrl"), 1); + + //firebug/webkit compat + ObjectValue *consoleObject = newObject(/*prototype */ 0); + addFunction(consoleObject, QLatin1String("log"), 1); + addFunction(consoleObject, QLatin1String("debug"), 1); + + _globalObject->setProperty(QLatin1String("console"), consoleObject); + + _globalObject->setProperty(QLatin1String("Qt"), _qtObject); } const ObjectValue *Engine::qmlKeysObject() diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 3a03be7a642030c6df4e1abbfaee66e1b8405b25..b07a14915137bcac113fd43096b3df83c53a7a7b 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -547,6 +547,7 @@ public: // global object ObjectValue *globalObject() const; const ObjectValue *mathObject() const; + const ObjectValue *qtObject() const; // prototypes ObjectValue *objectPrototype() const; @@ -608,6 +609,7 @@ private: ObjectValue *_globalObject; ObjectValue *_mathObject; + ObjectValue *_qtObject; #ifndef NO_DECLARATIVE_BACKEND ObjectValue *_qmlKeysObject; #endif