summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-04-25 00:08:22 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-04-25 00:08:22 +0000
commitdd643ee61d9166761c50803cd379c9343099385c (patch)
tree30d935e81896f3680d5d1c232669e180088d3f37
parent446fcd9248d4cef74e905c485ef767a94a8463ec (diff)
downloadsigen-dd643ee61d9166761c50803cd379c9343099385c.tar.gz
sigen-dd643ee61d9166761c50803cd379c9343099385c.tar.xz
sigen-dd643ee61d9166761c50803cd379c9343099385c.zip
[FIX] Fleshed out a lot more Model classes
[ADD] New intermediate classes for Objects with subclasses and those without git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@107 6ecfd1a5-f3ed-3746-8530-beee90d26b22
-rw-r--r--Changelog8
-rw-r--r--pokemodr/models/AbilityEffectModel.cpp67
-rw-r--r--pokemodr/models/AbilityEffectModel.h8
-rw-r--r--pokemodr/models/AbilityModel.cpp43
-rw-r--r--pokemodr/models/AbilityModel.h7
-rw-r--r--pokemodr/models/BadgeModel.cpp37
-rw-r--r--pokemodr/models/BadgeModel.h8
-rw-r--r--pokemodr/models/BaseModel.cpp68
-rw-r--r--pokemodr/models/BaseModel.h65
-rw-r--r--pokemodr/models/CoinListModel.cpp44
-rw-r--r--pokemodr/models/CoinListModel.h7
-rw-r--r--pokemodr/models/CoinListObjectModel.cpp37
-rw-r--r--pokemodr/models/CoinListObjectModel.h8
-rw-r--r--pokemodr/models/DialogModel.cpp38
-rw-r--r--pokemodr/models/DialogModel.h8
-rw-r--r--pokemodr/models/EggGroupModel.cpp37
-rw-r--r--pokemodr/models/EggGroupModel.h8
-rw-r--r--pokemodr/models/ItemTypeModel.cpp37
-rw-r--r--pokemodr/models/ItemTypeModel.h8
-rw-r--r--pokemodr/models/NatureModel.cpp37
-rw-r--r--pokemodr/models/NatureModel.h8
-rw-r--r--pokemodr/models/PokemodModel.cpp369
-rw-r--r--pokemodr/models/PokemodModel.h23
-rw-r--r--pokemodr/models/RulesModel.cpp37
-rw-r--r--pokemodr/models/RulesModel.h8
-rw-r--r--pokemodr/models/StoreModel.cpp37
-rw-r--r--pokemodr/models/StoreModel.h8
-rw-r--r--pokemodr/models/TileModel.cpp37
-rw-r--r--pokemodr/models/TileModel.h8
-rw-r--r--pokemodr/models/TimeModel.cpp37
-rw-r--r--pokemodr/models/TimeModel.h8
-rw-r--r--pokemodr/models/TrainerModel.cpp37
-rw-r--r--pokemodr/models/TrainerModel.h8
-rw-r--r--pokemodr/models/TypeModel.cpp37
-rw-r--r--pokemodr/models/TypeModel.h8
35 files changed, 517 insertions, 733 deletions
diff --git a/Changelog b/Changelog
index 39533102..612af0cf 100644
--- a/Changelog
+++ b/Changelog
@@ -1,4 +1,12 @@
-----------------
+Rev: 107
+Date: 24 April 2008
+User: MathStuf
+-----------------
+[FIX] Fleshed out a lot more Model classes
+[ADD] New intermediate classes for Objects with subclasses and those without
+
+-----------------
Rev: 106
Date: 24 April 2008
User: MathStuf
diff --git a/pokemodr/models/AbilityEffectModel.cpp b/pokemodr/models/AbilityEffectModel.cpp
index dd52ec92..eb795b45 100644
--- a/pokemodr/models/AbilityEffectModel.cpp
+++ b/pokemodr/models/AbilityEffectModel.cpp
@@ -32,7 +32,6 @@ AbilityEffectModel::AbilityEffectModel(BaseModel* parent, Object* object) :
AbilityEffectModel::~AbilityEffectModel()
{
- // TODO: destruct
}
QVariant AbilityEffectModel::data(int role) const
@@ -41,25 +40,49 @@ QVariant AbilityEffectModel::data(int role) const
return AbilityEffect::EffectStr[static_cast<AbilityEffect*>(m_object)->effect()];
else if (role == Qt::UserRole)
{
+ // TODO: AbilityEffectUI
// QWidget* widget = new AbilityEffectUI(static_cast<AbilityEffect*>(m_object), NULL);
// return QVariant::fromValue(widget);
}
return QVariant();
}
-int AbilityEffectModel::rowCount() const
-{
- return 0;
-}
-
bool AbilityEffectModel::setData(const QVariant& value, int role)
{
- // TODO: set data
-}
-
-BaseModel* AbilityEffectModel::childItem(const int /*row*/)
-{
- return NULL;
+ if (role == Qt::UserRole)
+ {
+ if (value.canConvert<void*>())
+ {
+ *static_cast<AbilityEffect*>(m_object) = *static_cast<AbilityEffect*>(value.value<void*>());
+ return true;
+ }
+ else if (value.canConvert<QString>())
+ {
+ QFile file(value.toString());
+ QDomDocument xml;
+ if (file.open(QIODevice::ReadOnly))
+ {
+ if (xml.setContent(&file))
+ {
+ if (xml.doctype().name() == m_object->className())
+ {
+ m_object->load(xml.documentElement());
+ return true;
+ }
+ }
+ file.close();
+ }
+ else if (xml.setContent(value.toString()))
+ {
+ if (xml.doctype().name() == m_object->className())
+ {
+ m_object->load(xml.documentElement());
+ return true;
+ }
+ }
+ }
+ }
+ return false;
}
int AbilityEffectModel::indexNumber() const
@@ -67,26 +90,6 @@ int AbilityEffectModel::indexNumber() const
// TODO: get effect index
}
-bool AbilityEffectModel::canInsertRows() const
-{
- return false;
-}
-
-bool AbilityEffectModel::insertRows(const int /*rows*/)
-{
- return false;
-}
-
-bool AbilityEffectModel::canRemoveRows() const
-{
- return false;
-}
-
-bool AbilityEffectModel::removeRows(const int /*position*/, const int /*rows*/)
-{
- return false;
-}
-
// bool AbilityEffectModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/AbilityEffectModel.h b/pokemodr/models/AbilityEffectModel.h
index ed9d581e..76b338d3 100644
--- a/pokemodr/models/AbilityEffectModel.h
+++ b/pokemodr/models/AbilityEffectModel.h
@@ -28,19 +28,11 @@ class AbilityEffectModel : public ObjectModel
~AbilityEffectModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int /*row*/);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int /*rows*/);
-
- bool canRemoveRows() const;
- bool removeRows(const int /*position*/, const int /*rows*/);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/AbilityModel.cpp b/pokemodr/models/AbilityModel.cpp
index dde7a8b8..8d26f760 100644
--- a/pokemodr/models/AbilityModel.cpp
+++ b/pokemodr/models/AbilityModel.cpp
@@ -34,17 +34,14 @@
#include "AbilityModel.h"
AbilityModel::AbilityModel(BaseModel* parent, Object* object) :
- ObjectModel(parent, object)
+ GroupObjectModel(parent, object)
{
- Ability* ability = static_cast<Ability*>(object);
- for (int i = 0; i < ability->effectCount(); ++i)
- m_effects.append(new AbilityEffectModel(this, ability->effect(i)));
+ setupData();
}
AbilityModel::~AbilityModel()
{
- foreach (AbilityEffectModel* model, m_effects)
- delete model;
+ clearData();
}
QVariant AbilityModel::data(int role) const
@@ -70,8 +67,9 @@ bool AbilityModel::setData(const QVariant& value, int role)
{
if (value.canConvert<void*>())
{
- // TODO: reset effects
+ clearData();
*static_cast<Ability*>(m_object) = *static_cast<Ability*>(value.value<void*>());
+ setupData();
return true;
}
else if (value.canConvert<QString>())
@@ -84,8 +82,10 @@ bool AbilityModel::setData(const QVariant& value, int role)
{
if (xml.doctype().name() == m_object->className())
{
- // TODO: reset effects
+ clearData();
m_object->load(xml.documentElement());
+ setupData();
+ return true;
}
}
file.close();
@@ -94,8 +94,10 @@ bool AbilityModel::setData(const QVariant& value, int role)
{
if (xml.doctype().name() == m_object->className())
{
- // TODO: reset effects
+ clearData();
m_object->load(xml.documentElement());
+ setupData();
+ return true;
}
}
}
@@ -113,11 +115,6 @@ int AbilityModel::indexNumber() const
return m_object->pokemod()->abilityIndex(m_object->id());
}
-bool AbilityModel::canInsertRows() const
-{
- return true;
-}
-
bool AbilityModel::insertRows(const int rows)
{
for (int i = 0; i < rows; ++i)
@@ -125,11 +122,6 @@ bool AbilityModel::insertRows(const int rows)
return true;
}
-bool AbilityModel::canRemoveRows() const
-{
- return true;
-}
-
bool AbilityModel::removeRows(const int position, const int rows)
{
for (int i = 0; i < rows; ++i)
@@ -145,3 +137,16 @@ bool AbilityModel::removeRows(const int position, const int rows)
// {
// // TODO: drag/drop
// }
+
+void AbilityModel::setupData()
+{
+ Ability* ability = static_cast<Ability*>(m_object);
+ for (int i = 0; i < ability->effectCount(); ++i)
+ m_effects.append(new AbilityEffectModel(this, ability->effect(i)));
+}
+
+void AbilityModel::clearData()
+{
+ foreach (AbilityEffectModel* model, m_effects)
+ delete model;
+}
diff --git a/pokemodr/models/AbilityModel.h b/pokemodr/models/AbilityModel.h
index 6221fddf..0a012845 100644
--- a/pokemodr/models/AbilityModel.h
+++ b/pokemodr/models/AbilityModel.h
@@ -24,7 +24,7 @@
// Forward declarations
class AbilityEffectModel;
-class AbilityModel : public ObjectModel
+class AbilityModel : public GroupObjectModel
{
public:
AbilityModel(BaseModel* parent, Object* object);
@@ -38,14 +38,15 @@ class AbilityModel : public ObjectModel
BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
bool insertRows(const int rows);
- bool canRemoveRows() const;
bool removeRows(const int position, const int rows);
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
private:
+ void setupData();
+ void clearData();
+
QList<AbilityEffectModel*> m_effects;
};
diff --git a/pokemodr/models/BadgeModel.cpp b/pokemodr/models/BadgeModel.cpp
index 0954acff..f64a2e51 100644
--- a/pokemodr/models/BadgeModel.cpp
+++ b/pokemodr/models/BadgeModel.cpp
@@ -36,7 +36,6 @@ BadgeModel::BadgeModel(BaseModel* parent, Object* object) :
BadgeModel::~BadgeModel()
{
- // TODO: destruct
}
QVariant BadgeModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant BadgeModel::data(int role) const
return QVariant();
}
-int BadgeModel::rowCount() const
-{
- return 0;
-}
-
bool BadgeModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool BadgeModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* BadgeModel::childItem(const int row)
-{
- return NULL;
-}
-
int BadgeModel::indexNumber() const
{
return m_object->pokemod()->badgeIndex(m_object->id());
}
-bool BadgeModel::canInsertRows() const
-{
- return false;
-}
-
-bool BadgeModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool BadgeModel::canRemoveRows() const
-{
- return false;
-}
-
-bool BadgeModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool BadgeModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/BadgeModel.h b/pokemodr/models/BadgeModel.h
index e409087e..20777d39 100644
--- a/pokemodr/models/BadgeModel.h
+++ b/pokemodr/models/BadgeModel.h
@@ -28,19 +28,11 @@ class BadgeModel : public ObjectModel
~BadgeModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/BaseModel.cpp b/pokemodr/models/BaseModel.cpp
index bb0392ff..b1241803 100644
--- a/pokemodr/models/BaseModel.cpp
+++ b/pokemodr/models/BaseModel.cpp
@@ -40,16 +40,66 @@ BaseModel* BaseModel::parent()
// return Qt::CopyAction | Qt::MoveAction;
// }
-ObjectModel::ObjectModel(BaseModel* parent, Object* object) :
+BaseObjectModel::BaseObjectModel(BaseModel* parent, Object* object) :
BaseModel(parent, object, "")
{
}
-Qt::ItemFlags ObjectModel::flags() const
+Qt::ItemFlags BaseObjectModel::flags() const
{
return Qt::ItemIsDragEnabled | Qt::ItemIsSelectable | Qt::ItemIsDropEnabled | Qt::ItemIsEnabled;
}
+ObjectModel::ObjectModel(BaseModel* parent, Object* object) :
+ BaseObjectModel(parent, object)
+{
+}
+
+int ObjectModel::rowCount() const
+{
+ return 0;
+}
+
+BaseModel* ObjectModel::childItem(const int /*row*/)
+{
+ return NULL;
+}
+
+bool ObjectModel::canInsertRows() const
+{
+ return false;
+}
+
+bool ObjectModel::insertRows(const int /*rows*/)
+{
+ return false;
+}
+
+bool ObjectModel::canRemoveRows() const
+{
+ return false;
+}
+
+bool ObjectModel::removeRows(const int /*position*/, const int /*rows*/)
+{
+ return false;
+}
+
+GroupObjectModel::GroupObjectModel(BaseModel* parent, Object* object) :
+ BaseObjectModel(parent, object)
+{
+}
+
+bool GroupObjectModel::canInsertRows() const
+{
+ return true;
+}
+
+bool GroupObjectModel::canRemoveRows() const
+{
+ return true;
+}
+
GroupModel::GroupModel(BaseModel* parent, Object* object, const QString& name) :
BaseModel(parent, object, name)
{
@@ -57,8 +107,7 @@ GroupModel::GroupModel(BaseModel* parent, Object* object, const QString& name) :
GroupModel::~GroupModel()
{
- foreach (ObjectModel* model, m_objects)
- delete model;
+ clearData();
}
QVariant GroupModel::data(int role) const
@@ -78,6 +127,11 @@ bool GroupModel::setData(const QVariant& /*value*/, int /*role = Qt::EditRole*/)
return false;
}
+BaseModel* GroupModel::childItem(const int row)
+{
+ return m_objects[row];
+}
+
bool GroupModel::canInsertRows() const
{
return true;
@@ -87,3 +141,9 @@ bool GroupModel::canRemoveRows() const
{
return true;
}
+
+void GroupModel::clearData()
+{
+ foreach (BaseObjectModel* model, m_objects)
+ delete model;
+}
diff --git a/pokemodr/models/BaseModel.h b/pokemodr/models/BaseModel.h
index f90e1748..e422266a 100644
--- a/pokemodr/models/BaseModel.h
+++ b/pokemodr/models/BaseModel.h
@@ -68,11 +68,11 @@ class BaseModel
BaseModel* m_parent;
};
-class ObjectModel : public BaseModel
+class BaseObjectModel : public BaseModel
{
public:
- ObjectModel(BaseModel* parent, Object* object);
- virtual ~ObjectModel()
+ BaseObjectModel(BaseModel* parent, Object* object);
+ virtual ~BaseObjectModel()
{
}
@@ -94,6 +94,59 @@ class ObjectModel : public BaseModel
// virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column) = 0;
};
+class ObjectModel : public BaseObjectModel
+{
+ public:
+ ObjectModel(BaseModel* parent, Object* object);
+ virtual ~ObjectModel()
+ {
+ }
+
+ virtual QVariant data(int role = Qt::DisplayRole) const = 0;
+ int rowCount() const;
+
+ virtual bool setData(const QVariant& value, int role = Qt::EditRole) = 0;
+
+ BaseModel* childItem(const int /*row*/);
+ virtual int indexNumber() const = 0;
+
+ bool canInsertRows() const;
+ bool insertRows(const int /*rows*/);
+
+ bool canRemoveRows() const;
+ bool removeRows(const int /*position*/, const int /*rows*/);
+
+// virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column) = 0;
+};
+
+class GroupObjectModel : public BaseObjectModel
+{
+ public:
+ GroupObjectModel(BaseModel* parent, Object* object);
+ virtual ~GroupObjectModel()
+ {
+ }
+
+ virtual QVariant data(int role = Qt::DisplayRole) const = 0;
+ virtual int rowCount() const = 0;
+
+ virtual bool setData(const QVariant& value, int role = Qt::EditRole) = 0;
+
+ virtual BaseModel* childItem(const int row) = 0;
+ virtual int indexNumber() const = 0;
+
+ bool canInsertRows() const;
+ virtual bool insertRows(const int rows) = 0;
+
+ bool canRemoveRows() const;
+ virtual bool removeRows(const int position, const int rows) = 0;
+
+// virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column) = 0;
+ protected:
+ virtual void setupData() = 0;
+ virtual void clearData() = 0;
+};
+
class GroupModel : public BaseModel
{
public:
@@ -106,7 +159,7 @@ class GroupModel : public BaseModel
Qt::ItemFlags flags() const;
bool setData(const QVariant& /*value*/, int /*role = Qt::EditRole*/);
- virtual BaseModel* childItem(const int row) = 0;
+ BaseModel* childItem(const int row);
virtual int indexNumber() const = 0;
bool canInsertRows() const;
@@ -116,8 +169,10 @@ class GroupModel : public BaseModel
virtual bool removeRows(const int position, const int rows) = 0;
// virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column) = 0;
+ protected:
+ QList<BaseObjectModel*> m_objects;
private:
- QList<ObjectModel*> m_objects;
+ void clearData();
};
#endif
diff --git a/pokemodr/models/CoinListModel.cpp b/pokemodr/models/CoinListModel.cpp
index a7c6b892..483fdc20 100644
--- a/pokemodr/models/CoinListModel.cpp
+++ b/pokemodr/models/CoinListModel.cpp
@@ -34,16 +34,14 @@
#include "CoinListModel.h"
CoinListModel::CoinListModel(BaseModel* parent, Object* object) :
- ObjectModel(parent, object)
+ GroupObjectModel(parent, object)
{
- CoinList* coinList = static_cast<CoinList*>(m_object);
- for (int i = 0; i < coinList->objectCount(); ++i)
- m_objects.append(new CoinListObjectModel(this, coinList->object(i)));
+ setupData();
}
CoinListModel::~CoinListModel()
{
- // TODO: destruct
+ clearData();
}
QVariant CoinListModel::data(int role) const
@@ -67,10 +65,11 @@ bool CoinListModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
{
- // TODO: reset objects
if (value.canConvert<void*>())
{
+ clearData();
*static_cast<CoinList*>(m_object) = *static_cast<CoinList*>(value.value<void*>());
+ setupData();
return true;
}
else if (value.canConvert<QString>())
@@ -82,14 +81,24 @@ bool CoinListModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
+ clearData();
m_object->load(xml.documentElement());
+ setupData();
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
+ clearData();
m_object->load(xml.documentElement());
+ setupData();
+ return true;
+ }
}
}
}
@@ -106,11 +115,6 @@ int CoinListModel::indexNumber() const
return m_object->pokemod()->coinListIndex(m_object->id());
}
-bool CoinListModel::canInsertRows() const
-{
- return true;
-}
-
bool CoinListModel::insertRows(const int rows)
{
for (int i = 0; i < rows; ++i)
@@ -118,11 +122,6 @@ bool CoinListModel::insertRows(const int rows)
return true;
}
-bool CoinListModel::canRemoveRows() const
-{
- return true;
-}
-
bool CoinListModel::removeRows(const int position, const int rows)
{
for (int i = 0; i < rows; ++i)
@@ -138,3 +137,16 @@ bool CoinListModel::removeRows(const int position, const int rows)
// {
// // TODO: drag/drop
// }
+
+void CoinListModel::setupData()
+{
+ CoinList* coinList = static_cast<CoinList*>(m_object);
+ for (int i = 0; i < coinList->objectCount(); ++i)
+ m_objects.append(new CoinListObjectModel(this, coinList->object(i)));
+}
+
+void CoinListModel::clearData()
+{
+ foreach (CoinListObjectModel* model, m_objects)
+ delete model;
+}
diff --git a/pokemodr/models/CoinListModel.h b/pokemodr/models/CoinListModel.h
index d8aab92d..b3503771 100644
--- a/pokemodr/models/CoinListModel.h
+++ b/pokemodr/models/CoinListModel.h
@@ -24,7 +24,7 @@
// Forward declarations
class CoinListObjectModel;
-class CoinListModel : public ObjectModel
+class CoinListModel : public GroupObjectModel
{
public:
CoinListModel(BaseModel* parent, Object* object);
@@ -38,14 +38,15 @@ class CoinListModel : public ObjectModel
BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
bool insertRows(const int rows);
- bool canRemoveRows() const;
bool removeRows(const int position, const int rows);
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
private:
+ void setupData();
+ void clearData();
+
QList<CoinListObjectModel*> m_objects;
};
diff --git a/pokemodr/models/CoinListObjectModel.cpp b/pokemodr/models/CoinListObjectModel.cpp
index 9fc94bd4..c2af381a 100644
--- a/pokemodr/models/CoinListObjectModel.cpp
+++ b/pokemodr/models/CoinListObjectModel.cpp
@@ -37,7 +37,6 @@ CoinListObjectModel::CoinListObjectModel(BaseModel* parent, Object* object) :
CoinListObjectModel::~CoinListObjectModel()
{
- // TODO: destruct
}
QVariant CoinListObjectModel::data(int role) const
@@ -58,11 +57,6 @@ QVariant CoinListObjectModel::data(int role) const
return QVariant();
}
-int CoinListObjectModel::rowCount() const
-{
- return 0;
-}
-
bool CoinListObjectModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -81,50 +75,31 @@ bool CoinListObjectModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* CoinListObjectModel::childItem(const int row)
-{
- return NULL;
-}
-
int CoinListObjectModel::indexNumber() const
{
// TODO: get index number
}
-bool CoinListObjectModel::canInsertRows() const
-{
- return false;
-}
-
-bool CoinListObjectModel::insertRows(const int /*rows*/)
-{
- return false;
-}
-
-bool CoinListObjectModel::canRemoveRows() const
-{
- return false;
-}
-
-bool CoinListObjectModel::removeRows(const int /*position*/, const int /*rows*/)
-{
- return false;
-}
-
// bool CoinListObjectModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/CoinListObjectModel.h b/pokemodr/models/CoinListObjectModel.h
index 98e69be3..f9482b40 100644
--- a/pokemodr/models/CoinListObjectModel.h
+++ b/pokemodr/models/CoinListObjectModel.h
@@ -28,19 +28,11 @@ class CoinListObjectModel : public ObjectModel
~CoinListObjectModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int /*rows*/);
-
- bool canRemoveRows() const;
- bool removeRows(const int /*position*/, const int /*rows*/);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/DialogModel.cpp b/pokemodr/models/DialogModel.cpp
index 874b0c25..304ccff9 100644
--- a/pokemodr/models/DialogModel.cpp
+++ b/pokemodr/models/DialogModel.cpp
@@ -36,7 +36,6 @@ DialogModel::DialogModel(BaseModel* parent, Object* object) :
DialogModel::~DialogModel()
{
- // TODO: destruct
}
QVariant DialogModel::data(int role) const
@@ -45,17 +44,13 @@ QVariant DialogModel::data(int role) const
return static_cast<Dialog*>(m_object)->dialog();
else if (role == Qt::UserRole)
{
+ // TODO: DialogUI
// QWidget* widget = new DialogUI(static_cast<Dialog*>(m_object), NULL);
// return QVariant::fromValue(widget);
}
return QVariant();
}
-int DialogModel::rowCount() const
-{
- return 0;
-}
-
bool DialogModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +69,31 @@ bool DialogModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* DialogModel::childItem(const int row)
-{
- return NULL;
-}
-
int DialogModel::indexNumber() const
{
return m_object->pokemod()->dialogIndex(m_object->id());
}
-bool DialogModel::canInsertRows() const
-{
- return false;
-}
-
-bool DialogModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool DialogModel::canRemoveRows() const
-{
- return false;
-}
-
-bool DialogModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool DialogModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/DialogModel.h b/pokemodr/models/DialogModel.h
index fd8499db..06380829 100644
--- a/pokemodr/models/DialogModel.h
+++ b/pokemodr/models/DialogModel.h
@@ -28,19 +28,11 @@ class DialogModel : public ObjectModel
~DialogModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/EggGroupModel.cpp b/pokemodr/models/EggGroupModel.cpp
index f39a9356..d8b3aec8 100644
--- a/pokemodr/models/EggGroupModel.cpp
+++ b/pokemodr/models/EggGroupModel.cpp
@@ -36,7 +36,6 @@ EggGroupModel::EggGroupModel(BaseModel* parent, Object* object) :
EggGroupModel::~EggGroupModel()
{
- // TODO: destruct
}
QVariant EggGroupModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant EggGroupModel::data(int role) const
return QVariant();
}
-int EggGroupModel::rowCount() const
-{
- return 0;
-}
-
bool EggGroupModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool EggGroupModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* EggGroupModel::childItem(const int row)
-{
- return NULL;
-}
-
int EggGroupModel::indexNumber() const
{
return m_object->pokemod()->eggGroupIndex(m_object->id());
}
-bool EggGroupModel::canInsertRows() const
-{
- return false;
-}
-
-bool EggGroupModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool EggGroupModel::canRemoveRows() const
-{
- return false;
-}
-
-bool EggGroupModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool EggGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/EggGroupModel.h b/pokemodr/models/EggGroupModel.h
index f29733bd..a01167fb 100644
--- a/pokemodr/models/EggGroupModel.h
+++ b/pokemodr/models/EggGroupModel.h
@@ -28,19 +28,11 @@ class EggGroupModel : public ObjectModel
~EggGroupModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/ItemTypeModel.cpp b/pokemodr/models/ItemTypeModel.cpp
index 2885feff..f76ad3ca 100644
--- a/pokemodr/models/ItemTypeModel.cpp
+++ b/pokemodr/models/ItemTypeModel.cpp
@@ -36,7 +36,6 @@ ItemTypeModel::ItemTypeModel(BaseModel* parent, Object* object) :
ItemTypeModel::~ItemTypeModel()
{
- // TODO: destruct
}
QVariant ItemTypeModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant ItemTypeModel::data(int role) const
return QVariant();
}
-int ItemTypeModel::rowCount() const
-{
- return 0;
-}
-
bool ItemTypeModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool ItemTypeModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* ItemTypeModel::childItem(const int row)
-{
- return NULL;
-}
-
int ItemTypeModel::indexNumber() const
{
return m_object->pokemod()->itemTypeIndex(m_object->id());
}
-bool ItemTypeModel::canInsertRows() const
-{
- return false;
-}
-
-bool ItemTypeModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool ItemTypeModel::canRemoveRows() const
-{
- return false;
-}
-
-bool ItemTypeModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool ItemTypeModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/ItemTypeModel.h b/pokemodr/models/ItemTypeModel.h
index 8d46371b..08702d6d 100644
--- a/pokemodr/models/ItemTypeModel.h
+++ b/pokemodr/models/ItemTypeModel.h
@@ -28,19 +28,11 @@ class ItemTypeModel : public ObjectModel
~ItemTypeModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/NatureModel.cpp b/pokemodr/models/NatureModel.cpp
index 96a9cbed..5c1be3d3 100644
--- a/pokemodr/models/NatureModel.cpp
+++ b/pokemodr/models/NatureModel.cpp
@@ -36,7 +36,6 @@ NatureModel::NatureModel(BaseModel* parent, Object* object) :
NatureModel::~NatureModel()
{
- // TODO: destruct
}
QVariant NatureModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant NatureModel::data(int role) const
return QVariant();
}
-int NatureModel::rowCount() const
-{
- return 0;
-}
-
bool NatureModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool NatureModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* NatureModel::childItem(const int row)
-{
- return NULL;
-}
-
int NatureModel::indexNumber() const
{
return m_object->pokemod()->natureIndex(m_object->id());
}
-bool NatureModel::canInsertRows() const
-{
- return false;
-}
-
-bool NatureModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool NatureModel::canRemoveRows() const
-{
- return false;
-}
-
-bool NatureModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool NatureModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/NatureModel.h b/pokemodr/models/NatureModel.h
index 4b3450f6..78e9714b 100644
--- a/pokemodr/models/NatureModel.h
+++ b/pokemodr/models/NatureModel.h
@@ -28,19 +28,11 @@ class NatureModel : public ObjectModel
~NatureModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/PokemodModel.cpp b/pokemodr/models/PokemodModel.cpp
index b37d732e..67523ce0 100644
--- a/pokemodr/models/PokemodModel.cpp
+++ b/pokemodr/models/PokemodModel.cpp
@@ -16,7 +16,21 @@
*/
// Pokemod includes
+#include <Ability.h>
+#include <Badge.h>
+#include <CoinList.h>
+#include <Dialog.h>
+#include <EggGroup.h>
+#include <Item.h>
+#include <ItemType.h>
+#include <Nature.h>
#include <Pokemod.h>
+#include <Species.h>
+#include <Store.h>
+#include <Tile.h>
+#include <Time.h>
+#include <Trainer.h>
+#include <Type.h>
// PokeModr includes
#include "PokemodUI.h"
@@ -45,22 +59,18 @@
AbilityGroupModel::AbilityGroupModel(BaseModel* parent, Object* object) :
GroupModel(parent, object, "Abilities")
{
- // TODO: construct
+ Pokemod* pokemod = static_cast<Pokemod*>(m_object);
+ for (int i = 0; i < pokemod->abilityCount(); ++i)
+ m_objects.append(new AbilityModel(this, pokemod->ability(i)));
}
AbilityGroupModel::~AbilityGroupModel()
{
- // TODO: destruct
}
int AbilityGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* AbilityGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->abilityCount();
}
int AbilityGroupModel::indexNumber() const
@@ -70,35 +80,42 @@ int AbilityGroupModel::indexNumber() const
bool AbilityGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new AbilityModel(this, static_cast<Pokemod*>(m_object)->newAbility()));
+ return true;
}
bool AbilityGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteAbility(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
-// bool AbilityGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
+// bool AbilityGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
+// {
+//
+// }
BadgeGroupModel::BadgeGroupModel(BaseModel* parent, Object* object) :
GroupModel(parent, object, "Badges")
{
- // TODO: construct
+ Pokemod* pokemod = static_cast<Pokemod*>(m_object);
+ for (int i = 0; i < pokemod->badgeCount(); ++i)
+ m_objects.append(new BadgeModel(this, pokemod->badge(i)));
}
BadgeGroupModel::~BadgeGroupModel()
{
- // TODO: destruct
}
int BadgeGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* BadgeGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->badgeCount();
}
int BadgeGroupModel::indexNumber() const
@@ -108,12 +125,20 @@ int BadgeGroupModel::indexNumber() const
bool BadgeGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new BadgeModel(this, static_cast<Pokemod*>(m_object)->newBadge()));
+ return true;
}
bool BadgeGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteBadge(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool BadgeGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -126,17 +151,11 @@ CoinListGroupModel::CoinListGroupModel(BaseModel* parent, Object* object) :
CoinListGroupModel::~CoinListGroupModel()
{
- // TODO: destruct
}
int CoinListGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* CoinListGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->coinListCount();
}
int CoinListGroupModel::indexNumber() const
@@ -146,12 +165,20 @@ int CoinListGroupModel::indexNumber() const
bool CoinListGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new CoinListModel(this, static_cast<Pokemod*>(m_object)->newCoinList()));
+ return true;
}
bool CoinListGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteCoinList(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool CoinListGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -164,17 +191,11 @@ DialogGroupModel::DialogGroupModel(BaseModel* parent, Object* object) :
DialogGroupModel::~DialogGroupModel()
{
- // TODO: destruct
}
int DialogGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* DialogGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->dialogCount();
}
int DialogGroupModel::indexNumber() const
@@ -184,12 +205,20 @@ int DialogGroupModel::indexNumber() const
bool DialogGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new DialogModel(this, static_cast<Pokemod*>(m_object)->newDialog()));
+ return true;
}
bool DialogGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteDialog(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool DialogGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -202,17 +231,11 @@ EggGroupGroupModel::EggGroupGroupModel(BaseModel* parent, Object* object) :
EggGroupGroupModel::~EggGroupGroupModel()
{
- // TODO: destruct
}
int EggGroupGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* EggGroupGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->eggGroupCount();
}
int EggGroupGroupModel::indexNumber() const
@@ -222,12 +245,20 @@ int EggGroupGroupModel::indexNumber() const
bool EggGroupGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new EggGroupModel(this, static_cast<Pokemod*>(m_object)->newEggGroup()));
+ return true;
}
bool EggGroupGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteEggGroup(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool EggGroupGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -240,17 +271,11 @@ ItemGroupModel::ItemGroupModel(BaseModel* parent, Object* object) :
ItemGroupModel::~ItemGroupModel()
{
- // TODO: destruct
}
int ItemGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* ItemGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->itemCount();
}
int ItemGroupModel::indexNumber() const
@@ -260,12 +285,21 @@ int ItemGroupModel::indexNumber() const
bool ItemGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ // TODO: ItemModel
+// for (int i = 0; i < rows; ++i)
+// m_objects.append(new ItemModel(this, static_cast<Pokemod*>(m_object)->newItem()));
+// return true;
}
bool ItemGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteItem(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool ItemGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -278,17 +312,11 @@ ItemTypeGroupModel::ItemTypeGroupModel(BaseModel* parent, Object* object) :
ItemTypeGroupModel::~ItemTypeGroupModel()
{
- // TODO: destruct
}
int ItemTypeGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* ItemTypeGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->itemTypeCount();
}
int ItemTypeGroupModel::indexNumber() const
@@ -298,12 +326,20 @@ int ItemTypeGroupModel::indexNumber() const
bool ItemTypeGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new ItemTypeModel(this, static_cast<Pokemod*>(m_object)->newItemType()));
+ return true;
}
bool ItemTypeGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteItemType(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool ItemTypeGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -316,17 +352,11 @@ MapGroupModel::MapGroupModel(BaseModel* parent, Object* object) :
MapGroupModel::~MapGroupModel()
{
- // TODO: destruct
}
int MapGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* MapGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->mapCount();
}
int MapGroupModel::indexNumber() const
@@ -336,12 +366,21 @@ int MapGroupModel::indexNumber() const
bool MapGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ // TODO: MapModel
+// for (int i = 0; i < rows; ++i)
+// m_objects.append(new MapModel(this, static_cast<Pokemod*>(m_object)->newMap()));
+// return true;
}
bool MapGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteMap(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool MapGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -354,17 +393,11 @@ MoveGroupModel::MoveGroupModel(BaseModel* parent, Object* object) :
MoveGroupModel::~MoveGroupModel()
{
- // TODO: destruct
}
int MoveGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* MoveGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->moveCount();
}
int MoveGroupModel::indexNumber() const
@@ -374,12 +407,21 @@ int MoveGroupModel::indexNumber() const
bool MoveGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ // TODO: MoveModel
+// for (int i = 0; i < rows; ++i)
+// m_objects.append(new MoveModel(this, static_cast<Pokemod*>(m_object)->newMove()));
+// return true;
}
bool MoveGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteMove(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool MoveGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -392,17 +434,11 @@ NatureGroupModel::NatureGroupModel(BaseModel* parent, Object* object) :
NatureGroupModel::~NatureGroupModel()
{
- // TODO: destruct
}
int NatureGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* NatureGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->natureCount();
}
int NatureGroupModel::indexNumber() const
@@ -412,12 +448,20 @@ int NatureGroupModel::indexNumber() const
bool NatureGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new NatureModel(this, static_cast<Pokemod*>(m_object)->newNature()));
+ return true;
}
bool NatureGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteNature(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool NatureGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -430,17 +474,11 @@ SpeciesGroupModel::SpeciesGroupModel(BaseModel* parent, Object* object) :
SpeciesGroupModel::~SpeciesGroupModel()
{
- // TODO: destruct
}
int SpeciesGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* SpeciesGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->speciesCount();
}
int SpeciesGroupModel::indexNumber() const
@@ -450,12 +488,21 @@ int SpeciesGroupModel::indexNumber() const
bool SpeciesGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ // TODO: SpeciesModel
+// for (int i = 0; i < rows; ++i)
+// m_objects.append(new SpeciesModel(this, static_cast<Pokemod*>(m_object)->newSpecies()));
+// return true;
}
bool SpeciesGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteSpecies(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool SpeciesGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -468,17 +515,11 @@ StoreGroupModel::StoreGroupModel(BaseModel* parent, Object* object) :
StoreGroupModel::~StoreGroupModel()
{
- // TODO: destruct
}
int StoreGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* StoreGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->storeCount();
}
int StoreGroupModel::indexNumber() const
@@ -488,12 +529,20 @@ int StoreGroupModel::indexNumber() const
bool StoreGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new StoreModel(this, static_cast<Pokemod*>(m_object)->newStore()));
+ return true;
}
bool StoreGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteStore(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool StoreGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -506,17 +555,11 @@ TileGroupModel::TileGroupModel(BaseModel* parent, Object* object) :
TileGroupModel::~TileGroupModel()
{
- // TODO: destruct
}
int TileGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* TileGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->tileCount();
}
int TileGroupModel::indexNumber() const
@@ -526,12 +569,20 @@ int TileGroupModel::indexNumber() const
bool TileGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new TileModel(this, static_cast<Pokemod*>(m_object)->newTile()));
+ return true;
}
bool TileGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteTile(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool TileGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -544,17 +595,11 @@ TimeGroupModel::TimeGroupModel(BaseModel* parent, Object* object) :
TimeGroupModel::~TimeGroupModel()
{
- // TODO: destruct
}
int TimeGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* TimeGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->timeCount();
}
int TimeGroupModel::indexNumber() const
@@ -564,12 +609,20 @@ int TimeGroupModel::indexNumber() const
bool TimeGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new TimeModel(this, static_cast<Pokemod*>(m_object)->newTime()));
+ return true;
}
bool TimeGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteTime(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool TimeGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -582,17 +635,11 @@ TrainerGroupModel::TrainerGroupModel(BaseModel* parent, Object* object) :
TrainerGroupModel::~TrainerGroupModel()
{
- // TODO: destruct
}
int TrainerGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* TrainerGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->trainerCount();
}
int TrainerGroupModel::indexNumber() const
@@ -602,12 +649,20 @@ int TrainerGroupModel::indexNumber() const
bool TrainerGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new TrainerModel(this, static_cast<Pokemod*>(m_object)->newTrainer()));
+ return true;
}
bool TrainerGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteTrainer(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool TrainerGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
@@ -620,17 +675,11 @@ TypeGroupModel::TypeGroupModel(BaseModel* parent, Object* object) :
TypeGroupModel::~TypeGroupModel()
{
- // TODO: destruct
}
int TypeGroupModel::rowCount() const
{
- // TODO: row count
-}
-
-BaseModel* TypeGroupModel::childItem(const int row)
-{
- // TODO: child item
+ return static_cast<Pokemod*>(m_object)->typeCount();
}
int TypeGroupModel::indexNumber() const
@@ -640,18 +689,26 @@ int TypeGroupModel::indexNumber() const
bool TypeGroupModel::insertRows(const int rows)
{
- // TODO: insert row
+ for (int i = 0; i < rows; ++i)
+ m_objects.append(new TypeModel(this, static_cast<Pokemod*>(m_object)->newType()));
+ return true;
}
bool TypeGroupModel::removeRows(const int position, const int rows)
{
- // TODO: remove row
+ for (int i = 0; i < rows; ++i)
+ {
+ static_cast<Pokemod*>(m_object)->deleteType(position);
+ delete m_objects[position];
+ m_objects.removeAt(position);
+ }
+ return true;
}
// bool TypeGroupModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
PokemodModel::PokemodModel(BaseModel* parent, Object* object) :
- ObjectModel(parent, object)
+ GroupObjectModel(parent, object)
{
Pokemod* pokemod = static_cast<Pokemod*>(m_object);
}
@@ -751,24 +808,24 @@ int PokemodModel::indexNumber() const
return m_object->pokemod()->abilityIndex(m_object->id());
}
-bool PokemodModel::canInsertRows() const
+bool PokemodModel::insertRows(const int rows)
{
return false;
}
-bool PokemodModel::insertRows(const int rows)
+bool PokemodModel::removeRows(const int position, const int rows)
{
return false;
}
-bool PokemodModel::canRemoveRows() const
+// bool PokemodModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
+
+void PokemodModel::setupData()
{
- return false;
+ // TODO: setup
}
-bool PokemodModel::removeRows(const int position, const int rows)
+void PokemodModel::clearData()
{
- return false;
+ // TODO: clean up data
}
-
-// bool PokemodModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
diff --git a/pokemodr/models/PokemodModel.h b/pokemodr/models/PokemodModel.h
index 20c63a23..eed1275d 100644
--- a/pokemodr/models/PokemodModel.h
+++ b/pokemodr/models/PokemodModel.h
@@ -30,7 +30,6 @@ class AbilityGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -48,7 +47,6 @@ class BadgeGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -66,7 +64,6 @@ class CoinListGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -84,7 +81,6 @@ class DialogGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -102,7 +98,6 @@ class EggGroupGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -120,7 +115,6 @@ class ItemGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -138,7 +132,6 @@ class ItemTypeGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -156,7 +149,6 @@ class MapGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -174,7 +166,6 @@ class MoveGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -192,7 +183,6 @@ class NatureGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -210,7 +200,6 @@ class SpeciesGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -228,7 +217,6 @@ class StoreGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -246,7 +234,6 @@ class TileGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -264,7 +251,6 @@ class TimeGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -282,7 +268,6 @@ class TrainerGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -300,7 +285,6 @@ class TypeGroupModel : public GroupModel
int rowCount() const;
- BaseModel* childItem(const int row);
int indexNumber() const;
bool insertRows(const int rows);
@@ -310,7 +294,7 @@ class TypeGroupModel : public GroupModel
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
-class PokemodModel : public ObjectModel
+class PokemodModel : public GroupObjectModel
{
public:
PokemodModel(BaseModel* parent, Object* object);
@@ -324,14 +308,15 @@ class PokemodModel : public ObjectModel
BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
bool insertRows(const int rows);
- bool canRemoveRows() const;
bool removeRows(const int position, const int rows);
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
private:
+ void setupData();
+ void clearData();
+
RulesModel* m_rules;
AbilityGroupModel* m_abilities;
BadgeGroupModel* m_badges;
diff --git a/pokemodr/models/RulesModel.cpp b/pokemodr/models/RulesModel.cpp
index 899aaf9d..4d613a1a 100644
--- a/pokemodr/models/RulesModel.cpp
+++ b/pokemodr/models/RulesModel.cpp
@@ -35,7 +35,6 @@ RulesModel::RulesModel(BaseModel* parent, Object* object) :
RulesModel::~RulesModel()
{
- // TODO: destruct
}
QVariant RulesModel::data(int role) const
@@ -50,11 +49,6 @@ QVariant RulesModel::data(int role) const
return QVariant();
}
-int RulesModel::rowCount() const
-{
- return 0;
-}
-
bool RulesModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -73,50 +67,31 @@ bool RulesModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* RulesModel::childItem(const int /*row*/)
-{
- return NULL;
-}
-
int RulesModel::indexNumber() const
{
return 0;
}
-bool RulesModel::canInsertRows() const
-{
- return false;
-}
-
-bool RulesModel::insertRows(const int /*rows*/)
-{
- return false;
-}
-
-bool RulesModel::canRemoveRows() const
-{
- return false;
-}
-
-bool RulesModel::removeRows(const int /*position*/, const int /*rows*/)
-{
- return false;
-}
-
// bool RulesModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/RulesModel.h b/pokemodr/models/RulesModel.h
index 8a94c5c0..6177434e 100644
--- a/pokemodr/models/RulesModel.h
+++ b/pokemodr/models/RulesModel.h
@@ -28,19 +28,11 @@ class RulesModel : public ObjectModel
~RulesModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int /*row*/);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int /*rows*/);
-
- bool canRemoveRows() const;
- bool removeRows(const int /*position*/, const int /*rows*/);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/StoreModel.cpp b/pokemodr/models/StoreModel.cpp
index 565b6f6b..f1064541 100644
--- a/pokemodr/models/StoreModel.cpp
+++ b/pokemodr/models/StoreModel.cpp
@@ -36,7 +36,6 @@ StoreModel::StoreModel(BaseModel* parent, Object* object) :
StoreModel::~StoreModel()
{
- // TODO: destruct
}
QVariant StoreModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant StoreModel::data(int role) const
return QVariant();
}
-int StoreModel::rowCount() const
-{
- return 0;
-}
-
bool StoreModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool StoreModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* StoreModel::childItem(const int row)
-{
- return NULL;
-}
-
int StoreModel::indexNumber() const
{
return m_object->pokemod()->storeIndex(m_object->id());
}
-bool StoreModel::canInsertRows() const
-{
- return false;
-}
-
-bool StoreModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool StoreModel::canRemoveRows() const
-{
- return false;
-}
-
-bool StoreModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool StoreModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/StoreModel.h b/pokemodr/models/StoreModel.h
index 970a0227..af343146 100644
--- a/pokemodr/models/StoreModel.h
+++ b/pokemodr/models/StoreModel.h
@@ -28,19 +28,11 @@ class StoreModel : public ObjectModel
~StoreModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/TileModel.cpp b/pokemodr/models/TileModel.cpp
index 37396f4e..924519be 100644
--- a/pokemodr/models/TileModel.cpp
+++ b/pokemodr/models/TileModel.cpp
@@ -36,7 +36,6 @@ TileModel::TileModel(BaseModel* parent, Object* object) :
TileModel::~TileModel()
{
- // TODO: destruct
}
QVariant TileModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant TileModel::data(int role) const
return QVariant();
}
-int TileModel::rowCount() const
-{
- return 0;
-}
-
bool TileModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool TileModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* TileModel::childItem(const int row)
-{
- return NULL;
-}
-
int TileModel::indexNumber() const
{
return m_object->pokemod()->tileIndex(m_object->id());
}
-bool TileModel::canInsertRows() const
-{
- return false;
-}
-
-bool TileModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool TileModel::canRemoveRows() const
-{
- return false;
-}
-
-bool TileModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool TileModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/TileModel.h b/pokemodr/models/TileModel.h
index a2fd5588..6ea2f404 100644
--- a/pokemodr/models/TileModel.h
+++ b/pokemodr/models/TileModel.h
@@ -28,19 +28,11 @@ class TileModel : public ObjectModel
~TileModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/TimeModel.cpp b/pokemodr/models/TimeModel.cpp
index f2e7941c..a1c591e4 100644
--- a/pokemodr/models/TimeModel.cpp
+++ b/pokemodr/models/TimeModel.cpp
@@ -36,7 +36,6 @@ TimeModel::TimeModel(BaseModel* parent, Object* object) :
TimeModel::~TimeModel()
{
- // TODO: destruct
}
QVariant TimeModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant TimeModel::data(int role) const
return QVariant();
}
-int TimeModel::rowCount() const
-{
- return 0;
-}
-
bool TimeModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool TimeModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* TimeModel::childItem(const int row)
-{
- return NULL;
-}
-
int TimeModel::indexNumber() const
{
return m_object->pokemod()->timeIndex(m_object->id());
}
-bool TimeModel::canInsertRows() const
-{
- return false;
-}
-
-bool TimeModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool TimeModel::canRemoveRows() const
-{
- return false;
-}
-
-bool TimeModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool TimeModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/TimeModel.h b/pokemodr/models/TimeModel.h
index b0bafe0e..20ef1901 100644
--- a/pokemodr/models/TimeModel.h
+++ b/pokemodr/models/TimeModel.h
@@ -28,19 +28,11 @@ class TimeModel : public ObjectModel
~TimeModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/TrainerModel.cpp b/pokemodr/models/TrainerModel.cpp
index 15f1b979..ab3c7325 100644
--- a/pokemodr/models/TrainerModel.cpp
+++ b/pokemodr/models/TrainerModel.cpp
@@ -36,7 +36,6 @@ TrainerModel::TrainerModel(BaseModel* parent, Object* object) :
TrainerModel::~TrainerModel()
{
- // TODO: destruct
}
QVariant TrainerModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant TrainerModel::data(int role) const
return QVariant();
}
-int TrainerModel::rowCount() const
-{
- return 0;
-}
-
bool TrainerModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool TrainerModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* TrainerModel::childItem(const int row)
-{
- return NULL;
-}
-
int TrainerModel::indexNumber() const
{
return m_object->pokemod()->trainerIndex(m_object->id());
}
-bool TrainerModel::canInsertRows() const
-{
- return false;
-}
-
-bool TrainerModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool TrainerModel::canRemoveRows() const
-{
- return false;
-}
-
-bool TrainerModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool TrainerModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/TrainerModel.h b/pokemodr/models/TrainerModel.h
index 2db32953..c90ad911 100644
--- a/pokemodr/models/TrainerModel.h
+++ b/pokemodr/models/TrainerModel.h
@@ -28,19 +28,11 @@ class TrainerModel : public ObjectModel
~TrainerModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};
diff --git a/pokemodr/models/TypeModel.cpp b/pokemodr/models/TypeModel.cpp
index 883d7319..0e0d61fc 100644
--- a/pokemodr/models/TypeModel.cpp
+++ b/pokemodr/models/TypeModel.cpp
@@ -36,7 +36,6 @@ TypeModel::TypeModel(BaseModel* parent, Object* object) :
TypeModel::~TypeModel()
{
- // TODO: destruct
}
QVariant TypeModel::data(int role) const
@@ -51,11 +50,6 @@ QVariant TypeModel::data(int role) const
return QVariant();
}
-int TypeModel::rowCount() const
-{
- return 0;
-}
-
bool TypeModel::setData(const QVariant& value, int role)
{
if (role == Qt::UserRole)
@@ -74,50 +68,31 @@ bool TypeModel::setData(const QVariant& value, int role)
if (xml.setContent(&file))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
file.close();
}
else if (xml.setContent(value.toString()))
{
if (xml.doctype().name() == m_object->className())
+ {
m_object->load(xml.documentElement());
+ return true;
+ }
}
}
}
return false;
}
-BaseModel* TypeModel::childItem(const int row)
-{
- return NULL;
-}
-
int TypeModel::indexNumber() const
{
return m_object->pokemod()->typeIndex(m_object->id());
}
-bool TypeModel::canInsertRows() const
-{
- return false;
-}
-
-bool TypeModel::insertRows(const int rows)
-{
- return false;
-}
-
-bool TypeModel::canRemoveRows() const
-{
- return false;
-}
-
-bool TypeModel::removeRows(const int position, const int rows)
-{
- return false;
-}
-
// bool TypeModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column)
// {
// // TODO: drag/drop
diff --git a/pokemodr/models/TypeModel.h b/pokemodr/models/TypeModel.h
index 19632237..bc4e1952 100644
--- a/pokemodr/models/TypeModel.h
+++ b/pokemodr/models/TypeModel.h
@@ -28,19 +28,11 @@ class TypeModel : public ObjectModel
~TypeModel();
QVariant data(int role = Qt::DisplayRole) const;
- int rowCount() const;
bool setData(const QVariant& value, int role = Qt::EditRole);
- BaseModel* childItem(const int row);
int indexNumber() const;
- bool canInsertRows() const;
- bool insertRows(const int rows);
-
- bool canRemoveRows() const;
- bool removeRows(const int position, const int rows);
-
// bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column);
};