From c1c1221a0d479d5866e5ad3fa1df7ea62cb5147d Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 28 Jan 2015 10:42:43 +0100 Subject: [PATCH] Debugger: Make WatchItem accessible to engines Change-Id: I1586a4c4f11cc4d622a6e164875f5b6ee2e1eb18 Reviewed-by: Christian Stenger --- src/plugins/debugger/watchhandler.cpp | 75 ++++++++++----------------- src/plugins/debugger/watchhandler.h | 37 +++++++++++++ 2 files changed, 64 insertions(+), 48 deletions(-) diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index a91e0e50623..ffa02150d9b 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -114,54 +114,6 @@ static QByteArray stripForFormat(const QByteArray &ba) return res; } -//////////////////////////////////////////////////////////////////// -// -// WatchItem -// -//////////////////////////////////////////////////////////////////// - -class WatchItem : public TreeItem -{ -public: - WatchItem() : fetchTriggered(false) {} - - WatchItem(const QByteArray &i, const QString &n) - { - fetchTriggered = false; - d.iname = i; - d.name = n; - } - - WatchItem *parentItem() const { return dynamic_cast(parent()); } - const WatchModel *watchModel() const; - WatchModel *watchModel(); - - QVariant data(int column, int role) const; - Qt::ItemFlags flags(int column) const; - - bool canFetchMore() const; - void fetchMore(); - - QString displayName() const; - QString displayType() const; - QString displayValue() const; - QString formattedValue() const; - QString expression() const; - - int itemFormat() const; - - QVariant editValue() const; - int editType() const; - - void formatRequests(QByteArray *out) const; - void showInEditorHelper(QString *contents, int depth) const; - WatchItem *findItem(const QByteArray &iname); - -public: - WatchData d; - bool fetchTriggered; -}; - /////////////////////////////////////////////////////////////////////// // // SeparatedView @@ -1891,6 +1843,33 @@ TypeFormatItem TypeFormatList::find(int format) const return TypeFormatItem(); } +//////////////////////////////////////////////////////////////////// +// +// WatchItem +// +//////////////////////////////////////////////////////////////////// + +WatchItem::WatchItem() + : fetchTriggered(false) +{} + +WatchItem::WatchItem(const QByteArray &i, const QString &n) +{ + fetchTriggered = false; + d.iname = i; + d.name = n; +} + +WatchItem::WatchItem(const WatchData &data) + : d(data), fetchTriggered(false) +{ +} + +WatchItem *WatchItem::parentItem() const +{ + return dynamic_cast(parent()); +} + const WatchModel *WatchItem::watchModel() const { return static_cast(model()); diff --git a/src/plugins/debugger/watchhandler.h b/src/plugins/debugger/watchhandler.h index fece9f49e7b..c3f03b76483 100644 --- a/src/plugins/debugger/watchhandler.h +++ b/src/plugins/debugger/watchhandler.h @@ -44,6 +44,43 @@ namespace Internal { class SeparatedView; class WatchModel; +class WatchItem : public Utils::TreeItem +{ +public: + WatchItem(); + WatchItem(const QByteArray &i, const QString &n); + explicit WatchItem(const WatchData &data); + + WatchItem *parentItem() const; + const WatchModel *watchModel() const; + WatchModel *watchModel(); + + QVariant data(int column, int role) const; + Qt::ItemFlags flags(int column) const; + + bool canFetchMore() const; + void fetchMore(); + + QString displayName() const; + QString displayType() const; + QString displayValue() const; + QString formattedValue() const; + QString expression() const; + + int itemFormat() const; + + QVariant editValue() const; + int editType() const; + + void formatRequests(QByteArray *out) const; + void showInEditorHelper(QString *contents, int depth) const; + WatchItem *findItem(const QByteArray &iname); + +public: + WatchData d; + bool fetchTriggered; +}; + // Special formats. Keep in sync with dumper.py. enum DisplayFormat {