summaryrefslogtreecommitdiffstats
path: root/sigmodr/tree/TreeItem.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-05-02 16:57:13 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-05-02 16:57:13 -0400
commitbd41fbd5911596fa0366086afb30441c82756c5a (patch)
treed747ee3342d2a054ae6fd395bf4bdcaae4dd81cb /sigmodr/tree/TreeItem.cpp
parente2923bdcc743de43cebe22f6fa9faa9567c30f60 (diff)
downloadsigen-bd41fbd5911596fa0366086afb30441c82756c5a.tar.gz
sigen-bd41fbd5911596fa0366086afb30441c82756c5a.tar.xz
sigen-bd41fbd5911596fa0366086afb30441c82756c5a.zip
Delete items
Diffstat (limited to 'sigmodr/tree/TreeItem.cpp')
-rw-r--r--sigmodr/tree/TreeItem.cpp99
1 files changed, 98 insertions, 1 deletions
diff --git a/sigmodr/tree/TreeItem.cpp b/sigmodr/tree/TreeItem.cpp
index 45dd604f..c32c1cb2 100644
--- a/sigmodr/tree/TreeItem.cpp
+++ b/sigmodr/tree/TreeItem.cpp
@@ -791,7 +791,104 @@ TreeItem* TreeItem::childAt(const int child)
void TreeItem::removeChild(const int child)
{
- // TODO
+ if ((child < 0) || (m_children.size() <= child))
+ return;
+ switch (m_type)
+ {
+ case GroupAbility:
+ qobject_cast<Game*>(m_object)->deleteAbility(child);
+ break;
+ case GroupAuthor:
+ qobject_cast<Game*>(m_object)->deleteAuthor(child);
+ break;
+ case GroupBadge:
+ qobject_cast<Game*>(m_object)->deleteBadge(child);
+ break;
+ case GroupCoinList:
+ qobject_cast<Game*>(m_object)->deleteCoinList(child);
+ break;
+ case GroupEggGroup:
+ qobject_cast<Game*>(m_object)->deleteEggGroup(child);
+ break;
+ case GroupGlobalScript:
+ qobject_cast<Game*>(m_object)->deleteGlobalScript(child);
+ break;
+ case GroupItem:
+ qobject_cast<Game*>(m_object)->deleteItem(child);
+ break;
+ case GroupItemType:
+ qobject_cast<Game*>(m_object)->deleteItemType(child);
+ break;
+ case GroupMap:
+ qobject_cast<Game*>(m_object)->deleteMap(child);
+ break;
+ case GroupMapEffect:
+ qobject_cast<Map*>(m_object)->deleteEffect(child);
+ break;
+ case GroupMapTrainer:
+ qobject_cast<Map*>(m_object)->deleteTrainer(child);
+ break;
+ case GroupMapWarp:
+ qobject_cast<Map*>(m_object)->deleteWarp(child);
+ break;
+ case GroupMapWildList:
+ qobject_cast<Map*>(m_object)->deleteWildList(child);
+ break;
+ case GroupMove:
+ qobject_cast<Game*>(m_object)->deleteMove(child);
+ break;
+ case GroupNature:
+ qobject_cast<Game*>(m_object)->deleteNature(child);
+ break;
+ case GroupSkin:
+ qobject_cast<Game*>(m_object)->deleteSkin(child);
+ break;
+ case GroupSound:
+ qobject_cast<Game*>(m_object)->deleteSound(child);
+ break;
+ case GroupSpecies:
+ qobject_cast<Game*>(m_object)->deleteSpecies(child);
+ break;
+ case GroupSprite:
+ qobject_cast<Game*>(m_object)->deleteSprite(child);
+ break;
+ case GroupStatus:
+ qobject_cast<Game*>(m_object)->deleteStatus(child);
+ break;
+ case GroupStore:
+ qobject_cast<Game*>(m_object)->deleteStore(child);
+ break;
+ case GroupTile:
+ qobject_cast<Game*>(m_object)->deleteTile(child);
+ break;
+ case GroupTime:
+ qobject_cast<Game*>(m_object)->deleteTime(child);
+ break;
+ case GroupTrainer:
+ qobject_cast<Game*>(m_object)->deleteTrainer(child);
+ break;
+ case GroupType:
+ qobject_cast<Game*>(m_object)->deleteType(child);
+ break;
+ case GroupWeather:
+ qobject_cast<Game*>(m_object)->deleteWeather(child);
+ break;
+ case EntryCoinList:
+ qobject_cast<CoinList*>(m_object)->deleteItem(child);
+ break;
+ case EntryMapTrainer:
+ qobject_cast<MapTrainer*>(m_object)->deleteTeamMember(child);
+ break;
+ case EntryMapWildList:
+ qobject_cast<MapWildList*>(m_object)->deleteEncounter(child);
+ break;
+ case EntrySpecies:
+ qobject_cast<Species*>(m_object)->deleteMove(child);
+ break;
+ default:
+ break;
+ }
+ delete m_children[child];
}
const Game* TreeItem::game() const