diff -r ddf020d0941a -r fdfc01419815 QTfrontend/ui/widget/teamselect.h --- /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 + * Copyright (c) 2007-2011 Andrey Korotaev + * + * 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 +#include +#include +#include + +#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& teamslist); + bool isPlaying(HWTeam team) const; + QList getPlayingTeams() const; + QList 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 curPlayingTeams; + QList m_curNotPlayingTeams; +}; + +#endif // _TEAM_SELECT_INCLUDED