summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokeModTreeItem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemodr/PokeModTreeItem.cpp')
-rw-r--r--pokemodr/PokeModTreeItem.cpp562
1 files changed, 0 insertions, 562 deletions
diff --git a/pokemodr/PokeModTreeItem.cpp b/pokemodr/PokeModTreeItem.cpp
deleted file mode 100644
index bfed8e1b..00000000
--- a/pokemodr/PokeModTreeItem.cpp
+++ /dev/null
@@ -1,562 +0,0 @@
-/*
- * Copyright 2008 Ben Boeckel <MathStuf@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// KDE includes
-#include <kaction.h>
-#include <kmenu.h>
-
-// Qt includes
-#include <QPoint>
-#include <QString>
-
-// Pokemod includes
-#include <Ability.h>
-#include <AbilityEffect.h>
-#include <Author.h>
-#include <Badge.h>
-#include <CoinList.h>
-#include <CoinListObject.h>
-#include <Dialog.h>
-#include <EggGroup.h>
-#include <Item.h>
-#include <ItemEffect.h>
-#include <ItemType.h>
-#include <Map.h>
-#include <MapEffect.h>
-#include <MapTrainer.h>
-#include <MapTrainerTeamMember.h>
-#include <MapWarp.h>
-#include <MapWildList.h>
-#include <MapWildListEncounter.h>
-#include <Move.h>
-#include <MoveEffect.h>
-#include <Nature.h>
-#include <Pokemod.h>
-#include <Rules.h>
-#include <Species.h>
-#include <SpeciesAbility.h>
-#include <SpeciesEvolution.h>
-#include <SpeciesItem.h>
-#include <SpeciesMove.h>
-#include <Store.h>
-#include <Tile.h>
-#include <Time.h>
-#include <Trainer.h>
-#include <Type.h>
-
-// PokeModr includes
-#include "AbilityUI.h"
-// #include "AbilityEffectUI.h"
-#include "AuthorUI.h"
-#include "BadgeUI.h"
-#include "CoinListUI.h"
-#include "CoinListObjectUI.h"
-// #include "DialogUI.h"
-#include "EggGroupUI.h"
-#include "ItemUI.h"
-// #include "ItemEffectUI.h"
-#include "ItemTypeUI.h"
-#include "MapUI.h"
-// #include "MapEffectUI.h"
-// #include "MapTrainerUI.h"
-#include "MapTrainerTeamMemberUI.h"
-#include "MapWarpUI.h"
-#include "MapWildListUI.h"
-#include "MapWildListEncounterUI.h"
-#include "MoveUI.h"
-// #include "MoveEffectUI.h"
-#include "NatureUI.h"
-#include "PokemodUI.h"
-#include "RulesUI.h"
-#include "SpeciesUI.h"
-#include "SpeciesAbilityUI.h"
-#include "SpeciesEvolutionUI.h"
-#include "SpeciesItemUI.h"
-#include "SpeciesMoveUI.h"
-#include "StoreUI.h"
-#include "TileUI.h"
-#include "TimeUI.h"
-#include "TrainerUI.h"
-#include "TypeUI.h"
-
-// Header include
-#include "PokeModTreeItem.h"
-
-// FIXME: scrap for a better solution
-
-/*
-void PokeModTreeItem::update()
-{
- if (text(0).isEmpty())
- {
- QString name(m_object->className());
- if (name == "Ability")
- new PokeModTreeItem(this, m_object, "Effects");
- else if (name == "CoinList")
- new PokeModTreeItem(this, m_object, "Objects");
- else if (name == "Item")
- new PokeModTreeItem(this, m_object, "Effects");
- else if (name == "Map")
- {
- new PokeModTreeItem(this, m_object, "Effects");
- new PokeModTreeItem(this, m_object, "Trainers");
- new PokeModTreeItem(this, m_object, "Warps");
- new PokeModTreeItem(this, m_object, "Wild Lists");
- }
- else if (name == "MapTrainer")
- new PokeModTreeItem(this, m_object, "Team Members");
- else if (name == "MapWildList")
- new PokeModTreeItem(this, m_object, "Encounters");
- else if (name == "Move")
- new PokeModTreeItem(this, m_object, "Effects");
- else if (name == "Pokemod")
- {
- new PokeModTreeItem(this, static_cast<Pokemod*>(m_object)->rules());
- new PokeModTreeItem(this, m_object, "Abilities");
- new PokeModTreeItem(this, m_object, "Authors");
- new PokeModTreeItem(this, m_object, "Badges");
- new PokeModTreeItem(this, m_object, "Coin Lists");
- new PokeModTreeItem(this, m_object, "Dialogs");
- new PokeModTreeItem(this, m_object, "Egg Groups");
- new PokeModTreeItem(this, m_object, "Items");
- new PokeModTreeItem(this, m_object, "Item Types");
- new PokeModTreeItem(this, m_object, "Maps");
- new PokeModTreeItem(this, m_object, "Moves");
- new PokeModTreeItem(this, m_object, "Natures");
- new PokeModTreeItem(this, m_object, "Species");
- new PokeModTreeItem(this, m_object, "Stores");
- new PokeModTreeItem(this, m_object, "Tiles");
- new PokeModTreeItem(this, m_object, "Times");
- new PokeModTreeItem(this, m_object, "Trainers");
- new PokeModTreeItem(this, m_object, "Types");
- }
- else if (name == "Species")
- {
- new PokeModTreeItem(this, m_object, "Abilities");
- new PokeModTreeItem(this, m_object, "Evolutions");
- new PokeModTreeItem(this, m_object, "Items");
- new PokeModTreeItem(this, m_object, "Moves");
- }
- }
- else
- {
- QString name(obj->className());
- if (name == "Ability")
- {
- Ability* ability = static_cast<Ability*>(m_object);
- for (int i = 0; i < ability->effectCount(); ++i)
- new PokeModTreeItem(this, ability->effect(i));
- }
- else if (name == "CoinList")
- {
- CoinList* coinList = static_cast<CoinList*>(m_object);
- for (int i = 0; i < coinList->itemCount(); ++i)
- new PokeModTreeItem(this, coinList->item(i));
- }
- else if (name == "Item")
- {
- Item* item = static_cast<Item*>(m_object);
- for (int i = 0; i < item->effectCount(); ++i)
- new PokeModTreeItem(this, item->effect(i));
- }
- else if (name == "Map")
- {
- Map* map = static_cast<Map*>(m_object);
- if (text(0) == "Effects")
- {
- for (int i = 0; i < map->effectCount(); ++i)
- new PokeModTreeItem(this, map->effect(i));
- }
- else if (text(0) == "Trainers")
- {
- for (int i = 0; i < map->trainerCount(); ++i)
- new PokeModTreeItem(this, map->trainer(i));
- }
- else if (text(0) == "Warps")
- {
- for (int i = 0; i < m->warpCount(); ++i)
- new PokeModTreeItem(this, m->warp(i));
- }
- else if (text(0) == "Wild Lists")
- {
- for (int i = 0; i < m->wildListCount(); ++i)
- new PokeModTreeItem(this, m->wildList(i));
- }
- }
- else if (name == "MapTrainer")
- {
- MapTrainer* t = static_cast<MapTrainer*>(obj);
- for (int i = 0; i < t->teamMemberCount(); ++i)
- new PokeModTreeItem(this, t->teamMember(i));
- }
- else if (name == "MapWildList")
- {
- MapWildList* w = static_cast<MapWildList*>(obj);
- for (int i = 0; i < w->encounterCount(); ++i)
- new PokeModTreeItem(this, w->encounter(i));
- }
- else if (name == "Move")
- {
- Move* m = static_cast<Move*>(obj);
- for (int i = 0; i < m->effectCount(); ++i)
- new PokeModTreeItem(this, m->effect(i));
- }
- else if (name == "Pokemod")
- {
- Pokemod* p = static_cast<Pokemod*>(obj);
- if (text(0) == "Abilities")
- {
- for (int i = 0; i < p->abilityCount(); ++i)
- new PokeModTreeItem(this, p->ability(i));
- }
- else if (text(0) == "Authors")
- {
- for (int i = 0; i < p->authorCount(); ++i)
- new PokeModTreeItem(this, p->author(i));
- }
- else if (text(0) == "Badges")
- {
- for (int i = 0; i < p->badgeCount(); ++i)
- new PokeModTreeItem(this, p->badge(i));
- }
- else if (text(0) == "Coin Lists")
- {
- for (int i = 0; i < p->coinListCount(); ++i)
- new PokeModTreeItem(this, p->coinList(i));
- }
- else if (text(0) == "Dialogs")
- {
- for (int i = 0; i < p->dialogCount(); ++i)
- new PokeModTreeItem(this, p->dialog(i));
- }
- else if (text(0) == "Egg Groups")
- {
- for (int i = 0; i < p->eggGroupCount(); ++i)
- new PokeModTreeItem(this, p->eggGroup(i));
- }
- else if (text(0) == "Items")
- {
- for (int i = 0; i < p->itemCount(); ++i)
- new PokeModTreeItem(this, p->item(i));
- }
- else if (text(0) == "Item Types")
- {
- for (int i = 0; i < p->itemTypeCount(); ++i)
- new PokeModTreeItem(this, p->itemType(i));
- }
- else if (text(0) == "Maps")
- {
- for (int i = 0; i < p->mapCount(); ++i)
- new PokeModTreeItem(this, p->map(i));
- }
- else if (text(0) == "Moves")
- {
- for (int i = 0; i < p->moveCount(); ++i)
- new PokeModTreeItem(this, p->move(i));
- }
- else if (text(0) == "Natures")
- {
- for (int i = 0; i < p->natureCount(); ++i)
- new PokeModTreeItem(this, p->nature(i));
- }
- else if (text(0) == "Species")
- {
- for (int i = 0; i < p->speciesCount(); ++i)
- new PokeModTreeItem(this, p->species(i));
- }
- else if (text(0) == "Stores")
- {
- for (int i = 0; i < p->storeCount(); ++i)
- new PokeModTreeItem(this, p->store(i));
- }
- else if (text(0) == "Tiles")
- {
- for (int i = 0; i < p->tileCount(); ++i)
- new PokeModTreeItem(this, p->tile(i));
- }
- else if (text(0) == "Times")
- {
- for (int i = 0; i < p->timeCount(); ++i)
- new PokeModTreeItem(this, p->time(i));
- }
- else if (text(0) == "Trainers")
- {
- for (int i = 0; i < p->trainerCount(); ++i)
- new PokeModTreeItem(this, p->trainer(i));
- }
- else if (text(0) == "Types")
- {
- for (int i = 0; i < p->typeCount(); ++i)
- new PokeModTreeItem(this, p->type(i));
- }
- }
- else if (name == "Species")
- {
- Species* s = static_cast<Species*>(obj);
- if (text(0) == "Abilities")
- {
- for (int i = 0; i < s->abilityCount(); ++i)
- new PokeModTreeItem(this, s->ability(i));
- }
- else if (text(0) == "Evolutions")
- {
- for (int i = 0; i < s->evolutionCount(); ++i)
- new PokeModTreeItem(this, s->evolution(i));
- }
- else if (text(0) == "Items")
- {
- for (int i = 0; i < s->itemCount(); ++i)
- new PokeModTreeItem(this, s->item(i));
- }
- else if (text(0) == "Moves")
- {
- for (int i = 0; i < s->moveCount(); ++i)
- new PokeModTreeItem(this, s->move(i));
- }
- }
- obj = NULL;
- }
-}
-
-void PokeModTreeItem::init(QWidget* pnt)
-{
- update();
- setExpanded(true);
- setChildIndicatorPolicy(QTreeWidgetItem::QTreeWidgetItem::DontShowIndicatorWhenChildless);
- if (obj)
- {
- QString name(obj->className());
-#define IF_IS_CLASS(class) if (name == #class) ui = new class##UI(static_cast< ::class* >(obj), pnt);
- 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_IS_CLASS(Pokemod)
- else IF_IS_CLASS(Rules)
- 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(Trainer)
- else IF_IS_CLASS(Type)
- connect(ui, SIGNAL(changed(bool)), this, SLOT(changed(bool)));
- connect(ui, SIGNAL(changed(bool)), this, SLOT(updateName()));
- }
-#undef IF_IS_CLASS
- updateName();
-}
-
-void PokeModTreeItem::updateName()
-{
- if (!obj)
- return;
- QString name(obj->className());
- QString text;
- if (name == "Ability")
- text = static_cast<Ability*>(obj)->name();
- else if (name == "AbilityEffect")
- text = AbilityEffect::EffectStr.at(static_cast<AbilityEffect*>(obj)->effect());
- else if (name == "Author")
- text = static_cast<Author*>(obj)->name();
- else if (name == "Badge")
- text = static_cast<Badge*>(obj)->name();
- else if (name == "CoinList")
- text = static_cast<CoinList*>(obj)->name();
- else if (name == "CoinListObject")
- {
- const CoinListObject* o = static_cast<CoinListObject*>(obj);
- if (o->type() == CoinListObject::Item)
- text = obj->pokemod()->item(o->object())->name();
- else
- text = obj->pokemod()->species(o->object())->name();
- }
- else if (name == "Dialog")
- text = static_cast<Dialog*>(obj)->dialog().mid(0, 25);
- else if (name == "EggGroup")
- text = static_cast<EggGroup*>(obj)->name();
- else if (name == "Item")
- text = static_cast<Item*>(obj)->name();
- else if (name == "ItemEffect")
- text = ItemEffect::EffectStr.at(static_cast<ItemEffect*>(obj)->effect());
- else if (name == "ItemType")
- text = static_cast< ::ItemType* >(obj)->name();
- else if (name == "Map")
- text = static_cast<Map*>(obj)->name();
- else if (name == "MapEffect")
- text = static_cast<MapEffect*>(obj)->name();
- else if (name == "MapTrainer")
- text = static_cast<MapTrainer*>(obj)->name();
- else if (name == "MapTrainerTeamMember")
- {
- const MapTrainerTeamMember* t = static_cast<MapTrainerTeamMember*>(obj);
- text = QString("Lv. %1 %2").arg(t->level()).arg(obj->pokemod()->species(t->species())->name());
- }
- else if (name == "MapWarp")
- text = static_cast<MapWarp*>(obj)->name();
- else if (name == "MapWildList")
- text = MapWildList::ControlStr.at(static_cast<MapWildList*>(obj)->control());
- else if (name == "MapWildListEncounter")
- {
- const MapWildListEncounter* e = static_cast<MapWildListEncounter*>(obj);
- text = QString("Lv. %1 %2").arg(e->level()).arg(obj->pokemod()->species(e->species())->name());
- }
- else if (name == "Move")
- text = static_cast<Move*>(obj)->name();
- else if (name == "MoveEffect")
- text = MoveEffect::EffectStr.at(static_cast<MoveEffect*>(obj)->effect());
- else if (name == "Nature")
- text = static_cast<Nature*>(obj)->name();
- else if (name == "Pokemod")
- text = static_cast<Pokemod*>(obj)->title();
- else if (name == "Rules")
- text = "Rules";
- else if (name == "Species")
- text = static_cast<Species*>(obj)->name();
- else if (name == "SpeciesAbility")
- text = obj->pokemod()->ability(static_cast<SpeciesAbility*>(obj)->ability())->name();
- else if (name == "SpeciesEvolution")
- text = obj->pokemod()->species(static_cast<SpeciesEvolution*>(obj)->species())->name();
- else if (name == "SpeciesItem")
- text = obj->pokemod()->item(static_cast<SpeciesItem*>(obj)->item())->name();
- else if (name == "SpeciesMove")
- text = obj->pokemod()->move(static_cast<SpeciesMove*>(obj)->move())->name();
- else if (name == "Store")
- text = static_cast<Store*>(obj)->name();
- else if (name == "Tile")
- text = static_cast<Tile*>(obj)->name();
- else if (name == "Time")
- text = static_cast<Time*>(obj)->name();
- else if (name == "Trainer")
- text = static_cast<Trainer*>(obj)->name();
- else if (name == "Type")
- text = static_cast< ::Type* >(obj)->name();
- setText(0, text);
-}
-
-void PokeModTreeItem::makeMenu(const QPoint& pos)
-{
-}
-
-Object* PokeModTreeItem::copy()
-{
- if (obj)
- {
- QString name(obj->className());
-#define IF_IS_CLASS(class) if (name == #class) return new ::class(obj->pokemod(), *static_cast< ::class* >(obj), obj->id());
- 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->pokemod());
- 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(Trainer)
- else IF_IS_CLASS(Type)
-#undef IF_IS_CLASS
- }
- return NULL;
-}
-
-Object* PokeModTreeItem::cut()
-{
- // TODO: actually cut the item
- if (obj)
- {
- QString name(obj->className());
-#define IF_IS_CLASS(class) if (name == #class) return new ::class(obj->pokemod(), *static_cast< ::class* >(obj), obj->id());
- 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->pokemod());
- 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(Trainer)
- else IF_IS_CLASS(Type)
-#undef IF_IS_CLASS
- }
- return NULL;
-}*/