diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-06-19 02:06:10 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-06-19 02:06:10 +0000 |
| commit | 6dd3d36c4552565756dcedab2ddd44e90a553252 (patch) | |
| tree | 85fce9e5b97bd3a5f9f60b8d427ca8155d76609f /pokemod/Map.cpp | |
| parent | 5d7d71ddb75f636f94028da346f43565ffb798df (diff) | |
| download | sigen-6dd3d36c4552565756dcedab2ddd44e90a553252.tar.gz sigen-6dd3d36c4552565756dcedab2ddd44e90a553252.tar.xz sigen-6dd3d36c4552565756dcedab2ddd44e90a553252.zip | |
[FIX] Validation works in Pokémodr
[FIX] Macros moved to their own file
[FIX] Macros for subclasses added
[FIX] Key shortcuts added to context menu items
[FIX] Rules had a redundant field
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@212 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/Map.cpp')
| -rw-r--r-- | pokemod/Map.cpp | 57 |
1 files changed, 19 insertions, 38 deletions
diff --git a/pokemod/Map.cpp b/pokemod/Map.cpp index 419d75e3..11a69fe7 100644 --- a/pokemod/Map.cpp +++ b/pokemod/Map.cpp @@ -19,6 +19,7 @@ #include "Map.h" // Pokemod includes +#include "Macros.h" #include "MapEffect.h" #include "MapTrainer.h" #include "MapWarp.h" @@ -63,6 +64,7 @@ Pokemod::Map::~Map() void Pokemod::Map::validate() { + TEST_BEGIN(); if (m_name.isEmpty()) emit(error("Name is empty")); TEST(setFlyWarp, flyWarp); @@ -72,54 +74,33 @@ void Pokemod::Map::validate() QSet<QString> nameChecker; if (!effectCount()) emit(warning("There are no effects")); - foreach (MapEffect* effect, m_effects) - { - effect->validate(); - if (idChecker.contains(effect->id())) - emit(error(subclass("effect", effect->id()))); - idChecker.insert(effect->id()); - if (nameChecker.contains(effect->name())) - emit(error(subclass("effect", effect->name()))); - nameChecker.insert(effect->name()); - } + TEST_SUB_BEGIN(MapEffect, effects); + TEST_SUB("effect", id); + TEST_SUB("effect", name); + TEST_SUB_END(); idChecker.clear(); nameChecker.clear(); if (!trainerCount()) emit(warning("There are no trainers")); - foreach (MapTrainer* trainer, m_trainers) - { - trainer->validate(); - if (idChecker.contains(trainer->id())) - emit(error(subclass("trainer", trainer->id()))); - idChecker.insert(trainer->id()); - if (nameChecker.contains(trainer->name())) - emit(error(subclass("trainer", trainer->name()))); - nameChecker.insert(trainer->name()); - } + TEST_SUB_BEGIN(MapTrainer, trainers); + TEST_SUB("trainer", id); + TEST_SUB("trainer", name); + TEST_SUB_END(); idChecker.clear(); nameChecker.clear(); if (!warpCount()) emit(error("There are no warps")); - foreach (MapWarp* warp, m_warps) - { - warp->validate(); - if (idChecker.contains(warp->id())) - emit(error(subclass("warp", warp->id()))); - idChecker.insert(warp->id()); - if (nameChecker.contains(warp->name())) - emit(error(subclass("warp", warp->name()))); - nameChecker.insert(warp->name()); - } + TEST_SUB_BEGIN(MapWarp, warps); + TEST_SUB("warp", id); + TEST_SUB("warp", name); + TEST_SUB_END(); idChecker.clear(); if (!wildListCount()) - emit(error("There are no wild lists")); - foreach (MapWildList* wildList, m_wildLists) - { - wildList->validate(); - if (idChecker.contains(wildList->id())) - emit(error(subclass("effect", wildList->id()))); - idChecker.insert(wildList->id()); - } + emit(warning("There are no wild lists")); + TEST_SUB_BEGIN(MapWildList, wildLists); + TEST_SUB("wild list", id); + TEST_SUB_END(); + TEST_END(); } void Pokemod::Map::load(const QDomElement& xml, int id) |
