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

@@ -49,6 +49,7 @@ class QScriptValue;
QT_END_NAMESPACE
#include "idebuggerengine.h"
#include "asyncwatchmodel.h"
namespace Debugger {
namespace Internal {
@@ -107,14 +108,20 @@ private:
bool supportsThreads() const { return true; }
void maybeBreakNow(bool byFunction);
void updateWatchData(const WatchData &data);
void updateLocals();
void updateSubItem(const WatchData &data);
WatchModel *watchModel(int type) const { return m_models.model(type); }
private slots:
void updateWatchData(const WatchData &data);
private:
friend class ScriptAgent;
DebuggerManager *q;
IDebuggerManagerAccessForEngines *qq;
AsyncWatchModelMixin m_models;
QScriptEngine *m_scriptEngine;
QString m_scriptContents;