view editor/edres.cpp @ 1896:f80b2dc77c30

Work begins on IFF ILBM/PBM image writer. It is pretty broken, some things will not work and some things are hardcoded. The ByteRun1 compression implementation is somewhat inefficient. Interleaved files do not work yet.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 26 Jun 2018 03:13:38 +0300
parents e2ac08228a0f
children
line wrap: on
line source

#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;
}