summaryrefslogtreecommitdiffstats
path: root/pokemodr/TilemapModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemodr/TilemapModel.cpp')
-rw-r--r--pokemodr/TilemapModel.cpp155
1 files changed, 0 insertions, 155 deletions
diff --git a/pokemodr/TilemapModel.cpp b/pokemodr/TilemapModel.cpp
deleted file mode 100644
index cddaa035..00000000
--- a/pokemodr/TilemapModel.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Header include
-#include "TilemapModel.h"
-
-// PokeModr includes
-#include "ObjectUI.h"
-#include "MapUI.h"
-
-// Pokemod includes
-#include "../pokemod/Tile.h"
-
-// KDE includes
-#include <KComboBox>
-
-TilemapModel::TilemapModel(QObject* parent, Matrix<int>* map, const Pokemod* pokemod) :
- QAbstractTableModel(parent),
- m_map(map),
- m_pokemod(pokemod)
-{
-}
-
-int TilemapModel::rowCount(const QModelIndex&) const
-{
- return m_map->height();
-}
-
-int TilemapModel::columnCount(const QModelIndex&) const
-{
- return m_map->width();
-}
-
-QVariant TilemapModel::data(const QModelIndex& index, int role) const
-{
- if (!index.isValid())
- return QVariant();
- if (role == Qt::DisplayRole)
- {
- int idx = m_pokemod->tileIndex(m_map->at(index.row(), index.column()));
- if (idx != INT_MAX)
- return m_pokemod->tile(idx)->sprite();
- }
- if (role == Qt::EditRole)
- return m_map->at(index.row(), index.column());
- if (role == Qt::ToolTipRole)
- {
- int idx = m_pokemod->tileIndex(m_map->at(index.row(), index.column()));
- if (idx != INT_MAX)
- return m_pokemod->tile(idx)->name();
- }
- return QVariant();
-}
-
-QVariant TilemapModel::headerData(int section, Qt::Orientation, int role) const
-{
- if (role != Qt::DisplayRole)
- return QVariant();
- return QString::number(section);
-}
-
-bool TilemapModel::setData(const QModelIndex& index, const QVariant& value, int role)
-{
- if (role != Qt::EditRole)
- return false;
-// emit(setDataChanged(index, index));
- m_map->set(index.row(), index.column(), m_pokemod->tile(value.toInt())->id());
- emit(dataChanged(index, index));
- return true;
-}
-
-Qt::ItemFlags TilemapModel::flags(const QModelIndex&) const
-{
- return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
-}
-
-bool TilemapModel::addRow()
-{
- return insertRows(m_map->height(), 1);
-}
-
-bool TilemapModel::addColumn()
-{
- return insertColumns(m_map->width(), 1);
-}
-
-bool TilemapModel::insertRows(int row, int count, const QModelIndex&)
-{
- emit(beginInsertRows(QModelIndex(), row, row + count));
- if (m_map->width())
- {
- for (int i = 0; i < count; ++i)
- m_map->insertRow(row);
- }
- else
- {
- m_map->addColumn();
- insertColumns(0, 0);
- }
- emit(endInsertRows());
- return true;
-}
-
-bool TilemapModel::insertColumns(int column, int count, const QModelIndex&)
-{
- emit(beginInsertColumns(QModelIndex(), column, column + count));
- if (m_map->height())
- {
- for (int i = 0; i < count; ++i)
- m_map->insertColumn(column);
- }
- else
- {
- m_map->addRow();
- insertRows(0, 0);
- }
- emit(endInsertColumns());
- return true;
-}
-
-bool TilemapModel::removeRows(int row, int count, const QModelIndex&)
-{
- if (m_map->height() == 1)
- removeColumns(0, m_map->width());
- emit(beginRemoveRows(QModelIndex(), row, row + count - 1));
- for (int i = 0; i < count; ++i)
- m_map->deleteRow(row);
- emit(endRemoveRows());
- return true;
-}
-
-bool TilemapModel::removeColumns(int column, int count, const QModelIndex&)
-{
- if (m_map->width() == 1)
- removeRows(0, m_map->height());
- emit(beginRemoveColumns(QModelIndex(), column, column + count - 1));
- for (int i = 0; i < count; ++i)
- m_map->deleteColumn(column);
- emit(endRemoveColumns());
- return true;
-}