QTfrontend/teamselect.cpp
changeset 184 f97a7a3dc8f6
parent 183 57c2ef19f719
child 207 287077789132
--- a/QTfrontend/teamselect.cpp	Thu Oct 05 16:33:18 2006 +0000
+++ b/QTfrontend/teamselect.cpp	Thu Oct 05 17:02:09 2006 +0000
@@ -1,133 +1,133 @@
-/*
- * Hedgewars, a worms-like game
- * Copyright (c) 2006 Ulyanov Igor <iulyanov@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#include <QLabel>
-#include <QPixmap>
-#include <QPushButton>
-#include <QFrame>
-#include <QDebug>
-
-#include <vertScrollArea.h>
-#include "teamselect.h"
-#include "teamselhelper.h"
-#include "frameTeam.h"
-
-void TeamSelWidget::addTeam(HWTeam team)
-{
-  frameDontPlaying->addTeam(team, false);
-  curDontPlayingTeams.push_back(team);
-  QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
-		   this, SLOT(changeTeamStatus(HWTeam)));
-}
-
-//void TeamSelWidget::removeTeam(__attribute__ ((unused)) HWTeam team)
-//{
-  //curDontPlayingTeams.erase(std::find(curDontPlayingTeams.begin(), curDontPlayingTeams.end(), team));
-//}
-
-void TeamSelWidget::changeTeamStatus(HWTeam team)
-{
-  list<HWTeam>::iterator itDontPlay=std::find(curDontPlayingTeams.begin(), curDontPlayingTeams.end(), team);
-  list<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
-
-  bool willBePlaying=itDontPlay!=curDontPlayingTeams.end();
-
-  if(!willBePlaying) {
-    // playing team => dont playing
-    curDontPlayingTeams.push_back(*itPlay);
-    curPlayingTeams.erase(itPlay);
-  } else {
-    // return if max playing teams reached
-    if(framePlaying->isFullTeams()) return;
-    // dont playing team => playing
-    curPlayingTeams.push_back(*itDontPlay);
-    curDontPlayingTeams.erase(itDontPlay);
-  }
-
-  FrameTeams* pRemoveTeams;
-  FrameTeams* pAddTeams;
-  if(!willBePlaying) {
-    pRemoveTeams=framePlaying;
-    pAddTeams=frameDontPlaying;
-  } else {
-    pRemoveTeams=frameDontPlaying;
-    pAddTeams=framePlaying;
-  }
-
-  pAddTeams->addTeam(team, willBePlaying);
-  pRemoveTeams->removeTeam(team);
-  QObject::connect(pAddTeams->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
-		   this, SLOT(changeTeamStatus(HWTeam)));
-
-  QSize szh=pAddTeams->sizeHint();
-  QSize szh1=pRemoveTeams->sizeHint();
-  if(szh.isValid() && szh1.isValid()) {
-    pAddTeams->resize(pAddTeams->size().width(), szh.height());
-    pRemoveTeams->resize(pRemoveTeams->size().width(), szh1.height());
-  }
-}
-
-void TeamSelWidget::addScrArea(FrameTeams* pfteams, QColor color)
-{
-  VertScrArea* area=new VertScrArea(color);
-  area->setWidget(pfteams);
-  mainLayout.addWidget(area, 30);
-}
-
-TeamSelWidget::TeamSelWidget(QWidget* parent) :
-  QWidget(parent), mainLayout(this)
-{
-  framePlaying=new FrameTeams();
-  frameDontPlaying=new FrameTeams();
-  addScrArea(framePlaying, QColor("DarkTurquoise"));
-  addScrArea(frameDontPlaying, QColor("LightGoldenrodYellow"));
-}
-
-void TeamSelWidget::resetPlayingTeams(const QStringList& teamslist)
-{
-  list<HWTeam>::iterator it;
-  for(it=curPlayingTeams.begin(); it!=curPlayingTeams.end(); it++) {
-    framePlaying->removeTeam(*it);
-  }
-  curPlayingTeams.clear();
-  for(it=curDontPlayingTeams.begin(); it!=curDontPlayingTeams.end(); it++) {
-    frameDontPlaying->removeTeam(*it);
-  }
-  curDontPlayingTeams.clear();
-
-  for (QStringList::ConstIterator it = teamslist.begin(); it != teamslist.end(); ++it ) {
-    addTeam(*it);
-  }
-}
-
-bool TeamSelWidget::isPlaying(HWTeam team) const
-{
-  return std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team)!=curPlayingTeams.end();
-}
-
-list<HWTeam> TeamSelWidget::getPlayingTeams() const
-{
-  return curPlayingTeams;
-}
-
-unsigned char TeamSelWidget::numHedgedogs(HWTeam team) const
-{
-  const TeamShowWidget* tsw=dynamic_cast<TeamShowWidget*>(framePlaying->getTeamWidget(team));
-  if(!tsw) return 0;
-  return tsw->getHedgehogsNum();
-}
+/*
+ * Hedgewars, a worms-like game
+ * Copyright (c) 2006 Ulyanov Igor <iulyanov@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+#include <QLabel>
+#include <QPixmap>
+#include <QPushButton>
+#include <QFrame>
+#include <QDebug>
+
+#include <vertScrollArea.h>
+#include "teamselect.h"
+#include "teamselhelper.h"
+#include "frameTeam.h"
+
+void TeamSelWidget::addTeam(HWTeam team)
+{
+  frameDontPlaying->addTeam(team, false);
+  curDontPlayingTeams.push_back(team);
+  QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
+		   this, SLOT(changeTeamStatus(HWTeam)));
+}
+
+//void TeamSelWidget::removeTeam(__attribute__ ((unused)) HWTeam team)
+//{
+  //curDontPlayingTeams.erase(std::find(curDontPlayingTeams.begin(), curDontPlayingTeams.end(), team));
+//}
+
+void TeamSelWidget::changeTeamStatus(HWTeam team)
+{
+  list<HWTeam>::iterator itDontPlay=std::find(curDontPlayingTeams.begin(), curDontPlayingTeams.end(), team);
+  list<HWTeam>::iterator itPlay=std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team);
+
+  bool willBePlaying=itDontPlay!=curDontPlayingTeams.end();
+
+  if(!willBePlaying) {
+    // playing team => dont playing
+    curDontPlayingTeams.push_back(*itPlay);
+    curPlayingTeams.erase(itPlay);
+  } else {
+    // return if max playing teams reached
+    if(framePlaying->isFullTeams()) return;
+    // dont playing team => playing
+    curPlayingTeams.push_back(*itDontPlay);
+    curDontPlayingTeams.erase(itDontPlay);
+  }
+
+  FrameTeams* pRemoveTeams;
+  FrameTeams* pAddTeams;
+  if(!willBePlaying) {
+    pRemoveTeams=framePlaying;
+    pAddTeams=frameDontPlaying;
+  } else {
+    pRemoveTeams=frameDontPlaying;
+    pAddTeams=framePlaying;
+  }
+
+  pAddTeams->addTeam(team, willBePlaying);
+  pRemoveTeams->removeTeam(team);
+  QObject::connect(pAddTeams->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)),
+		   this, SLOT(changeTeamStatus(HWTeam)));
+
+  QSize szh=pAddTeams->sizeHint();
+  QSize szh1=pRemoveTeams->sizeHint();
+  if(szh.isValid() && szh1.isValid()) {
+    pAddTeams->resize(pAddTeams->size().width(), szh.height());
+    pRemoveTeams->resize(pRemoveTeams->size().width(), szh1.height());
+  }
+}
+
+void TeamSelWidget::addScrArea(FrameTeams* pfteams, QColor color)
+{
+  VertScrArea* area=new VertScrArea(color);
+  area->setWidget(pfteams);
+  mainLayout.addWidget(area, 30);
+}
+
+TeamSelWidget::TeamSelWidget(QWidget* parent) :
+  QWidget(parent), mainLayout(this)
+{
+  framePlaying=new FrameTeams();
+  frameDontPlaying=new FrameTeams();
+  addScrArea(framePlaying, QColor("DarkTurquoise"));
+  addScrArea(frameDontPlaying, QColor("LightGoldenrodYellow"));
+}
+
+void TeamSelWidget::resetPlayingTeams(const QStringList& teamslist)
+{
+  list<HWTeam>::iterator it;
+  for(it=curPlayingTeams.begin(); it!=curPlayingTeams.end(); it++) {
+    framePlaying->removeTeam(*it);
+  }
+  curPlayingTeams.clear();
+  for(it=curDontPlayingTeams.begin(); it!=curDontPlayingTeams.end(); it++) {
+    frameDontPlaying->removeTeam(*it);
+  }
+  curDontPlayingTeams.clear();
+
+  for (QStringList::ConstIterator it = teamslist.begin(); it != teamslist.end(); ++it ) {
+    addTeam(*it);
+  }
+}
+
+bool TeamSelWidget::isPlaying(HWTeam team) const
+{
+  return std::find(curPlayingTeams.begin(), curPlayingTeams.end(), team)!=curPlayingTeams.end();
+}
+
+list<HWTeam> TeamSelWidget::getPlayingTeams() const
+{
+  return curPlayingTeams;
+}
+
+unsigned char TeamSelWidget::numHedgedogs(HWTeam team) const
+{
+  const TeamShowWidget* tsw=dynamic_cast<TeamShowWidget*>(framePlaying->getTeamWidget(team));
+  if(!tsw) return 0;
+  return tsw->getHedgehogsNum();
+}