diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-04-24 20:21:59 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-04-24 20:21:59 +0000 |
| commit | 446fcd9248d4cef74e905c485ef767a94a8463ec (patch) | |
| tree | 66fa3e7a0536303395bd5b88abb6e1b2cacc8383 /pokemodr/models/AbilityModel.cpp | |
| parent | d7b6b0627a7d5e0875a263bf9501506a3d8da450 (diff) | |
| download | sigen-446fcd9248d4cef74e905c485ef767a94a8463ec.tar.gz sigen-446fcd9248d4cef74e905c485ef767a94a8463ec.tar.xz sigen-446fcd9248d4cef74e905c485ef767a94a8463ec.zip | |
[ADD] More model classes
[FIX] Minor things within the models
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@106 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/models/AbilityModel.cpp')
| -rw-r--r-- | pokemodr/models/AbilityModel.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/pokemodr/models/AbilityModel.cpp b/pokemodr/models/AbilityModel.cpp index 07d54945..dde7a8b8 100644 --- a/pokemodr/models/AbilityModel.cpp +++ b/pokemodr/models/AbilityModel.cpp @@ -19,6 +19,14 @@ #include <QDomDocument> #include <QFile> +// Pokemod includes +#include <Ability.h> +#include <AbilityEffect.h> +#include <Pokemod.h> + +// PokeModr includes +#include "AbilityUI.h" + // Model includes #include "AbilityEffectModel.h" @@ -35,7 +43,8 @@ AbilityModel::AbilityModel(BaseModel* parent, Object* object) : AbilityModel::~AbilityModel() { - // TODO: destruct + foreach (AbilityEffectModel* model, m_effects) + delete model; } QVariant AbilityModel::data(int role) const @@ -61,6 +70,7 @@ bool AbilityModel::setData(const QVariant& value, int role) { if (value.canConvert<void*>()) { + // TODO: reset effects *static_cast<Ability*>(m_object) = *static_cast<Ability*>(value.value<void*>()); return true; } @@ -73,14 +83,20 @@ bool AbilityModel::setData(const QVariant& value, int role) if (xml.setContent(&file)) { if (xml.doctype().name() == m_object->className()) + { + // TODO: reset effects m_object->load(xml.documentElement()); + } } file.close(); } else if (xml.setContent(value.toString())) { if (xml.doctype().name() == m_object->className()) + { + // TODO: reset effects m_object->load(xml.documentElement()); + } } } } @@ -118,6 +134,7 @@ bool AbilityModel::removeRows(const int position, const int rows) { for (int i = 0; i < rows; ++i) { + static_cast<Ability*>(m_object)->deleteEffect(position); delete m_effects[position]; m_effects.removeAt(position); } |
