1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-22 18:32:44 +01:00
openrw/rwviewer/ItemListModel.cpp
Daniel Evans cfca1cbdc8 Refactor Object data into heirarchy
+ All Object Data classes inheirt from ObjectInformation which stores
  the ID and class_type, which maps to the IDE name.
- Remove all object mappings except for objectTypes, which now stores
  all of them.
2014-09-17 03:13:02 +01:00

60 lines
1.2 KiB
C++

#include "ItemListModel.hpp"
qint16 ItemListModel::getIDOf(unsigned int row) const
{
if( row < world()->objectTypes.size() )
{
return row;
}
return -1;
}
ItemListModel::ItemListModel(GameWorld *world, QObject *parent) :
QAbstractTableModel(parent), _world( world )
{
}
int ItemListModel::rowCount(const QModelIndex &parent) const
{
return _world->objectTypes.size();
}
int ItemListModel::columnCount(const QModelIndex &parent) const
{
return 2;
}
QVariant ItemListModel::data(const QModelIndex &index, int role) const
{
if ( role == Qt::DisplayRole ) {
qint16 id = getIDOf(index.row());
if( id == -1 ) return QVariant::Invalid;
if( index.column() == 0 ) {
return id;
}
else if ( index.column() == 1 ) {
return QString::fromStdString("TODO");
}
}
return QVariant::Invalid;
}
QVariant ItemListModel::headerData(int section, Qt::Orientation orientation, int role) const
{
if(role == Qt::DisplayRole && orientation == Qt::Horizontal) {
if(section == 0) {
return "ID";
}
if(section == 1) {
return "Model";
}
}
return QVariant::Invalid;
}
QModelIndex ItemListModel::index(int row, int column, const QModelIndex &parent) const
{
return hasIndex(row, column, parent) ? createIndex(row, column, getIDOf(row)) : QModelIndex();
}