From bd41fbd5911596fa0366086afb30441c82756c5a Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sat, 2 May 2009 16:57:13 -0400 Subject: Delete items --- sigmodr/tree/TreeItem.cpp | 99 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) (limited to 'sigmodr/tree/TreeItem.cpp') 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(m_object)->deleteAbility(child); + break; + case GroupAuthor: + qobject_cast(m_object)->deleteAuthor(child); + break; + case GroupBadge: + qobject_cast(m_object)->deleteBadge(child); + break; + case GroupCoinList: + qobject_cast(m_object)->deleteCoinList(child); + break; + case GroupEggGroup: + qobject_cast(m_object)->deleteEggGroup(child); + break; + case GroupGlobalScript: + qobject_cast(m_object)->deleteGlobalScript(child); + break; + case GroupItem: + qobject_cast(m_object)->deleteItem(child); + break; + case GroupItemType: + qobject_cast(m_object)->deleteItemType(child); + break; + case GroupMap: + qobject_cast(m_object)->deleteMap(child); + break; + case GroupMapEffect: + qobject_cast(m_object)->deleteEffect(child); + break; + case GroupMapTrainer: + qobject_cast(m_object)->deleteTrainer(child); + break; + case GroupMapWarp: + qobject_cast(m_object)->deleteWarp(child); + break; + case GroupMapWildList: + qobject_cast(m_object)->deleteWildList(child); + break; + case GroupMove: + qobject_cast(m_object)->deleteMove(child); + break; + case GroupNature: + qobject_cast(m_object)->deleteNature(child); + break; + case GroupSkin: + qobject_cast(m_object)->deleteSkin(child); + break; + case GroupSound: + qobject_cast(m_object)->deleteSound(child); + break; + case GroupSpecies: + qobject_cast(m_object)->deleteSpecies(child); + break; + case GroupSprite: + qobject_cast(m_object)->deleteSprite(child); + break; + case GroupStatus: + qobject_cast(m_object)->deleteStatus(child); + break; + case GroupStore: + qobject_cast(m_object)->deleteStore(child); + break; + case GroupTile: + qobject_cast(m_object)->deleteTile(child); + break; + case GroupTime: + qobject_cast(m_object)->deleteTime(child); + break; + case GroupTrainer: + qobject_cast(m_object)->deleteTrainer(child); + break; + case GroupType: + qobject_cast(m_object)->deleteType(child); + break; + case GroupWeather: + qobject_cast(m_object)->deleteWeather(child); + break; + case EntryCoinList: + qobject_cast(m_object)->deleteItem(child); + break; + case EntryMapTrainer: + qobject_cast(m_object)->deleteTeamMember(child); + break; + case EntryMapWildList: + qobject_cast(m_object)->deleteEncounter(child); + break; + case EntrySpecies: + qobject_cast(m_object)->deleteMove(child); + break; + default: + break; + } + delete m_children[child]; } const Game* TreeItem::game() const -- cgit