QTfrontend/ui/page/pageeditteam.h
author sheepluva
Mon, 05 Aug 2019 00:20:45 +0200
changeset 15295 f382ec6dba11
parent 15090 33eca3f0a9aa
permissions -rw-r--r--
In hindsight my emscripten-ifdef (70d416a8f63f) is nonsense. As fpcrtl_glShaderSource() would not be defined and lead to compiling issues. So either it's 3 ifdefs (in pas2cRedo, pas2cSystem and misc.c), in order to toggle between fpcrtl_ and the native function, or alternatively have no ifdef for it at all. I'm going with none at all, which means emscripten will compile with the original (const) function prototype, being wrapped by the fpcrtl_ function, same as non-emscripten builds.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     1
/*
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10108
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     4
 *
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     8
 *
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    12
 * GNU General Public License for more details.
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    13
 *
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    15
 * 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
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    17
 */
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    18
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    19
#ifndef PAGE_EDITTEAM_H
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    20
#define PAGE_EDITTEAM_H
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    21
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    22
#include "AbstractPage.h"
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    23
#include "binds.h"
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    24
#include "hwconsts.h"
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    25
#include "namegen.h"
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6060
diff changeset
    26
#include "SDLInteraction.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    27
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    28
#include "team.h"
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    29
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    30
class SquareLabel;
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
    31
class KeyBinder;
8374
3a1708759c4f Hat selection reworked
dag10
parents: 8346
diff changeset
    32
class HatButton;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    33
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    34
class PageEditTeam : public AbstractPage
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    35
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    36
        Q_OBJECT
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    37
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    38
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    39
        PageEditTeam(QWidget* parent);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    40
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    41
        void createTeam(const QString & name, const QString & playerHash);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    42
        void editTeam(const QString & name, const QString & playerHash);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    43
        void deleteTeam(const QString & name);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    44
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    45
    public slots:
12250
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    46
        void CBTeamLvl_activated(const int index);
12684
5f68b259305c Mark custom forts with asterisk in team editor
Wuzzy <almikes@aol.com>
parents: 12669
diff changeset
    47
        void CBFort_activated(const int index);
15090
33eca3f0a9aa PageEditTeam: Disable sound test button when frontend sounds are disabled
Wuzzy <Wuzzy2@mail.ru>
parents: 12684
diff changeset
    48
        void frontendSoundsToggled(bool value);
6024
d38da7c19e43 some more cleanups and refactoring.
sheepluva
parents: 5907
diff changeset
    49
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    50
    private:
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
    51
        QTabWidget * tbw;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    52
        QSignalMapper* signalMapper1;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    53
        QSignalMapper* signalMapper2;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    54
        QGroupBox *GBoxHedgehogs;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    55
        QGroupBox *GBoxTeam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    56
        QGroupBox *GBoxFort;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    57
        QComboBox *CBFort;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    58
        SquareLabel *FortPreview;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    59
        QComboBox *CBGrave;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    60
        QComboBox *CBFlag;
12250
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    61
        QLabel *CPUFlag;
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    62
        QLabel *CPUFlagLabel;
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    63
        QWidget *hboxCPUWidget;
05f1935175da Team editor: Disable flag widget when selecting CPU team
Wuzzy <almikes@aol.com>
parents: 12248
diff changeset
    64
        QPixmap pixCPU[5];
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    65
        QComboBox *CBTeamLvl;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    66
        QComboBox *CBVoicepack;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    67
        QGroupBox *GBoxBinds;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    68
        QToolBox *BindsBox;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    69
        QLineEdit * TeamNameEdit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    70
        QLineEdit * HHNameEdit[HEDGEHOGS_PER_TEAM];
8374
3a1708759c4f Hat selection reworked
dag10
parents: 8346
diff changeset
    71
        HatButton * HHHats[HEDGEHOGS_PER_TEAM];
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    72
        HWTeam data();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    73
        QString m_playerHash;
12669
bc34fc75670e Fix old team name not being removed after renaming team in frontend
Wuzzy <almikes@aol.com>
parents: 12250
diff changeset
    74
        QString OldTeamName;
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
    75
        KeyBinder * binder;
9511
1be565d7b4b7 Fill PageEditTeam containers only when it is actually required:
unc0rr
parents: 9080
diff changeset
    76
        bool m_loaded;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    77
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    78
        QLayout * bodyLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    79
        QLayout * footerLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    80
        void connectSignals();
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6024
diff changeset
    81
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    82
        void loadTeam(const HWTeam & team);
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    83
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    84
        // page 1
12248
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
    85
        QPushButton * btnRandomTeam;
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
    86
        QPushButton * btnRandomNames;
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
    87
        QPushButton * btnRandomHats;
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
    88
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    89
        QPushButton * btnRandomHogName[HEDGEHOGS_PER_TEAM];
12245
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
    90
        QPushButton * btnRandomTeamName;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
    91
        QPushButton * btnRandomGrave;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
    92
        QPushButton * btnRandomFlag;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
    93
        QPushButton * btnRandomVoice;
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
    94
        QPushButton * btnRandomFort;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    95
        QPushButton * btnTestSound;
6042
8b5345758f62 some more cleanups/refactoring/blahblah, some button positions may are a bit off atm. also I added a new picture for one of the buttons
sheepluva
parents: 6024
diff changeset
    96
9511
1be565d7b4b7 Fill PageEditTeam containers only when it is actually required:
unc0rr
parents: 9080
diff changeset
    97
        void lazyLoad();
1be565d7b4b7 Fill PageEditTeam containers only when it is actually required:
unc0rr
parents: 9080
diff changeset
    98
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    99
    private slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   100
        void saveTeam();
12244
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   101
        void setRandomTeam();
12248
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
   102
        void setRandomHogNames();
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
   103
        void setRandomHats();
07f67ee424dc Add buttons to randomize hats and hog names only
Wuzzy <almikes@aol.com>
parents: 12245
diff changeset
   104
12245
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   105
        void setRandomTeamName();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   106
        void setRandomGrave();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   107
        void setRandomFlag();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   108
        void setRandomVoice();
5206f9a803d1 Allow to randomize team name, flag, grave, voice and fort seperately
Wuzzy <almikes@aol.com>
parents: 12244
diff changeset
   109
        void setRandomFort();
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6060
diff changeset
   110
12244
45c83c88ac4b Refactor team name generator
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
   111
        void setRandomHogName(int hh_index);
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 6060
diff changeset
   112
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   113
        /// Plays a random voice sound of the currently edited team.
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   114
        void testSound();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   115
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   116
        void fixHHname(int idx);
8346
3443e0de2c9d GCI2012: Advanced Keyboard Configuration
dag10
parents: 7553
diff changeset
   117
        void resetAllBinds();
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   118
};
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   119
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   120
#endif
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   121