Debugger: Make tooltips pinnable.

Replace old debugger tooltip by a new ToolTipManager which
has a list of AbstractDebuggerToolTipWidget with the functionality
to 'acquire' an engine (display its data) and 'release' it
(store engine data and display them as 'previous') and serialization
to XML session data.
DebuggerTreeViewToolTipWidget implements AbstractDebuggerToolTipWidget
for tree model acting as  a filter on watch models.

Rubber-stamped-by: hjk
This commit is contained in:
Friedemann Kleint
2011-02-11 15:00:13 +01:00
parent 80b2b71a5b
commit 0ac879e39f
29 changed files with 1717 additions and 409 deletions

View File

@@ -60,6 +60,7 @@ class AbstractGdbAdapter;
class AbstractGdbProcess;
class GdbResponse;
class GdbMi;
class GdbToolTipContext;
class WatchData;
class DisassemblerAgentCookie;
@@ -325,6 +326,7 @@ private: ////////// Inferior Management //////////
void executeNextI();
void continueInferiorInternal();
void doNotifyInferiorRunOk();
void autoContinueInferior();
void continueInferior();
void interruptInferior();
@@ -474,8 +476,7 @@ private: ////////// View & Data Stuff //////////
// Watch specific stuff
//
virtual void setToolTipExpression(const QPoint &mousePos,
TextEditor::ITextEditor *editor, int cursorPos);
TextEditor::ITextEditor *editor, const DebuggerToolTipContext &);
virtual void assignValueInDebugger(const WatchData *data,
const QString &expr, const QVariant &value);
@@ -555,10 +556,11 @@ private: ////////// View & Data Stuff //////////
AbstractGdbProcess *gdbProc() const;
void showExecutionError(const QString &message);
void removeTooltip();
static QByteArray tooltipIName(const QString &exp);
QString m_toolTipExpression;
QPoint m_toolTipPos;
QString tooltipExpression() const;
void clearToolTip();
QScopedPointer<GdbToolTipContext> m_toolTipContext;
// For short-circuiting stack and thread list evaluation.
bool m_stackNeeded;