Commit Graph

63 Commits

Author SHA1 Message Date
Kai Koehne
1e86df7191 Utils: New class to map installed file path to source path
FileInProjectFinder implements an heuristic to find the likely source
file for an aribrary file path, e.g. in the shadow build folder or
on the device. This is useful especially for .qml files, which are
executed at runtime.

Reviewed-by: con
2010-12-01 16:54:32 +01:00
Kai Koehne
d2ed221b1b QmlObserver: Add 'show app on top' switch to creator + qmlobserver
This is convenient especially in the observer mode.

Reviewed-by: Christiaan Janssen
2010-11-23 16:24:23 +01:00
Kai Koehne
72af7899f2 QmlJsInspector: Code cleanup 2010-11-23 16:24:23 +01:00
Kai Koehne
c33348a49f Observer mode: Fix automatic selection of all instances
If the user clicks on an instance of an element in the running app
while in server mode, the cursor selection is automatically updated.
However, the change of the cursor then leads to all the other
instances of the element at the cursor position being selected too.

Prevent this 'call back' in the QmlInspector by checking whether one
of the newly selected items is the one just selected.

Simpler mechanisms (like a sequential blocking of updates) don't
work because the call back happens through a QTimer.

Task-number: QTCREATORBUG-2366
2010-11-12 15:08:09 +01:00
Kai Koehne
7e50ebcfba QmlJSInspector: API cleanup
Rename setSelectedItemsByObjectReference slot to gotoObjectDefinition
2010-11-12 15:08:09 +01:00
Kai Koehne
c43496d035 QmlJSInspector: API cleanup
Give m_client, m_designClient member variables more descriptive names.
2010-11-12 15:08:09 +01:00
Kai Koehne
1cc61e06ea QmlJSInspector: API cleanup
Simplify method names.
2010-11-12 15:08:09 +01:00
dt
4ac7253205 Merge remote branch 'origin/2.1'
Conflicts:
	share/qtcreator/static.pro
	src/plugins/cppeditor/cppeditor.cpp
	src/plugins/qmljseditor/qmljseditor.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui
	src/plugins/qt4projectmanager/qtoutputformatter.cpp
	src/plugins/texteditor/generichighlighter/highlightersettings.cpp
2010-11-10 17:02:40 +01:00
hjk
2161e0f6d9 debugger: refactoring of the plugin interface
There's  some 'external' and some 'internal' part now. Other plugins
are only supposed the external interface.
2010-11-10 12:08:23 +01:00
Kai Koehne
eac940cd01 QmlInspector: Fix mapping of file names to source dir on Mac
Qml Applications by default copy the qml files into XX.app/Contents/Resources in
the shadow build directory. Take this into account when trying to find the files in the source directory.

Reviewed-by: Alessandro Portale
2010-11-05 16:15:53 +01:00
Friedemann Kleint
77008bc45f Exported Header cleanup: QmlJSEditor
Move internal classes QmlJSEditorEditable/SemanticHighlighter
out of qmljseditor.h. Move QmlJSEditor from namespace
QmlJSEditor::Internal to QmlJSEditor.

Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2010-11-02 11:10:27 +01:00
Kai Koehne
aa0e82e6c8 QmlJS: Fix crash in debugger tooltips
Check that the node under cursor is indeed a UiObjectMember

Reviewed-by: Christiaan Janssen
Task-number: QTCREATORBUG-2760
2010-10-19 20:02:32 +02:00
Kai Koehne
542796523d QmlJSDebugger: Disable Observer pane after debugging ends
At the time setupToolbar is called in the shutdown process the
connection still exists. Instead just use the parameter.

Task-number: QTCREATORBUG-2693
Reviewed-by: Christiaan Janssen
2010-10-14 14:45:43 +02:00
Kai Koehne
8049a0276d QmlJSInspector: Fix disconnect() warnings on users app shutdown
Don't try to disconnect from the proxy if you haven't been connected
before, e.g. because the QmlJSObserverService is missing.

Reviewed-by: Christiaan Janssen
2010-10-08 15:51:55 +02:00
Kai Koehne
83e2a37850 QmlObserver: Disable UI when no server plugin exists
Reviewed-by: Christiaan Janssen
2010-10-01 17:34:01 +02:00
Kai Koehne
3e9f333769 QmlDebugger: Enable basic debugging without QmlInspector plugin
Enable setting breakpoints, and showing the script console even if
the QmlInspector plugin is not loaded.

Reviewed-by: hjk
2010-09-22 15:45:03 +02:00
Kai Koehne
4fdede8b28 QmlDebugger: Fix qDebug output 2010-09-22 15:45:03 +02:00
Kai Koehne
a10b26920b Qml: Replace 'inspector' by 'observer'
We should restrict ourselves to calling all qml debugging support
observer, instead of mixing qml debugger / inspector / observer
interchangeably.
2010-09-16 16:22:31 +02:00
dt
08ccda5862 EditorManager: Change openEditor/activateEditor to not do mode switching
Also introduce a indirection, modes have now types, edit and debug have
the same type, and editors do have a prefered type of modes instead of a
prefered mode.

That fixes the bug that if the prefered qml editing mode was set to
design, then in switching between qml editors would
- in Edit Mode: stay in edit mode
- in Debug Mode: switch to debug mode
2010-09-14 15:23:11 +02:00
Friedemann Kleint
f7b19f8114 Debugger: Move DebuggerEngine/QmlEngine/QmlCppEngine into Debugger{}
namespace (from Debugger::Internal) as they are exported classes.
Introduce private classes to avoid exposing private JS debugger
headers.
2010-09-13 13:30:35 +02:00
Christiaan Janssen
1c702357a6 QmlInspector: tooltips in qmldebug mode
Reviewed by: Lasse Holmstedt
2010-09-08 16:53:44 +02:00
Christiaan Janssen
7d9056953e QmlInspector: Added reparenting of items in the Qml Live Preview. Reviewed by: Lasse Holmstedt 2010-08-26 17:38:42 +02:00
Lasse Holmstedt
fccd4d5e0c QML Inspector: Disabled rubberband selection tool
It was not very useful without being able to e.g. move things around.
2010-08-26 16:32:43 +02:00
Lasse Holmstedt
7afef49682 Qml Debugger: Code style and cleanup
Reviewed-by: hjk
2010-08-24 17:47:20 +02:00
Lasse Holmstedt
fe55ba5cd2 QML Inspector: Don't update debug id's when not debugging
Creating LookupContext seems to be expensive, so don't update anything
unless debug mode is already running.
2010-08-24 17:46:22 +02:00
Lasse Holmstedt
63da8d4cd7 QML Inspector: combined pause & play actions into one button
Easier to use now by just clicking on one button, and takes less space.
2010-08-24 17:46:22 +02:00
Lasse Holmstedt
b557c58eac Qml Debugger: Enable debugging qml+cpp standalone applications
A new debugger engine, QmlCppEngine, is introduced, which wraps gdb
and qml engines into one. Alternatively, if using Windows, Cdb is used
instead of Gdb.

Most of the debugger ui switcher is now rewritten, and it is tailored
for the QML and CPP layout case, the only one supported anyway.

Reviewed-by: hjk
2010-08-24 17:46:22 +02:00
Olivier Goffart
a18c8f9e96 QML Debugger: request objects from all contexts 2010-08-20 15:57:02 +02:00
Olivier Goffart
f64e7a1819 Qml Debugger: fix the debugger when the observer is reloaded.
The problem was that we did not query the object with the good engine id
2010-08-18 11:40:57 +02:00
Lasse Holmstedt
b71c3c62ba QML Debugger refactoring
Now, QmlEngine creates the connection to the inferior (debuggee), and
notifies QmlInspector when a connection is established. Before,
inspector created the debugger engin, which was wrong.

QmlEngine's responsibilities are connecting to the debuggee and basic
QML/JS debugging features like locals & watchers, breakpoints etc.
QmlInspector takes care of Live Preview and other fancy inspection
features.

Reviewed-by: hjk
2010-08-13 14:20:39 +02:00
Lasse Holmstedt
d572efedbd Added settings class to QML Inspector
For starters, we only remember whether the initial warning about dangers
of Live Preview was shown.
2010-08-12 09:39:26 +02:00
hjk
62334acb79 qmljsinspector: give the context path dock widget a name 2010-08-11 10:03:15 +02:00
Olivier Goffart
98a4e1fbec Remove more dead code 2010-08-06 16:07:41 +02:00
Olivier Goffart
87c7ca5c9c remove dead code 2010-08-06 16:06:01 +02:00
Lasse Holmstedt
85bafac50e QML Observer: Refresh debug id's when new objects are created
Previously, the user had to navigate to the context of a qml item in
order to edit its source code in Live Preview mode. This change tells
the client to update when new objects are created on server-side, and
makes the editing possible without having to manually trigger updates.
2010-08-06 14:03:33 +02:00
Lasse Holmstedt
cc0050bbb8 QML JS inspector: fix dock widget default state 2010-08-05 11:53:11 +02:00
Lasse Holmstedt
3e9193021c Qml JS Debugger: Change context path from Creator's crumble path 2010-08-03 12:37:45 +02:00
Lasse Holmstedt
f464de1cd5 Qml JS Inspector: Show "no context" element in crumble path when empty 2010-08-03 12:37:45 +02:00
Lasse Holmstedt
524d4453e5 Qml JS Inspector: Added context crumble path as a dock widget
The crumble path shows the current context of the debugger/inspector.
2010-08-02 17:31:11 +02:00
Lasse Holmstedt
118f253a38 QML JS Debugger: Don't update deltas when not debugging 2010-08-02 17:31:11 +02:00
Lasse Holmstedt
2c15b30a20 Qml JS Live Preview: Show warnings when running Live Preview
Two kinds of warnings are now shown: one for warning about the Live
Preview itself, as it is experimental, and another when user changes
id's of objects during runtime, as this is not supported at the moment.

More warnings will be added later for other unsupported changes.
2010-07-30 15:28:19 +02:00
Lasse Holmstedt
cdb5dadfc2 QmlJS Live Preview: Fixed highlighting from text editor-> qml observer
Now, the items about to be selected must inherit from QGraphicsObject.
Also, coding style was cleaned up a bit.
2010-07-27 11:58:38 +02:00
Lasse Holmstedt
c7a8d93765 QmlJS Live Preview: Implemented "Apply changes from Qml File" button
The button is checkable and pressing it will stop/propagate changes to
the qml application being debugged.
2010-07-27 11:58:38 +02:00
Olivier Goffart
f24216bdbb QmlJsDelta: moved to the QMLJS library
Also used 'int' instead of QDeclarativeDebugObjectReference for
the debug id in order not to use the private API from QMLJS
2010-07-21 14:27:38 +02:00
Olivier Goffart
95346f79e6 Qml Live Preview: lazily create QmlJSLiveTextPreview 2010-07-20 12:54:25 +02:00
Olivier Goffart
7bef076411 Qml Live Preview: Update the QmlJSLiveTextPreview When the document is reloaded.
When the document is reloaded by the server, we need to refresh
refresh what was the loaded document, and refresh the debugIds
2010-07-20 12:54:24 +02:00
Olivier Goffart
1ce574f19e Qml Live Preview: Match debug Id for new created objects. 2010-07-19 15:38:46 +02:00
Lasse Holmstedt
e0aa4f86f2 changing QmlJsLivePreview to work with multiple documents 2010-07-16 16:12:06 +02:00
hjk
0d8c1d7c7e compile fix 2010-07-14 17:49:18 +02:00
Lasse Holmstedt
20902cf189 Moved debug id -> AST mapping code to livepreview class 2010-07-14 17:47:59 +02:00