QTfrontend/ui/widget/teamselect.h
author Wuzzy <Wuzzy2@mail.ru>
Wed, 25 Oct 2017 23:09:41 +0200
changeset 12763 ad67a3804981
parent 12298 91ebbadc461d
child 13689 27e5e311c7a3
permissions -rw-r--r--
Fix sometimes ammo schemes not being saved after changing before an ammo scheme got deleted in session This was because the bool isDeleting is not initialized, so its initial value is unpredictable. Which means there's chance it starts with true, confusing the frontend.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 535
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4410
diff changeset
     3
 * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10108
diff changeset
     4
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     5
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
     7
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
     8
 * the Free Software Foundation; version 2 of the License
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     9
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
    13
 * GNU General Public License for more details.
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
    14
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
    15
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 153
diff changeset
    16
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 9998
diff changeset
    17
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
    18
 */
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
    19
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    20
#ifndef _TEAM_SELECT_INCLUDED
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    21
#define _TEAM_SELECT_INCLUDED
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    22
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
    23
#include <QLabel>
240
c7f0a4f7a54a Better-looking multiplayer page
unc0rr
parents: 231
diff changeset
    24
#include <QGroupBox>
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    25
#include <QVBoxLayout>
382
e7220e48ead1 colors changing config fully working (still need disabling in slaves)
displacer
parents: 373
diff changeset
    26
#include <QColor>
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 382
diff changeset
    27
#include <QMultiMap>
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    28
117
d21a48200772 HWTeam integration in team select widget
displacer
parents: 63
diff changeset
    29
#include "team.h"
d21a48200772 HWTeam integration in team select widget
displacer
parents: 63
diff changeset
    30
63
27e2b5bb6d4b Scroll added to team control widget
displacer
parents: 61
diff changeset
    31
class TeamSelWidget;
27e2b5bb6d4b Scroll added to team control widget
displacer
parents: 61
diff changeset
    32
class FrameTeams;
311
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 240
diff changeset
    33
class QFrame;
b8905423f19f - Limit list of teams in game with 200 px
unc0rr
parents: 240
diff changeset
    34
class QPushButton;
63
27e2b5bb6d4b Scroll added to team control widget
displacer
parents: 61
diff changeset
    35
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    36
using namespace std;
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    37
240
c7f0a4f7a54a Better-looking multiplayer page
unc0rr
parents: 231
diff changeset
    38
class TeamSelWidget : public QGroupBox
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    39
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    40
        Q_OBJECT
240
c7f0a4f7a54a Better-looking multiplayer page
unc0rr
parents: 231
diff changeset
    41
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    42
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    43
        TeamSelWidget(QWidget* parent);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    44
        void setAcceptOuter(bool acceptOuter);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    45
        void removeNetTeam(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    46
        void resetPlayingTeams(const QList<HWTeam>& teamslist);
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 6952
diff changeset
    47
        bool isPlaying(const HWTeam &team) const;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    48
        QList<HWTeam> getPlayingTeams() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    49
        QList<HWTeam> getNotPlayingTeams() const;
12217
a6cd48b8ef61 Prevent frontend from starting game w/ >48 hogs
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
    50
	unsigned short getNumHedgehogs() const;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    51
        void setInteractivity(bool interactive);
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    52
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    53
    public slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    54
        void addTeam(HWTeam team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    55
        void changeHHNum(const HWTeam&);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    56
        void changeTeamColor(const HWTeam&);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    57
        void changeTeamStatus(HWTeam team);
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 382
diff changeset
    58
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    59
    signals:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    60
        void setEnabledGameStart(bool);
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 6952
diff changeset
    61
        void teamWillPlay(const HWTeam& team);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    62
        void teamNotPlaying(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    63
        void hhogsNumChanged(const HWTeam&);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    64
        void teamColorChanged(const HWTeam&);
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 6952
diff changeset
    65
        void acceptRequested(const HWTeam& team);
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 382
diff changeset
    66
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    67
    private slots:
7835
a84936d1618a Clear hedgehog's gear Power value when switching. Should fix issue 446 (not tested, but looks obvious).
unc0rr
parents: 6952
diff changeset
    68
        void pre_changeTeamStatus(const HWTeam&);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    69
        void hhNumChanged(const HWTeam& team);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    70
        void proxyTeamColorChanged(const HWTeam& team);
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    71
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    72
    private:
12298
91ebbadc461d Stretch teamselwidget across whole page in local multiplayer page
Wuzzy <almikes@aol.com>
parents: 12217
diff changeset
    73
        void addScrArea(FrameTeams* pfteams, QColor color, int minHeight, int maxHeight, bool setFrame);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    74
        FrameTeams* frameDontPlaying;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    75
        FrameTeams* framePlaying;
61
505691a09dee colors added to teamselwidget
displacer
parents: 50
diff changeset
    76
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    77
        QVBoxLayout mainLayout;
8129
98e4a60da2ca GCI2012: Empty list help text (Issue 375)
Bryan Dunsmore
parents: 7835
diff changeset
    78
        QLabel *numTeamNotice;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    79
        bool m_acceptOuter;
8430
5a5c34a75e1a Aesthetic improvements to chat widget. Also fixed the ghosting issue in a few areas by using repaint().
dag10
parents: 8129
diff changeset
    80
        void repaint();
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    81
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    82
        QList<HWTeam> curPlayingTeams;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    83
        QList<HWTeam> m_curNotPlayingTeams;
50
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    84
};
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    85
9ab4067dabec TeamSelect widget alpha added
displacer
parents:
diff changeset
    86
#endif // _TEAM_SELECT_INCLUDED