Mercurial > hg > dmlib
diff edres.cpp @ 403:d34922e6a244
Even more work towards the editor.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 19 Oct 2012 21:52:16 +0300 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/edres.cpp Fri Oct 19 21:52:16 2012 +0300 @@ -0,0 +1,74 @@ +#include "edres.h" +#include "dmengine.h" + + +QEDResourceModel::QEDResourceModel(QObject *parent) + : QAbstractTableModel(parent) +{ +} + + +int QEDResourceModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return nengineEffects; +} + + +int QEDResourceModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return 2; +} + + +QVariant QEDResourceModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + if (index.row() >= nengineEffects || index.row() < 0) + return QVariant(); + + if (role == Qt::DisplayRole) + { + DMEffect *ef = &engineEffects[index.row()]; + switch (index.column()) + { + case 0: + return QString(ef->name); + + case 1: + return QVariant(ef->nparams); + } + } + return QVariant(); +} + + +QVariant QEDResourceModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (role != Qt::DisplayRole) + return QVariant(); + + if (orientation == Qt::Horizontal) + { + switch (section) { + case 0: + return "Name"; + + case 1: + return "# params"; + } + } + return QVariant(); +} + + +Qt::ItemFlags QEDResourceModel::flags(const QModelIndex &index) const +{ + if (!index.isValid()) + return Qt::ItemIsEnabled; + + return QAbstractTableModel::flags(index); // | Qt::ItemIsEditable; +}