From 446fcd9248d4cef74e905c485ef767a94a8463ec Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 24 Apr 2008 20:21:59 +0000 Subject: [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 --- pokemodr/models/AbilityModel.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'pokemodr/models/AbilityModel.cpp') 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 #include +// Pokemod includes +#include +#include +#include + +// 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()) { + // TODO: reset effects *static_cast(m_object) = *static_cast(value.value()); 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(m_object)->deleteEffect(position); delete m_effects[position]; m_effects.removeAt(position); } -- cgit