This has been a mis-nomer since the Local and per-Type format
submenues were merged into a single submenu.
Change-Id: I07068a6909b30c961bfc956d8ea5c0be5cf0e45d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
The menu items should end in "..." if and only
if they open a new window, not a submenu.
Change-Id: Ibf1bbbe8cc4d1ef6384bd76535644a61458530fd
Reviewed-by: hjk <hjk@theqtcompany.com>
With QStringArgBuilder, QString::arg() doesn't return exactly QString,
which means we need to help the ?: operator to choose which return value
it should have.
Change-Id: I578383ac45d0bf9c6700d2f09bdfc126a81e54d7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
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>
... when engine does not support watcher insertion while running.
Change-Id: I1b4500f75b43176df7dc31f4a5840afb2347dd36
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>
We don't need the remove/re-insert cycle in the new model,
so the expression modification can be done directly.
Change-Id: If9626f48fcfbcf75e61d332afb59b986da6c2dbc
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
This can legitimately be triggered by from a
QAbstractItemViewPrivate::doDelayedReset() after
the model has been destroyed.
Change-Id: Id0b4f45c8386485a1128bfbeed3366caa87c6bfa
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Too much layers of complexity. Instead of keeping an eye on
the "live" tree model and switch to a static StandardItemModel
whenever live synchronization is not possible (and do all the
tree view snake oil magic that's needed to make the switch
appear "smooth") keep static copies of relevant parts of the
live model, and update them whenever the the live model changes.
Change-Id: I88a7de67f7703cd2fed041351346b1c7ada0839e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Use register names as handle, not their index in the view.
Store the raw real values, not some stringified version
as primary data. Use subentries to break down bigger
registers into smaller entities. Also remember the
previous value of a register and show it in a tooltip.
Change-Id: I8ae3cc8766a7b211bc7cc827c734e5cf6060825c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Nested event loops can lead to crashes, so it is better to use a dialog
which does not have have its own event loop.
Change-Id: Icd2390c9026bc1ef88e72a570df5813fe5cbdaa2
Reviewed-by: hjk <hjk121@nokiamail.com>
One indirection less on the user code side, and easier to export
if needed (partially addressing QTCREATORBUG-13187)
Change-Id: I13ab9f471a3a34da7a6331aefc83f6d02413bfab
Reviewed-by: David Schulz <david.schulz@digia.com>
Move some function out of the DebuggerCore "namespace", to avoid one
indirection and removes clutter in the calling code.
Change-Id: I1c870d5c7eeade32fa63dedf581490fbb090cd6a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Fix expansion and updating.
Persistence and non-locals are still lacking.
Change-Id: I74e25199d50350516afc686a05836e239bfc8acb
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Some of them can be laborous to retype, so keep some history.
Change-Id: Ibc12077f77fc5acc901c95001fb95bfb89763758
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Instead pop up the "Add new expression dialog". Same amount of activity
needed, but more uniform in UI and code and hopefully less confusion
about the now-gone <Edit> marker.
Change-Id: I228801dc51f6d09ea9991b98399dc9ef04aa96c8
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Turns out setting the column resize mode on the view itself
is counter-productive as it takes away the ability to
manually re-adjust.
So set the mode only temporarily to get the preferred width
than switch back to manually resize mode and use the hint
to set some initial size. Also use the length of the header
label as absolute minimum.
Change-Id: Ic17e31334b23ce6d541f9459cd22be65145046d3
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Hopefully more logical now and not too confusing for old-timers.
Change-Id: Iee2124d365bf9a05462b7027792e1efc4c273a3f
Reviewed-by: David Schulz <david.schulz@digia.com>
GDB does return dynamic types nowadays, and some widgets are
not plain QWidgets but subclasses...
Change-Id: If3b7b0f7d639858eeb1e42659a649db22822c20f
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
The previous index based way was getting too brittle, use enums instead.
Also add a switch between exponential and flat display for floating
point types.
Task-number: QTCREATORBUG-12050
Change-Id: I86addbac5a80e8b79b176c6107b251b466503fe7
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Also fix WatchTreeView to use double click activation like every other
debugger view.
Change-Id: Idabe21e12d38d59bef66b7d9855a7fe97089dd8f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>