summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokeModTreeItem.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-03-09 22:20:15 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-03-09 22:20:15 +0000
commit0191933210bd20a59527fcf2732a4f3c846fb2a9 (patch)
tree4779040481aabbe121cf50286a0ad2f5a316c70e /pokemodr/PokeModTreeItem.cpp
parent68447b2a21c928526b2a7e614a1d56484f379bc6 (diff)
downloadsigen-0191933210bd20a59527fcf2732a4f3c846fb2a9.tar.gz
sigen-0191933210bd20a59527fcf2732a4f3c846fb2a9.tar.xz
sigen-0191933210bd20a59527fcf2732a4f3c846fb2a9.zip
[ADD] ItemType now has a count descriptor
[ADD] Species now has a flee chance [FIX] Empty fields removed from .ui files [FIX] Fixed compile errors in pokemodr [ADD] Trainer now helps to simplify MapTrainers [ADD] Trainer UI file [FIX] MapTrainer dialogs condensed [FIX] Home direcotry now gotten by QDir::homePath() rather than ~ git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@93 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/PokeModTreeItem.cpp')
-rw-r--r--pokemodr/PokeModTreeItem.cpp46
1 files changed, 45 insertions, 1 deletions
diff --git a/pokemodr/PokeModTreeItem.cpp b/pokemodr/PokeModTreeItem.cpp
index 35ad701d..e44e14c6 100644
--- a/pokemodr/PokeModTreeItem.cpp
+++ b/pokemodr/PokeModTreeItem.cpp
@@ -459,7 +459,7 @@ void PokeModTreeItem::makeMenu(const QPoint& pos)
{
}
-Object* PokeModTreeItem::makeCopy()
+Object* PokeModTreeItem::copy()
{
if (obj)
{
@@ -501,3 +501,47 @@ Object* PokeModTreeItem::makeCopy()
}
return NULL;
}
+
+Object* PokeModTreeItem::cut()
+{
+ // TODO: actually cut the item
+ if (obj)
+ {
+ QString name(obj->getClassName());
+#define IF_IS_CLASS(class) if (name == #class) return new ::class(obj->getPokemod(), *static_cast< ::class* >(obj), obj->getId());
+ IF_IS_CLASS(Ability)
+ else IF_IS_CLASS(AbilityEffect)
+ else IF_IS_CLASS(Author)
+ else IF_IS_CLASS(Badge)
+ else IF_IS_CLASS(CoinList)
+ else IF_IS_CLASS(CoinListObject)
+ else IF_IS_CLASS(Dialog)
+ else IF_IS_CLASS(EggGroup)
+ else IF_IS_CLASS(Item)
+ else IF_IS_CLASS(ItemEffect)
+ else IF_IS_CLASS(ItemType)
+ else IF_IS_CLASS(Map)
+ else IF_IS_CLASS(MapEffect)
+ else IF_IS_CLASS(MapTrainer)
+ else IF_IS_CLASS(MapTrainerTeamMember)
+ else IF_IS_CLASS(MapWarp)
+ else IF_IS_CLASS(MapWildList)
+ else IF_IS_CLASS(MapWildListEncounter)
+ else IF_IS_CLASS(Move)
+ else IF_IS_CLASS(MoveEffect)
+ else IF_IS_CLASS(Nature)
+ else if (name == "Pokemod") return new Pokemod(*static_cast<Pokemod*>(obj));
+ else if (name == "Rules") return new Rules(obj->getPokemod());
+ else IF_IS_CLASS(Species)
+ else IF_IS_CLASS(SpeciesAbility)
+ else IF_IS_CLASS(SpeciesEvolution)
+ else IF_IS_CLASS(SpeciesItem)
+ else IF_IS_CLASS(SpeciesMove)
+ else IF_IS_CLASS(Store)
+ else IF_IS_CLASS(Tile)
+ else IF_IS_CLASS(Time)
+ else IF_IS_CLASS(Type)
+#undef IF_IS_CLASS
+ }
+ return NULL;
+}