From 02d571db3ef9fa2cb73203ef3dc46827ee6960cf Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 29 Dec 2008 11:51:33 -0500 Subject: Added macros for subclass handling --- sigmod/MapTrainer.cpp | 85 ++------------------------------------------------- 1 file changed, 2 insertions(+), 83 deletions(-) (limited to 'sigmod/MapTrainer.cpp') diff --git a/sigmod/MapTrainer.cpp b/sigmod/MapTrainer.cpp index ccef08fe..516af27c 100644 --- a/sigmod/MapTrainer.cpp +++ b/sigmod/MapTrainer.cpp @@ -138,87 +138,7 @@ CHECK_BEGIN(MapTrainer, int, leadTeamMember) } CHECK_END() -const Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::teamMember(const int index) const -{ - if (index < teamMemberCount()) - return m_teamMembers.at(index); - return NULL; -} - -Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::teamMember(const int index) -{ - if (index < teamMemberCount()) - return m_teamMembers[index]; - return NULL; -} - -const Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::teamMemberById(const int id) const -{ - return teamMember(teamMemberIndex(id)); -} - -Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::teamMemberById(const int id) -{ - return teamMember(teamMemberIndex(id)); -} - -int Sigmod::MapTrainer::teamMemberIndex(const int id) const -{ - for (int i = 0; i < teamMemberCount(); ++i) - { - if (m_teamMembers[i]->id() == id) - return i; - } - return INT_MAX; -} - -int Sigmod::MapTrainer::teamMemberCount() const -{ - return m_teamMembers.size(); -} - -Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::newTeamMember() -{ - return newTeamMember(new MapTrainerTeamMember(this, newTeamMemberId())); -} - -Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::newTeamMember(const QDomElement& xml) -{ - return newTeamMember(new MapTrainerTeamMember(xml, this, newTeamMemberId())); -} - -Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::newTeamMember(const MapTrainerTeamMember& teamMember) -{ - return newTeamMember(new MapTrainerTeamMember(teamMember, this, newTeamMemberId())); -} - -Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::newTeamMember(MapTrainerTeamMember* teamMember) -{ - m_teamMembers.append(teamMember); - return teamMember; -} - -void Sigmod::MapTrainer::deleteTeamMember(const int index) -{ - if (index < teamMemberCount()) - { - delete m_teamMembers[index]; - m_teamMembers.removeAt(index); - } -} - -void Sigmod::MapTrainer::deleteTeamMemberById(const int id) -{ - deleteTeamMember(teamMemberIndex(id)); -} - -int Sigmod::MapTrainer::newTeamMemberId() const -{ - int i = 0; - while ((i < teamMemberCount()) && (teamMemberIndex(i) != INT_MAX)) - ++i; - return i; -} +SUBCLASS(MapTrainer, TeamMember, teamMember, teamMembers) Sigmod::MapTrainer& Sigmod::MapTrainer::operator=(const MapTrainer& rhs) { @@ -237,6 +157,5 @@ Sigmod::MapTrainer& Sigmod::MapTrainer::operator=(const MapTrainer& rhs) void Sigmod::MapTrainer::clear() { - while (teamMemberCount()) - deleteTeamMember(0); + SUBCLASS_CLEAR(teamMembers); } -- cgit