summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlexpression_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Harden binding optimizerAaron Kennedy2010-01-271-8/+0
|
* Harden QML binding optimizerAaron Kennedy2010-01-221-3/+24
|
* Optimization: Cache compiled dynamic functionsAaron Kennedy2010-01-081-0/+2
|
* Stop using QGuardAaron Kennedy2009-12-231-5/+4
| | | | | | This should allow QGuard to be removed from Qt and QObjectPrivate::ExtraData. Having QmlGuard inside QmlDeclarativeData reduces the number of new's, and creating QmlDeclarativeData is faster than QObjectPrivate::ExtraData anyway.
* fix includesOswald Buddenhagen2009-12-031-3/+6
| | | | | | | | | | | | - include headers from own directory with "" - include headers from own project without private/ - sort includes from most specific to most generic - make headers self-contained - some whitespace unification no attempt was made at making the qt includes consistent regarding the use of module names and forwarding headers. no attempt was made at sorting includes.
* Optimization: Use QString, not QUrl in QmlBindingAaron Kennedy2009-12-031-2/+2
|
* Undo most of 913dd563064e8047fe738fc9c79135adfb928977Warwick Allison2009-12-021-2/+2
| | | | It seems we're going to have to so a syncqt/configure in Qt modules.
* Cache binding closuresAaron Kennedy2009-12-021-0/+2
|
* QmlContext testsAaron Kennedy2009-11-021-0/+6
|
* Merge branch 'kinetic-declarativeui' of ↵Warwick Allison2009-10-301-1/+1
|\ | | | | | | | | | | | | | | | | git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui Conflicts: src/declarative/qml/qmlcomponentjs.cpp src/declarative/qml/qmlcomponentjs_p.h src/declarative/qml/qmlcomponentjs_p_p.h
| * Store filename as a QUrl rather than convert to QString.Martin Jones2009-10-291-1/+1
| | | | | | | | Saves about 700KB heap in samegame.
* | fix headersWarwick Allison2009-10-291-16/+16
|/
* Do not display transient binding errorsAaron Kennedy2009-10-281-1/+1
| | | | | | | | | | During QML startup, it is common to have "errors" in bindings as the apps state stabilizes. These are not real errors, but just a consequence of implementing a declarative UI in an imperative world. Now during startup, the display of errors is delayed until the startup completes, and then only bindings that are still in an error state are displayed. QT-2373
* Add a QmlExpression::error() methodAaron Kennedy2009-10-281-1/+3
| | | | | QmlExpression should not print errors itself. This is the responsibility of the caller.
* Add bool* argument to QmlExpression::value() to help debugger.Bea Lam2009-10-191-2/+2
|
* Output file/line for script errorsAaron Kennedy2009-10-091-1/+3
|
* Make qmlecmascript:selfDeletingBinding passAaron Kennedy2009-10-081-18/+30
| | | | | | | Expressions and bindings must not reference data following their evalutation incase their object has been deleted. To solve this, the needed data is separated into a reference counted QmlExpressionData and QmlBindingData object.
* Slight simplification of parameterized signalsAaron Kennedy2009-09-221-1/+7
|
* Abstract expression and binding APIsAaron Kennedy2009-08-101-6/+19
| | | | | | | | | By splitting the interface through which the system interacts with bindings away from a specific implementation, we can introduce highly specialized implementations for specific optimizations. This commit also includes a sample optimization for object properties being assigned directly from a local id.
* Remove unused parametersAaron Kennedy2009-08-071-2/+1
|
* Use a linked list instead of a QSet<> to track expressionsAaron Kennedy2009-08-051-0/+4
| | | | | | While the QSet<> wasn't that expensive, the QmlContext only tracks the expressions to stop programmers doing something "stupid" so any overhead is unacceptable. This does give a measurable improvement.
* Rewrite bindings inside the compilerAaron Kennedy2009-08-051-1/+7
| | | | | | | | | | | | To improve execution performance, binding expressions are rewritten as function closures inside QmlExpression. To improve startup performance, where possible, the expressions are rewritten inside the compiler instead of inside QmlExpression at runtime. This also has the sideeffect of removing the StoreBinding instruction, as all bindings are now "compiled". The QmlBinding::expression() method for rewritten bindings will now return the rewritten expression instead of the original (which is lost), but this API is internal anyway.
* Merge branch 'kinetic-declarativeui' of ↵Aaron Kennedy2009-07-271-1/+1
|\ | | | | | | git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
| * Make sure we pass through a line number for evaluating bindings.Michael Brasser2009-07-271-1/+1
| | | | | | | | Also, don't convert URL to string each time we call evaluate.
* | Make private stuff privateAaron Kennedy2009-07-271-2/+0
|/
* Rework expression stuff to use a more efficient notify handlerAaron Kennedy2009-07-201-52/+29
|
* Rewrite QML expressions as closuresRoberto Raggi2009-07-151-0/+4
|
* Revert "Use a function object when evaluating bindings"Aaron Kennedy2009-07-151-4/+0
| | | | | | Turns out this simple approach doesn't work. Fortunately we have a volunteer to do it properly. This reverts commit 958dc50e2b0fe2e875a704554438be75907ed3c5.
* Use a function object when evaluating bindingsAaron Kennedy2009-07-151-0/+4
|
* Move QmlExpression into its own fileAaron Kennedy2009-07-031-0/+138