Hello,

Example:
============================
import QtQuick 1.0

Rectangle {

id:screen; width: 100; height: 100

Rectangle {
    id: one; width: 10; height: 10
    Component.onCompleted: console.log("one")
}
Rectangle {
    id: two; width: 10; height: 10
    Component.onCompleted: console.log("two")
}
Rectangle {
    id: three; width: 10; height: 10
    Component.onCompleted: console.log("three")
}

Component.onCompleted: console.log("screen")
}
=================================
output:
screen
three
two
one

The top level's handler is first, then the children.
Is this a reasonable generalization to make? 

Cheers,
Jerome P.
________________________________________
From: qt-qml-boun...@trolltech.com [qt-qml-boun...@trolltech.com] On Behalf Of 
Iliev Ivailo (EXT-ProData/Berlin)
Sent: Tuesday, November 23, 2010 9:23 AM
To: Kennedy Aaron (Nokia-MS-Qt/Brisbane)
Cc: qt-qml@trolltech.com
Subject: Re: [Qt-qml] How QML file is parsed and linked and executed?

Hi,

ok, thanks :)

best regards,
Ivo

________________________________
From: Kennedy Aaron (Nokia-MS-Qt/Brisbane)
Sent: Tuesday, November 23, 2010 3:03 AM
To: Iliev Ivailo (EXT-ProData/Berlin)
Cc: <qt-qml@trolltech.com>
Subject: Re: [Qt-qml] How QML file is parsed and linked and executed?

Hi,

As it says in the documentation, the order Component.onCompleted handlers are 
executed is not defined.

Roughly speaking (as there are exceptions), elements are instantiated from top 
to bottom, and the onCompleted signals are executed in reverse order of 
instantiation.  But don't rely on that behaviour.

Cheers,

Aaron


On 22/11/2010, at 6:49 PM, ext 
ext-ivailo.il...@nokia.com<mailto:ext-ivailo.il...@nokia.com> wrote:

Hi,

as you all know HTML and JavaScript are executed / or evaluated / form the TOP 
to BOTTOM. So if you have a source of 100 lines it will start from line 1 and 
will finish with the last one. When you know this you can somehow figure our 
some tricks you want to make and know what to expect.

I have a QML file that I want to trace how it's reacting.

Rectangle {onCompleted: {console.col("m1")}}
Rectangle {onCompleted: {console.col("m2")}}

and in the console output I have m2, m1.

so does it mean that in QML we have stack popup priority of structure handling 
- you parse it from top to bottom and execute it form bottom to top? does it 
mean that my "later" element will always have Component.onCompleted "before"? 
Or this reverse order is just temporary or coincidence on my machine or we 
shall not  expect any order of loading - "everything will come when it comes"?

Best Regards,
Ivo
_______________________________________________
Qt-qml mailing list
Qt-qml@trolltech.com<mailto:Qt-qml@trolltech.com>
http://lists.trolltech.com/mailman/listinfo/qt-qml


_______________________________________________
Qt-qml mailing list
Qt-qml@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-qml

Reply via email to