For a long string, only the parts needed to fill the Value column is
retrieved. Trying to edit (double click on Value entry) this resulted
in truncation of the string.
Change-Id: I1e993bfe52cee933bd32c866448eedc788807bd3
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
... when passing data from the dumpers to the GUI. This reduces
the need to guess whether a value contains a translatable string.
Change-Id: I5e2210b8d028bd71f0087a2ba5c7c5b04331b882
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This was originally present to prevent multiple evaluations of
the same items when using GDB/MI varobjs. This also prevented
a proper update of child item count. Until recently this did
not negatively affect the GUI due to excessive use of reset()
in the view. This has changed, so the missing update was visible now,
solved here by removing the cache, which is not needed anyways,
since we don't use varobjs anymore.
Task-number: QTCREATORBUG-14705
Change-Id: I3bbcd0525f02c10765f20be3a55708835747b307
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
... after the "Sort Members of Classes Alphabetically" option is
toggled. The option only influences the contents of the "Locals
and Expressions" view, so it is sufficient to update only that.
Change-Id: I9eade679eddbfb108c7ed478cce6c13fadcca317
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
There are two cases that do not coincide in asynchronous
engines such as the QmlEngine: Inserting a new watch item,
and expanding the children of an existing item.
Change-Id: Ic98a5f1e89aca37146039a241de737c407606e83
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This removes the need of bookkeeping on the engine side. It's
basically a kind of mark-and-sweep: On update begin mark items
that are expected to change as outdated, while data arrives, undo
that marking, and update end remove all remaining marked items.
Change-Id: I739b84869033d511d5c9a80605c079e87ef4f6a7
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
The actual problem here was a wrong use of the recursive
findItem() (instead of a check of the direct children).
That went unnoticed, as the recursive search happens
to find the right child *unless* the iname was empty,
which usually should not happen, but did here, since the
LLDB output was not as well-formed as expected.
Task-number: QTCREATORBUG-14660
Change-Id: I368d92c058354d829aab52c6cc37c7f350223dbe
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The usual Qt API for "takeXyz()" methods is to return the item that was
"taken".
Change-Id: Ie144051801487a301b3f13e2857735b65f58150b
Reviewed-by: hjk <hjk@theqtcompany.com>
This splits the bool setToolTipExpression() operation into
a bool canHandleToolTip(), and the actual processing of
the request, which is mostly identical to the handling of
a watcher.
Handling a watcher is now mostly the same as a full Locals
update, except for the 'partial' flag. Pushing the handling
of that down to the bridges gives identical code paths
in the gdb and lldbengine. Move that to the
DebuggerEngine base class.
Change-Id: I3861b43e8630c7e7bd57fcd549b2a2387e3d4869
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Name and type columns were not properly grayed out.
Change-Id: I4120329e6d8f4e6fa33859056cafd07f69b642bd
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This practically removes any functionality beyond plain plot display,
but does that at least reliably, cross-platform, without dependency
on 3rd party python packages.
Change-Id: Iaff2f78595394522f32264c642df20dd48b83f8b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Untranslated for now due to the 3.4 string freeze.
Change-Id: I5c1663acb8c22c591f8809d666a84a078db3490f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
After the tree model changes, the main insertion path did
not trigger the update in the separate Window anymore.
Task-number: QTCREATORBUG-14101
Change-Id: I90d8c0874be473a67c6260ca9bf63099f5d54a06
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Theme the text colors of
- the debugger's log window
- the debugger's watch items
In particular, the watch items were hard to read (default color was
black, color for changed value was red).
For the dark theme, the default color for watch items is now white
(the text color), changed items appear red, and invalid items
appear grey.
Change-Id: I7f9534b054c44d635b106fa0e9ac70479c9fcac5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
That fixes a recent regression. If a dumper announces to have children,
but doesn't produce any we re-tried for ever. This is reproducible e.g.
by putting an 'return' before any 'if d.isExpanded():' stanza in a
dumper and triggering that dumper.
Keep track of expanded items, and only ask for children once per
location change.
Change-Id: I349fdc7380444eb3ac9fa2fae098a3f3e7658195
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The current setup (dumper->gui: list of descriptions,
gui->dumper: index in list) is fragile and not easily
i18n'able. Go with an enum based approach now.
Change-Id: Ie78c596065a8b2ba87ad725274da29d4be3a6da4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This makes WatchModel practically a WatchHandlerPrivate.
Change-Id: Iaf3435711012af5e233a7dfc0dc0caf9c8c3ab24
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... in WatchHandler and DebuggerEngine interface.
Adjust using code.
Change-Id: I6371f3e96ba46a783e23a5767cdde24a10d3fce7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
In that state one should be able to remove them.
Change-Id: I9c1383decb087971cdc01607c32801f6ac22f99d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
It's the color of the value field, not of the whole item.
Change-Id: I1dd63ae21469ec784aefa278d379f819280067d9
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Counting the watcher number in a global scope, so they don't get
reinitialized incorrectly with a new engine.
Change-Id: Ifd9efb320e2c0f20b2e2845348a98961f72bf28c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>