diff -r 3afe33c1cf06 -r 9ab4067dabec QTfrontend/teamselect.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/teamselect.cpp Sun Jan 15 23:31:34 2006 +0000 @@ -0,0 +1,57 @@ +#include +#include +#include + +#include + +#include "teamselect.h" +#include "teamselhelper.h" + +void TeamSelWidget::addTeam(tmprop team) +{ + curDontPlayingTeams.push_back(team); + TeamShowWidget* pTeamShowWidget =new TeamShowWidget(team); + dontPlayingLayout.addWidget(pTeamShowWidget); + + teamToWidget.insert(make_pair(team, pTeamShowWidget)); + + QObject::connect(pTeamShowWidget, SIGNAL(teamStatusChanged(tmprop)), this, SLOT(changeTeamStatus(tmprop))); +} + +void TeamSelWidget::removeTeam(tmprop team) +{ + curDontPlayingTeams.erase(std::find(curDontPlayingTeams.begin(), curDontPlayingTeams.end(), team)); +} + +void TeamSelWidget::changeTeamStatus(tmprop team) +{ + list::iterator itDontPlay=std::find(curDontPlayingTeams.begin(), curDontPlayingTeams.end(), team); + list::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team); + + if(itDontPlay==curDontPlayingTeams.end()) { + // playing team => dont playing + curDontPlayingTeams.push_back(*itPlay); + curPlayingTeams.erase(itPlay); + } else { + // dont playing team => playing + curPlayingTeams.push_back(*itDontPlay); + curDontPlayingTeams.erase(itDontPlay); + } + + QGridLayout* pRemoveGrid = itDontPlay==curDontPlayingTeams.end() ? &playingLayout : &dontPlayingLayout; + QGridLayout* pAddGrid = itDontPlay==curDontPlayingTeams.end() ? &dontPlayingLayout : &playingLayout; + + pRemoveGrid->removeWidget(teamToWidget[team]); + pAddGrid->addWidget(teamToWidget[team]); +} + +TeamSelWidget::TeamSelWidget(const vector& teams, QWidget* parent) : + QWidget(parent), mainLayout(this) +{ + mainLayout.addLayout(&playingLayout); + mainLayout.addLayout(&dontPlayingLayout); + + for(vector::const_iterator it=teams.begin(); it!=teams.end(); ++it) { + addTeam(*it); + } +}