summaryrefslogtreecommitdiffstats
path: root/pokemodr/models/MapModel.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-05-20 22:24:45 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-05-20 22:24:45 +0000
commitd910d8ec38e0c33eeb32b7ceaaea9b40632cbd17 (patch)
treea2fd6b050b2eea3bf26e6d04121e07a478ca5d16 /pokemodr/models/MapModel.cpp
parent8ac53af4a15a59b8f6adf7a2468a1bd90a7cc549 (diff)
downloadsigen-d910d8ec38e0c33eeb32b7ceaaea9b40632cbd17.tar.gz
sigen-d910d8ec38e0c33eeb32b7ceaaea9b40632cbd17.tar.xz
sigen-d910d8ec38e0c33eeb32b7ceaaea9b40632cbd17.zip
[FIX] Models cleaned up (each class is now in its own file, parenting not hard-coded, etc.)
[FIX] Tree bug fixed! :) git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@157 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/models/MapModel.cpp')
-rw-r--r--pokemodr/models/MapModel.cpp219
1 files changed, 8 insertions, 211 deletions
diff --git a/pokemodr/models/MapModel.cpp b/pokemodr/models/MapModel.cpp
index e3834e1a..4fc65ae1 100644
--- a/pokemodr/models/MapModel.cpp
+++ b/pokemodr/models/MapModel.cpp
@@ -19,10 +19,10 @@
#include "MapModel.h"
// Model includes
-#include "MapEffectModel.h"
-#include "MapTrainerModel.h"
-#include "MapWarpModel.h"
-#include "MapWildListModel.h"
+#include "MapEffectGroupModel.h"
+#include "MapTrainerGroupModel.h"
+#include "MapWarpGroupModel.h"
+#include "MapWildListGroupModel.h"
// PokeModr includes
#include "../MapUI.h"
@@ -34,166 +34,6 @@
// Qt includes
#include <QFile>
-MapEffectGroupModel::MapEffectGroupModel(BaseModel* parent, Map* map) :
- GroupModel(parent, map, "Effects")
-{
- setupData();
-}
-
-MapEffectGroupModel::~MapEffectGroupModel()
-{
-}
-
-int MapEffectGroupModel::indexNumber() const
-{
- return 0;
-}
-
-bool MapEffectGroupModel::insertRows(const int rows)
-{
- for (int i = 0; i < rows; ++i)
- m_objects.append(new MapEffectModel(this, static_cast<Map*>(m_object)->newEffect()));
- return true;
-}
-
-bool MapEffectGroupModel::removeRows(const int position, const int rows)
-{
- for (int i = 0; i < rows; ++i)
- {
- static_cast<Map*>(m_object)->deleteEffect(position);
- delete m_objects[position];
- m_objects.removeAt(position);
- }
- return true;
-}
-
-void MapEffectGroupModel::setupData()
-{
- Map* map = static_cast<Map*>(m_object);
- for (int i = 0; i < map->effectCount(); ++i)
- m_objects.append(new MapEffectModel(this, map->effect(i)));
-}
-
-MapTrainerGroupModel::MapTrainerGroupModel(BaseModel* parent, Map* map) :
- GroupModel(parent, map, "Trainers")
-{
- setupData();
-}
-
-MapTrainerGroupModel::~MapTrainerGroupModel()
-{
-}
-
-int MapTrainerGroupModel::indexNumber() const
-{
- return 1;
-}
-
-bool MapTrainerGroupModel::insertRows(const int rows)
-{
- for (int i = 0; i < rows; ++i)
- m_objects.append(new MapTrainerModel(this, static_cast<Map*>(m_object)->newTrainer()));
- return true;
-}
-
-bool MapTrainerGroupModel::removeRows(const int position, const int rows)
-{
- for (int i = 0; i < rows; ++i)
- {
- static_cast<Map*>(m_object)->deleteTrainer(position);
- delete m_objects[position];
- m_objects.removeAt(position);
- }
- return true;
-}
-
-void MapTrainerGroupModel::setupData()
-{
- Map* map = static_cast<Map*>(m_object);
- for (int i = 0; i < map->trainerCount(); ++i)
- m_objects.append(new MapTrainerModel(this, map->trainer(i)));
-}
-
-MapWarpGroupModel::MapWarpGroupModel(BaseModel* parent, Map* map) :
- GroupModel(parent, map, "Warps")
-{
- setupData();
-}
-
-MapWarpGroupModel::~MapWarpGroupModel()
-{
-}
-
-int MapWarpGroupModel::indexNumber() const
-{
- return 2;
-}
-
-bool MapWarpGroupModel::insertRows(const int rows)
-{
- for (int i = 0; i < rows; ++i)
- m_objects.append(new MapWarpModel(this, static_cast<Map*>(m_object)->newWarp()));
- return true;
-}
-
-bool MapWarpGroupModel::removeRows(const int position, const int rows)
-{
- for (int i = 0; i < rows; ++i)
- {
- static_cast<Map*>(m_object)->deleteWarp(position);
- delete m_objects[position];
- m_objects.removeAt(position);
- }
- return true;
-}
-
-void MapWarpGroupModel::setupData()
-{
- Map* map = static_cast<Map*>(m_object);
- for (int i = 0; i < map->warpCount(); ++i)
- m_objects.append(new MapWarpModel(this, map->warp(i)));
-}
-
-MapWildListGroupModel::MapWildListGroupModel(BaseModel* parent, Map* map) :
- GroupModel(parent, map, "Wild Lists")
-{
- setupData();
-}
-
-MapWildListGroupModel::~MapWildListGroupModel()
-{
-}
-
-int MapWildListGroupModel::indexNumber() const
-{
- return 3;
-}
-
-bool MapWildListGroupModel::insertRows(const int rows)
-{
- for (int i = 0; i < rows; ++i)
- m_objects.append(new MapWildListModel(this, static_cast<Map*>(m_object)->newWildList()));
- return true;
-}
-
-bool MapWildListGroupModel::removeRows(const int position, const int rows)
-{
- for (int i = 0; i < rows; ++i)
- {
- static_cast<Map*>(m_object)->deleteWildList(position);
- delete m_objects[position];
- m_objects.removeAt(position);
- }
- return true;
-}
-
-void MapWildListGroupModel::setupData()
-{
- Map* map = static_cast<Map*>(m_object);
- for (int i = 0; i < map->wildListCount(); ++i)
- m_objects.append(new MapWildListModel(this, map->wildList(i)));
-}
-
MapModel::MapModel(BaseModel* parent, Map* map) :
GroupObjectModel(parent, map)
{
@@ -202,7 +42,6 @@ MapModel::MapModel(BaseModel* parent, Map* map) :
MapModel::~MapModel()
{
- clearData();
}
QVariant MapModel::data(int role) const
@@ -223,11 +62,6 @@ QVariant MapModel::data(int role) const
return GroupObjectModel::data(role);
}
-int MapModel::rowCount() const
-{
- return 4;
-}
-
bool MapModel::setData(const QVariant& value, int role)
{
if (role == BaseModel::XmlRole)
@@ -252,35 +86,6 @@ bool MapModel::setData(const QVariant& value, int role)
return false;
}
-BaseModel* MapModel::childItem(const int row)
-{
- BaseModel* model;
- switch (row)
- {
- case 0:
- model = m_effects;
- break;
- case 1:
- model = m_trainers;
- break;
- case 2:
- model = m_warps;
- break;
- case 3:
- model = m_wildLists;
- break;
- default:
- model = NULL;
- break;
- }
- return model;
-}
-
-int MapModel::indexNumber() const
-{
- return static_cast<const Pokemod*>(m_object->parent())->mapIndex(m_object->id());
-}
-
bool MapModel::insertRows(const int /*rows*/)
{
return false;
@@ -293,16 +98,8 @@ bool MapModel::removeRows(const int /*position*/, const int /*rows*/)
void MapModel::setupData()
{
- m_effects = new MapEffectGroupModel(this, static_cast<Map*>(m_object));
- m_trainers = new MapTrainerGroupModel(this, static_cast<Map*>(m_object));
- m_warps = new MapWarpGroupModel(this, static_cast<Map*>(m_object));
- m_wildLists = new MapWildListGroupModel(this, static_cast<Map*>(m_object));
-}
-
-void MapModel::clearData()
-{
- delete m_effects;
- delete m_trainers;
- delete m_warps;
- delete m_wildLists;
+ m_objects.append(new MapEffectGroupModel(this, static_cast<Map*>(m_object)));
+ m_objects.append(new MapTrainerGroupModel(this, static_cast<Map*>(m_object)));
+ m_objects.append(new MapWarpGroupModel(this, static_cast<Map*>(m_object)));
+ m_objects.append(new MapWildListGroupModel(this, static_cast<Map*>(m_object)));
}