debugger: more handler/window refactoring

This commit is contained in:
hjk
2010-11-05 19:38:40 +01:00
parent 1dacb9e55f
commit b373da1b12
23 changed files with 297 additions and 489 deletions

View File

@@ -32,20 +32,15 @@
#include <QtCore/QList>
#include <QtCore/QObject>
QT_BEGIN_NAMESPACE
class QAbstractItemModel;
class QSortFilterProxyModel;
QT_END_NAMESPACE
#include <QtGui/QSortFilterProxyModel>
namespace Debugger {
class DebuggerEngine;
namespace Internal {
class ModulesModel;
class ModulesHandler;
//////////////////////////////////////////////////////////////////
//
@@ -96,6 +91,45 @@ public:
typedef QList<Module> Modules;
//////////////////////////////////////////////////////////////////
//
// ModulesModel
//
//////////////////////////////////////////////////////////////////
class ModulesModel : public QAbstractItemModel
{
// Needs tr - context.
Q_OBJECT
public:
ModulesModel(ModulesHandler *parent);
// QAbstractItemModel
int columnCount(const QModelIndex &parent) const
{ return parent.isValid() ? 0 : 5; }
int rowCount(const QModelIndex &parent) const
{ return parent.isValid() ? 0 : m_modules.size(); }
QModelIndex parent(const QModelIndex &) const { return QModelIndex(); }
QModelIndex index(int row, int column, const QModelIndex &) const
{ return createIndex(row, column); }
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
QVariant data(const QModelIndex &index, int role) const;
void clearModel();
void addModule(const Module &module);
void removeModule(const QString &moduleName);
void setModules(const Modules &modules);
void updateModule(const QString &moduleName, const Module &module);
const Modules &modules() const { return m_modules; }
private:
int indexOfModule(const QString &name) const;
Modules m_modules;
};
//////////////////////////////////////////////////////////////////
//
// ModulesHandler
@@ -107,7 +141,7 @@ class ModulesHandler : public QObject
Q_OBJECT
public:
explicit ModulesHandler(DebuggerEngine *engine);
ModulesHandler();
QAbstractItemModel *model() const;