diff options
Diffstat (limited to 'src/qml/doc/src/qml/hostenvironment.qdoc')
-rw-r--r-- | src/qml/doc/src/qml/hostenvironment.qdoc | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/qml/doc/src/qml/hostenvironment.qdoc b/src/qml/doc/src/qml/hostenvironment.qdoc new file mode 100644 index 0000000000..b0d9118944 --- /dev/null +++ b/src/qml/doc/src/qml/hostenvironment.qdoc @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page qmlhostenvironment.html +\title QML JavaScript Host Environment + +QML provides a JavaScript host environment tailored to writing QML applications. +This environment is different from the host environment provided by a browser +or a server-side JavaScript environment such as Node.js. For example, QML does +not provide a \c window object or \c{DOM API} as commonly found in a browser environment. + +\section1 Common Base + +Like a browser or server-side JavaScript environment, the QML runtime implements the +\l{ECMA-262}{ECMAScript Language Specification} standard. This provides access to +all of the built-in types and functions defined by the standard, such as Object, Array, and Math. +The QML runtime implements the 5th edition of the standard, which is the same edition commonly +implemented by browsers. + +The standard ECMAScript built-ins are not explicitly documented in the QML documentation. For more +information on their use, please refer to the ECMA-262 5th edition standard or one of the many online +JavaScript reference and tutorial sites, such as the \l{W3Schools JavaScript Reference} (JavaScript Objects +Reference section). Many sites focus on JavaScript in the browser, so in some cases you may need to double +check the specification to determine whether a given function or object is part of standard ECMAScript or +specific to the browser environment. In the case of the W3Schools link above, the \c{JavaScript Objects +Reference} section generally covers the standard, while the \c{Browser Objects Reference} and \c{HTML DOM +Objects Reference} sections are browser specific (and thus not applicable to QML). + +\section1 Host Objects and Functions + +The QML JavaScript host environment implements the following host objects and functions: + +\list +\li The \l{QmlGlobalQtObject}{Qt object}: This object is specific to QML, and provides helper methods + and properties specific to the QML environment. +\li qsTr(), qsTranslate(), qsTrId(), QT_TR_NOOP(), QT_TRANSLATE_NOOP(), and QT_TRID_NOOP() functions: + These functions are specific to QML, and provide \l{Translation}{translation capabilities} to the QML environment. +\li gc() function: This function is specific to QML, and provides a way to manually trigger garbage collection. +\li print() function: This function is specific to QML, and provides a simple way to output information to the console. +\li The \l{Console API}{console object}: This object implements a subset of the \l{http://getfirebug.com/wiki/index.php/Console_API}{FireBug Console API}. +\li \l{XMLHttpRequest}, DOMException: These objects implement a subset of the \l{http://www.w3.org/TR/XMLHttpRequest/}{W3C XMLHttpRequest specification}. +\endlist + +See \l{QML Global Object} for more details on these host objects and functions. + +\section1 Native Object Modification + +QML makes the following modifications to native objects: + +\list +\li An arg() function is added to the String prototype. +\li Locale-aware coversion functions are added to the \l{Date} and \l{Number} prototypes. +\endlist + +\section1 Restrictions + +QML implements the following restrictions for JavaScript code: + +\list +\li JavaScript code cannot modify the global object. +\li Global code is run in a reduced scope. +\li The value of \c this is undefined in QML in the majority of contexts. +\endlist + +See \l {QML JavaScript Restrictions} for more details on these restrictions. + +*/ |