QTfrontend/ui/widget/teamselect.h
changeset 6060 fdfc01419815
parent 5773 c277657854a2
child 6616 f77bb02b669f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/ui/widget/teamselect.h	Wed Sep 28 19:27:56 2011 +0200
@@ -0,0 +1,83 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
+ * Copyright (c) 2007-2011 Andrey Korotaev <unC0Rr@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
+ */
+
+#ifndef _TEAM_SELECT_INCLUDED
+#define _TEAM_SELECT_INCLUDED
+
+#include <QGroupBox>
+#include <QVBoxLayout>
+#include <QColor>
+#include <QMultiMap>
+
+#include "team.h"
+
+class TeamSelWidget;
+class FrameTeams;
+class QFrame;
+class QPushButton;
+
+using namespace std;
+
+class TeamSelWidget : public QGroupBox
+{
+  Q_OBJECT
+
+ public:
+  TeamSelWidget(QWidget* parent);
+  void setAcceptOuter(bool acceptOuter);
+  void removeNetTeam(const HWTeam& team);
+  void resetPlayingTeams(const QList<HWTeam>& teamslist);
+  bool isPlaying(HWTeam team) const;
+  QList<HWTeam> getPlayingTeams() const;
+  QList<HWTeam> getNotPlayingTeams() const;
+  void setInteractivity(bool interactive);
+
+ public slots:
+  void addTeam(HWTeam team);
+  void netTeamStatusChanged(const HWTeam& team);
+  void changeHHNum(const HWTeam&);
+  void changeTeamColor(const HWTeam&);
+  void changeTeamStatus(HWTeam team);
+
+ signals:
+  void setEnabledGameStart(bool);
+  void teamWillPlay(HWTeam team);
+  void teamNotPlaying(const HWTeam& team);
+  void hhogsNumChanged(const HWTeam&);
+  void teamColorChanged(const HWTeam&);
+  void acceptRequested(HWTeam team);
+
+ private slots:
+  void pre_changeTeamStatus(HWTeam);
+  void hhNumChanged(const HWTeam& team);
+  void proxyTeamColorChanged(const HWTeam& team);
+
+ private:
+  void addScrArea(FrameTeams* pfteams, QColor color, int maxHeight);
+  FrameTeams* frameDontPlaying;
+  FrameTeams* framePlaying;
+
+  QVBoxLayout mainLayout;
+  bool m_acceptOuter;
+
+  QList<HWTeam> curPlayingTeams;
+  QList<HWTeam> m_curNotPlayingTeams;
+};
+
+#endif // _TEAM_SELECT_INCLUDED