Moved the QML Observer Service and related functionality into Qt
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
Fri, 25 Mar 2011 12:36:16 +0000 (13:36 +0100)
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
Tue, 10 May 2011 18:40:41 +0000 (20:40 +0200)
commit517404f62660aa9438f213bf37b3aa7a522dbcee
tree4ad7987f469dc74cfa1ea5b87443660a2de90b72
parent84a5bde0c4aba8bab1556ccf221aab626bf68d3d
Moved the QML Observer Service and related functionality into Qt

This code was previously developed as part of Qt Creator in
share/qtcreator/qml/qmljsdebugger/

Moving it into Qt will allow us to simplify the setup required before
you can debug QML applications.

To avoid adding too much weight to the QtDeclarative module, a
declarativeobserver plugin was introduced that contains the
QDeclarativeViewObserver and related classes. The
QDeclarativeObserverService is just a stub service that loads this
plugin once a QML debugging client connects. The plugin implements the
QDeclarativeObserverInterface

A QJSDebugService was separated out of QJSDebuggerAgent, so
that the service can be active while the agent is instantiated lazily.
Each QDeclarativeEngine adds itself to the QJSDebugService. Currently
only the first one is used when instantiating the agent.

QDeclarativeObserverService is hooked into QDeclarativeView, with the
view registering itself to the service, allowing the
QDeclarativeViewObserver to be created for the view once somebody
connects to the service. Again, only the first view is used at the
moment.

Change-Id: Ib50579c6d24361c2b39528e5556410d3446c2e90
Reviewed-by: Martin Jones
Reviewed-by: Michael Brasser
(cherry picked from commit 35faeb205843c4f0b921d2b878d2d24962c64664)

Fixups squashed into this one:

(cherry picked from commit 0abf1dd99eeb252ae10c9f3cd99b64ee0b4d6e72)
(cherry picked from commit 894515429397be20670806825099b4b9896d50d6)
(cherry picked from commit 7d9f03c87e0e096934583a36340de5446e1d0520)

Conflicts:

src/plugins/qmltooling/qmltooling.pro
src/plugins/qmltooling/tcpserver/qtcpserverconnection.cpp
72 files changed:
src/declarative/debugger/debugger.pri
src/declarative/debugger/qdeclarativeobserverinterface_p.h [new file with mode: 0644]
src/declarative/debugger/qdeclarativeobserverservice.cpp [new file with mode: 0644]
src/declarative/debugger/qdeclarativeobserverservice_p.h [new file with mode: 0644]
src/declarative/debugger/qjsdebuggeragent.cpp [new file with mode: 0644]
src/declarative/debugger/qjsdebuggeragent_p.h [new file with mode: 0644]
src/declarative/debugger/qjsdebugservice.cpp [new file with mode: 0644]
src/declarative/debugger/qjsdebugservice_p.h [new file with mode: 0644]
src/declarative/qml/qdeclarativeengine.cpp
src/declarative/qml/qdeclarativeengine_p.h
src/declarative/util/qdeclarativeview.cpp
src/plugins/qmltooling/declarativeobserver/declarativeobserver.pro [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/abstractliveedittool.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/abstractliveedittool_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/boundingrecthighlighter.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/boundingrecthighlighter_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/colorpickertool.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/colorpickertool_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/editor.qrc [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/color-picker-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/color-picker-hicontrast.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/color-picker.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/from-qml-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/from-qml.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/observermode-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/observermode.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/pause-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/pause.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/play-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/play.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/reload.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/resize_handle.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/select-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/select-marquee-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/select-marquee.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/select.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/to-qml-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/to-qml.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/zoom-24.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/images/zoom.png [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/livelayeritem.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/livelayeritem_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liverubberbandselectionmanipulator.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liverubberbandselectionmanipulator_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liveselectionindicator.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liveselectionindicator_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liveselectionrectangle.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liveselectionrectangle_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liveselectiontool.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/liveselectiontool_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/livesingleselectionmanipulator.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/livesingleselectionmanipulator_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/qmltoolbar.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/qmltoolbar_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/subcomponenteditortool.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/subcomponenteditortool_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/subcomponentmasklayeritem.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/subcomponentmasklayeritem_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/toolbarcolorbox.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/toolbarcolorbox_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/zoomtool.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/editor/zoomtool_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qdeclarativeobserverplugin.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qdeclarativeobserverplugin.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qdeclarativeobserverprotocol.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qdeclarativeviewobserver.cpp [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qdeclarativeviewobserver_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qdeclarativeviewobserver_p_p.h [new file with mode: 0644]
src/plugins/qmltooling/declarativeobserver/qmlobserverconstants_p.h [new file with mode: 0644]
src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp
src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h
src/plugins/qmltooling/qmltooling.pro