In several places, it says '#include "..."' for headers
from different libraries/plugins.
Change-Id: I96cd74fef9b30163adefe3e1720e0847bed9553a
Reviewed-by: hjk <hjk121@nokiamail.com>
Predefined entries like "Locals" do not have a value.
Remove asserts on every startup:
SOFT ASSERT: "!result.isEmpty()" in file
/home/kkoehne/dev/creator-2.8/src/plugins/debugger/watchhandler.cpp,
line 956
Change-Id: I16b97c61256c6083440b9fa228113be9d0867e5d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Now 'address' always refers to the address of the object or
field mentioned in a WatchItem whereas 'origaddr' is
optionally used for the address of the pointer (not its
value) pointing to the object/field in case of "autoderef"
pointers.
Change-Id: I718eb13e6147dafca016c85db6c8b31c631cc764
Reviewed-by: hjk <hjk121@nokiamail.com>
Close separate displays when watch models get destroyed, make
geometry persistent in the session.
Change-Id: I67a22b0a17fa63441073f8ad0b06bcc0f49b348c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Clang complains that these values may be used uninitialized if both
conditions are false. This can actually not happen, so just initialize
them to 0 to quiten up the compiler.
Change-Id: I32530b974058e3484b5e7005717b7cd389cf7305
Reviewed-by: hjk <hjk121@nokiamail.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
Refactor the separate view from directly using a QTabWidget to a subclass
so that the necessary signal can be hooked up.
Change-Id: Ibc2653d554882a36a85162708021422843057bc1
Reviewed-by: hjk <qthjk@ovi.com>
As widgets are added and deleted from the tab widget, they can end
up in almost any order. As a result, when the window is raised, the
current tab does not necessarily reflect an item currently in the
watch view. Instead, make a tab the current one as it is added,
ensuring one of the currently relevant values is displayed by default.
Change-Id: Ia2d2eb60c844a008f8086820564dd20389ce519b
Reviewed-by: hjk <qthjk@ovi.com>
- Close window after last tab has been removed.
- Remove type name from tab title (results in too-long tab titles
for templates).
Change-Id: If4b55423261ed4992b8a7e983704006fdda86843
Reviewed-by: hjk <qthjk@ovi.com>
Debugger display in separate windows currently opens several
widgets without title at the same location that disappear
below the main window when stepping.
Put them in a tabwidget and raise it when setting new values.
Task-number: QTCREATORBUG-8344
Change-Id: Icb6dd8942ab851aeeb6a9248c4a1360e8841cf61
Reviewed-by: hjk <qthjk@ovi.com>
QML objects are fetched lazily when constructing the object tree.
Incase parents have not been previously fetched, we fetch the
required data to construct only the relevant branch of the tree.
Task-number: QTCREATORBUG-8246
Change-Id: Id529c3b2334d33ff4eb46b14f50cf042ad2960e2
Reviewed-by: hjk <qthjk@ovi.com>
Inspector follows a different cycle and its contents are
always valid during a debug session. Show the values in
Locals and Expressions as valid for user to interact
with them.
Task-number: QTCREATORBUG-8167
Change-Id: If2f622de5b8bf6da78571bc007efd19602a5f389
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The watchhandler needs to be reset for locals before
inserting the values of a new frame. Also the DebuggerTooltipManager
needs to be notified. The values of the locals in the
LocalsAndExpressions window should be editable.
Task-number: QTCREATORBUG-7992
Change-Id: I556e23b408db09b510f1f2bc350ff55187ec87c2
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
This is fixing a regression introduced recently during the
WatchModel rework.
Change-Id: I128368e78d00f1ef1fc96f7319b19873099396fa
Reviewed-by: hjk <qthjk@ovi.com>
For editor tooltips and the editor context menu
'Watch expression', always try to find a local variable first
and use its expression.
Change the tooltip manager/widgets not to rely on the debugger
model enum and obscure expression, filter by complete iname
instead. Remove obsolete enumeration.
Change gdb's handling of tooltips such that local variables
are displayed immediately without creating additional tooltip
items.
Change-Id: I9b55823428029ba50d84d3a8cab55eb58942e72b
Reviewed-by: hjk <qthjk@ovi.com>
Fix gdmi escape routine by using a traits class to adapt
QByteArray/QString.
Change-Id: Ic6d2a0c927e4613aec9f69095bbb04a393e9edb9
Reviewed-by: hjk <qthjk@ovi.com>
- Compile with QT_NO_CAST_FROM_ASCII.
- Remove single character string constants.
Change-Id: Icece98619b6c30e047d3fce00e6ae74bbcd53c67
Reviewed-by: hjk <qthjk@ovi.com>
Use 'origaddr' as gdb does. Do not append address to watch value
if it is already contained in the value.
Fixes the currently grayed-out 'Open memory editor at referenced
address'.
Change-Id: I6f7cf5b7984f93606ad4bb0872348f51c73f9117
Reviewed-by: hjk <qthjk@ovi.com>
Since a reference is "the same thing" it does not make sense
to offer different choices of displays.
Change-Id: Id9ee31b6f1a8fcc9ff3a523a055017e781249d18
Reviewed-by: hjk <qthjk@ovi.com>