diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-05-02 16:57:13 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-05-02 16:57:13 -0400 |
commit | bd41fbd5911596fa0366086afb30441c82756c5a (patch) | |
tree | d747ee3342d2a054ae6fd395bf4bdcaae4dd81cb /sigmodr/tree/TreeItem.cpp | |
parent | e2923bdcc743de43cebe22f6fa9faa9567c30f60 (diff) | |
download | sigen-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.cpp | 99 |
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 |