summaryrefslogtreecommitdiffstats
path: root/pokemod/Map.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-06-19 02:06:10 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-06-19 02:06:10 +0000
commit6dd3d36c4552565756dcedab2ddd44e90a553252 (patch)
tree85fce9e5b97bd3a5f9f60b8d427ca8155d76609f /pokemod/Map.cpp
parent5d7d71ddb75f636f94028da346f43565ffb798df (diff)
downloadsigen-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.cpp57
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)