Commit Graph

180 Commits

Author SHA1 Message Date
hjk
b1d255efeb debugger: fix removal of dummy <Edit> watch item using the <Del> key 2011-03-17 19:37:07 +01:00
hjk
82b7e9befd debugger: persist 'AlwaysAdjust*ColumnWidths' settings
Task-number: QTCREATORBUG-2836
2011-03-16 18:49:01 +01:00
Friedemann Kleint
6c15cbbee9 Debugger: Enable updates in watchwindow when changing model.
Might be left in disabled state in case engine binary crashes
while expanding locals.

Task-number: QTCREATORBUG-3099
2011-03-03 10:39:05 +01:00
hjk
2780ff6f22 debugger: refactor watch point lookup
In preparation of bitfield watch points.
2011-03-01 19:17:03 +01:00
Friedemann Kleint
cbafc50acc Debugger: Make tooltips use standard text editor tooltips.
Extend text editor tooltips by a 'widget content', making
it possible to show any widget utilizing the fact that the
QTipLabel actually is a frame (and thus a container).
Introduce concept of 'interactive' tooltips and modify
the tooltip-closing mechanism such that simple interaction
is possible. Emit the base text editor's tooltip signals
with the correct position and add API to calculate the tooltip
position from the cursor position.
Add API for pinning tooltips to the text editor (by removing
them from the QTipLabel layout).
Modify the Debugger's tooltipmanager not to manage tooltips
under TextEditor control and to take over control only once
tooltips are pinned.

Rubber-stamped-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-02-21 16:51:00 +01:00
hjk
98c4b82c2d debugger: make output format of non-printable characters customizable 2011-02-17 19:01:07 +01:00
hjk
0d4ef2939f debugger: remove obstructing frame around l&w item delegates 2011-02-17 16:32:50 +01:00
Friedemann Kleint
cae3037df4 Debugger: Add functionality for copying watch data to clipboard.
in watch window and tooltips.
2011-02-14 09:40:43 +01:00
Friedemann Kleint
7bae5dd556 Debugger: Fix action to remove all watch items. 2011-01-17 09:12:37 +01:00
Friedemann Kleint
2f6a86d6a5 Debugger: Add some menu actions.
- Windows: Inspect a module by running depends.
- Clear all watches.
2011-01-14 17:28:37 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
b1bcf081d8 Merge branch '2.1'
Conflicts:
	src/plugins/coreplugin/basemode.cpp
	src/plugins/coreplugin/basemode.h
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.cpp
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.h
	src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp
	src/plugins/debugger/debuggeragents.cpp
	src/plugins/debugger/debuggeruiswitcher.cpp
	src/plugins/debugger/debuggeruiswitcher.h
	src/plugins/projectexplorer/buildconfigdialog.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
	src/plugins/qmldesigner/designercore/include/enumeratormetainfo.h
	src/plugins/qmldesigner/designercore/include/modelutilities.h
	src/plugins/qmldesigner/designercore/include/nodeinstance.h
	src/plugins/qmldesigner/designercore/include/propertymetainfo.h
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.h
	src/plugins/qmldesigner/designercore/instances/graphicsviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.h
	src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/qmlviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.h
	src/plugins/qmldesigner/designercore/metainfo/enumeratormetainfo.cpp
	src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
	src/plugins/qmldesigner/designercore/model/modelutilities.cpp
	src/plugins/snippets/inputwidget.cpp
	src/plugins/snippets/snippetscompletion.cpp
	src/plugins/snippets/snippetscompletion.h
	src/plugins/snippets/snippetspec.cpp
	src/plugins/snippets/snippetsplugin.cpp
	src/plugins/snippets/snippetswindow.cpp
	src/plugins/snippets/snippetswindow.h
	src/plugins/texteditor/snippetsparser.cpp
	src/tools/qml/qmldom/main.cpp
	tests/manual/trk/runner.cpp
	tests/manual/trk/trkolddevice.cpp
	tests/manual/trk/trkolddevice.h
	tests/manual/trk/trkserver.cpp
2010-12-17 17:00:53 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
hjk
efeb329a58 debugger: move memory related context menu items of l&w to submenu 2010-12-16 12:32:55 +01:00
hjk
5ed710552c debugger: merge the 'Change Format for {Object,Type}' l&w context menu entries 2010-12-16 10:44:48 +01:00
hjk
33fba20428 debugger: change 'Format' to 'Display' in the l&w context menu 2010-12-15 14:48:03 +01:00
hjk
cfd2dbb395 debugger: split debuggeragents.{h,cpp} int {memory,disassembler}agent.{h,cpp} 2010-12-08 16:48:35 +01:00
hjk
7d8d51677b debugger: polish module symbols 2010-11-26 11:27:25 +01:00
hjk
a9f825fc2e debugger: remove needless indirection 2010-11-26 11:27:25 +01:00
hjk
950a12f687 debugger: save a few cycles when updating a large locals view 2010-11-25 18:44:53 +01:00
Friedemann Kleint
2960c735df Debugger/CPP: Move helpers to simplify types to CPlusPlus-lib.
Make available for log simplification, etc.
Add autotest, fix broken std::set and MSVC.

Rubber-stamped-by: Christian Kamm <christian.d.kamm@nokia.com>
2010-11-25 13:51:54 +01:00
hjk
8ae541b36f debugger: Refactor breakpoint handling.
The breakpoints are now (fairly) tightly guarded by the BreakpointHandler.
Engines and Views are only supposed to refer to them by id. They also have
individual states now. The breakpoint data is split into a "user requested"
"fixed" part in BreakpointData and the engines' acknowledged data in a new
struct BreakpointResponse.

TODO: Move m_state and m_engine members to BreakpointResponse. Fix regressions
in the marker handling.
2010-11-15 12:09:25 +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
hjk
b373da1b12 debugger: more handler/window refactoring 2010-11-08 13:20:12 +01:00
hjk
6d0f22b1bd debugger: add a dot to a message 2010-11-05 13:36:18 +01:00
hjk
4ad493c958 debugger: re-enable functions and cleanup after breakhandler move 2010-11-04 11:28:08 +01:00
Friedemann Kleint
82f80d5403 Debugger[CDB]: Do not evaluate watch expressions at all.
setError() on them instead (should there be any from
a session mixup). Give the session engine watcher
capabilities and ensure 'Remove watch item' is enabled
for the session engine by checking the debugger state.

Reviewed-by: hjk
2010-10-11 12:59:49 +02:00
hjk
ea4b64dee4 debugger: remove rarely needed "Recheck Debuggging Helper Availability"
context menu entry.

It was more a debugger debugging aid in the early days of compiled dumpers
anyway.

Reviewed-by: Friedemann Kleint
2010-09-28 13:15:42 +02:00
Friedemann Kleint
f536079585 Debugger: Streamline watch editing code.
Implement WatchModel::data() to return the right values
for Qt::EditRole, obsoleting the role matching in the delegate.
Similarly, handle Qt::EditRole in setData(), leaving only
'Change watch expression' in the delegate, which removes
and recreates a row, causing crashes when done in setData().
2010-09-24 10:38:17 +02:00
Friedemann Kleint
13c97d652e Debugger: Fixes around watch editing.
assignValueInDebugger: Pass on WatchData as well, pass
on values as QVariant. Based on that, do more extensive
checks in CDB, preventing assignment of non-PODs.

Locals/Watch editing:
* Disable while running
* Edit pointer values as hex with validation.

CDB: Strip class types off reported pointer values and reformat
the values as short 0x-pointer values, introduce flag to
WatchData::source to do dumper expansion handling.

Windows: recognize int64 as int.

Register handler: Fix accessing uninitialized value.
2010-09-23 13:22:08 +02:00
hjk
034bb72dc4 debugger: make alphabetic sorting of struct members optional.
Task-number: QTCREATORBUG-1608
2010-09-23 11:17:01 +02:00
Friedemann Kleint
ca808cc7b4 Debugger: Add special widgets for editing watch values.
Create delegate widgets with validation for bool/int/float
types, using a QVariant-type modelData property.
Also fix register editing to be validated for quint64 values
and editing longer values as hex bigints. Anything else is not
editable.
2010-09-22 17:30:22 +02:00
hjk
1d3606f4b9 debugger: provide a method to copy Locals&Watchers contents into a main editor.
Task-number: QTCREATORBUG-982
2010-09-08 09:10:22 +02:00
hjk
3f36dbd81a debugger: simplify code for inserting new watchitems 2010-07-23 18:20:13 +02:00
hjk
d27ec169d0 debugger: do not insert multiple "<Edit>" placeholders when creating new watch
items
2010-07-22 15:35:06 +02:00
hjk
dc6480fd6b debugger: open a new watch item on double click in the locals&watchers view
An attempt to fix http://bugreports.qt.nokia.com/browse/QTCREATORBUG-1841
2010-07-14 15:40:05 +02:00
hjk
bc325eb9ab debugger: disable some watch related actions when appropriate 2010-07-14 15:40:05 +02:00
hjk
eb75f40a98 debugger: allow per item selection of display method in Locals&Watchers 2010-06-25 09:16:55 +02:00
hjk
658a22766d debugger: remove special case for char * python dumpers.
This is handled by the generic pointer case nowadays and was (now) wrong
as it was impossible to see the 'bald pointer' version of it.
2010-06-23 16:30:42 +02:00
hjk
a25fd01a10 debugger: simplify handling of context menu actions of the Locals&Watchers view 2010-06-23 16:16:32 +02:00
hjk
6a6cba5518 debugger: The DebuggerEngine refactoring.
This replaces the (de facto) singleton engines and data handlers by classes
that are instantiated per run. The DebuggerRunControl will now create an
object of (a class derived from) DebuggerEngine that contains all the relevant
"dynamic" data.

DebuggerManager is no more. The "singleton" bits are merged into DebuggerPlugin,
whereas the data bits went to DebuggerEngine.

There is no formal notion of a "current" DebuggerEngine. However, as there's
only one DebuggerEngine at a time that has its data models connected to the
view, there's still some "de facto" notion of a "current" engine. Calling
SomeModel::setData(int role, QVariant data) with custom role is used as the
primary dispatch mechanism from the views to the "current" data models
(and the engine, as all data models know their engine).
2010-06-22 10:59:57 +02:00
Robert Loehning
7707fc0c69 Debugger: Made menu captions more explicit 2010-05-20 21:45:18 +02:00
Robert Loehning
e2e495a116 Debugger: Enabled removing watchpoints using context menu 2010-05-20 20:25:54 +02:00
Robert Loehning
e40c28cc2f Debbuger: Checking menu action if watchpoint is set 2010-05-20 19:49:52 +02:00
Robert Loehning
466518808c Removed pointless lines 2010-05-20 19:49:51 +02:00
Friedemann Kleint
9af9c91f93 Debugger/WatchWindow: Add menu options to show pointed to addresses.
Change the WatchWindow handling to be based on quint64 addresses to
ensure proper function. Changed roles and added one role to the
watchmodel to obtain addresses and pointed-to addresses. Add some
fiddling to parse out addresses from debugger values.
Add menu options. Make sure only one watchpoint per address is added.
2010-05-19 17:34:47 +02:00
Robert Loehning
a25280fca0 Revert "debugger: Open memory editor at pointee address, not at pointer address"
This reverts commit 07b118197a.

Does not work when display format was changed.
2010-05-19 16:11:47 +02:00
hjk
07b118197a debugger: Open memory editor at pointee address, not at pointer address 2010-05-19 15:37:11 +02:00
hjk
5c4b0f8866 debugger: fix resetting type formats in Locals and Watchers 2010-05-19 15:16:30 +02:00
hjk
d2e9658e13 debugger: use book case also in new actions 2010-05-18 12:13:27 +02:00