Enabled the use of Debugger-specific watch/locals models.

- Modified WatchModel to handle storage of an hierarchy
  of WatchItems.
- Factored out code for asynchronous population to
  AsyncWatchModel and added a mixin for convenient
  handling
- Added base class for synchronous models.
- Implement simple, synchronous models for CDB, greatly
  simplifying code and finally getting manual
  expansion right.
Signed-off-by: hjk <qtc-committer@nokia.com>
This commit is contained in:
Friedemann Kleint
2009-07-10 14:36:28 +02:00
parent b0227ce496
commit abf5e3ddc3
29 changed files with 1798 additions and 697 deletions

View File

@@ -46,6 +46,7 @@ class QModelIndex;
class QPoint;
class QTimer;
class QWidget;
class QTreeView;
class QDebug;
QT_END_NAMESPACE
@@ -307,7 +308,6 @@ public slots:
void detachDebugger();
void addToWatchWindow();
void updateWatchData(const WatchData &data);
void sessionLoaded();
void sessionUnloaded();
@@ -418,6 +418,7 @@ public:
private:
void init();
void runTest(const QString &fileName);
void initializeWatchModels(IDebuggerEngine *engine);
QDockWidget *createDockForWidget(QWidget *widget);
Q_SLOT void createNewDock(QWidget *widget);
void updateDockWidget(QDockWidget *dockWidget);
@@ -483,13 +484,12 @@ private:
QWidget *m_breakWindow;
QWidget *m_disassemblerWindow;
QWidget *m_localsWindow;
QTreeView *m_localsWindow;
QWidget *m_registerWindow;
QWidget *m_modulesWindow;
//QWidget *m_tooltipWindow;
QWidget *m_stackWindow;
QWidget *m_threadsWindow;
QWidget *m_watchersWindow;
QTreeView *m_watchersWindow;
DebuggerOutputWindow *m_outputWindow;
int m_status;