QTfrontend/ui/page/pagescheme.h
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Jun 2020 17:44:22 +0200
changeset 15636 34c32a11203e
parent 15628 e63748a3aa52
child 15644 3997d85b3d2e
permissions -rw-r--r--
Teach AI to use laser sight
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: 10822
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_SCHEME_H
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    20
#define PAGE_SCHEME_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 "togglebutton.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    24
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    25
class FreqSpinBox;
13817
419de2dea82b Fix frontend displayed value of Sudden Death timeout being off-by-one
Wuzzy <Wuzzy2@mail.ru>
parents: 13554
diff changeset
    26
class SDTimeoutSpinBox;
11815
68bc5ebce319 Fix mines time displaying "1 seconds" in frontend
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
    27
class MinesTimeSpinBox;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    28
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    29
class PageScheme : public AbstractPage
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    30
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    31
        Q_OBJECT
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    32
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    33
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    34
        PageScheme(QWidget* parent = 0);
5204
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
        QPushButton * BtnCopy;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    37
        QPushButton * BtnNew;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    38
        QPushButton * BtnDelete;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    39
        QComboBox * selectScheme;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    40
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    41
        void setModel(QAbstractItemModel * model);
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    42
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    43
    public slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    44
        void newRow();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    45
        void copyRow();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    46
        void deleteRow();
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    47
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    48
    protected:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    49
        QLayout * bodyLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    50
        QLayout * footerLayoutDefinition();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    51
        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: 6009
diff changeset
    52
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    53
    private:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    54
        QDataWidgetMapper * mapper;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    55
        ToggleButtonWidget * TBW_teamsDivide;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    56
        ToggleButtonWidget * TBW_solid;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    57
        ToggleButtonWidget * TBW_border;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    58
        ToggleButtonWidget * TBW_lowGravity;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    59
        ToggleButtonWidget * TBW_laserSight;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    60
        ToggleButtonWidget * TBW_invulnerable;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    61
        ToggleButtonWidget * TBW_resethealth;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    62
        ToggleButtonWidget * TBW_vampiric;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    63
        ToggleButtonWidget * TBW_karma;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    64
        ToggleButtonWidget * TBW_artillery;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    65
        ToggleButtonWidget * TBW_randomorder;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    66
        ToggleButtonWidget * TBW_king;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    67
        ToggleButtonWidget * TBW_placehog;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    68
        ToggleButtonWidget * TBW_sharedammo;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    69
        ToggleButtonWidget * TBW_disablegirders;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    70
        ToggleButtonWidget * TBW_disablelandobjects;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    71
        ToggleButtonWidget * TBW_aisurvival;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    72
        ToggleButtonWidget * TBW_infattack;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    73
        ToggleButtonWidget * TBW_resetweps;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    74
        ToggleButtonWidget * TBW_perhogammo;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    75
        ToggleButtonWidget * TBW_nowind;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    76
        ToggleButtonWidget * TBW_morewind;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    77
        ToggleButtonWidget * TBW_tagteam;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    78
        ToggleButtonWidget * TBW_bottomborder;
13272
5984e8c6cbeb Add new game flag gfSwitchHog, enable hog switching at turn start
Wuzzy <Wuzzy2@mail.ru>
parents: 13228
diff changeset
    79
        ToggleButtonWidget * TBW_switchhog;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
    80
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    81
        QSpinBox * SB_DamageModifier;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    82
        QSpinBox * SB_TurnTime;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    83
        QSpinBox * SB_InitHealth;
13817
419de2dea82b Fix frontend displayed value of Sudden Death timeout being off-by-one
Wuzzy <Wuzzy2@mail.ru>
parents: 13554
diff changeset
    84
        SDTimeoutSpinBox * SB_SuddenDeath;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    85
        QSpinBox * SB_WaterRise;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    86
        QSpinBox * SB_HealthDecrease;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    87
        FreqSpinBox * SB_CaseProb;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    88
        QSpinBox * SB_HealthCrates;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    89
        QSpinBox * SB_CrateHealth;
11815
68bc5ebce319 Fix mines time displaying "1 seconds" in frontend
Wuzzy <almikes@aol.com>
parents: 11046
diff changeset
    90
        MinesTimeSpinBox * SB_MinesTime;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    91
        QSpinBox * SB_Mines;
10822
def423815f24 hook up to frontend
nemo
parents: 10108
diff changeset
    92
        QSpinBox * SB_AirMines;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    93
        QSpinBox * SB_MineDuds;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    94
        QSpinBox * SB_Explosives;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    95
        QSpinBox * SB_RopeModifier;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    96
        QSpinBox * SB_GetAwayTime;
9489
0818d14e90be add world edges to config
nemo
parents: 9080
diff changeset
    97
        QComboBox * CB_WorldEdge;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
    98
        QLineEdit * LE_name;
13228
d23742ccf92b Frontend: Properly “gray out” most disabled widgets (a lot of them weren't)
Wuzzy <Wuzzy2@mail.ru>
parents: 11881
diff changeset
    99
        QLabel * L_name;
9902
eb8e8b09b2f0 Special script parameter variable in game scheme
unc0rr
parents: 9489
diff changeset
   100
        QLineEdit * LE_ScriptParam;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   101
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   102
        QGroupBox * gbGameModes;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   103
        QGroupBox * gbBasicSettings;
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   104
14262
72e9d69a5e4d silence warning
nemo
parents: 13817
diff changeset
   105
        bool changingSchemes;
13554
a5a8488e2485 Prevent saving game schemes if name was already been taken
Wuzzy <Wuzzy2@mail.ru>
parents: 13272
diff changeset
   106
a5a8488e2485 Prevent saving game schemes if name was already been taken
Wuzzy <Wuzzy2@mail.ru>
parents: 13272
diff changeset
   107
        void checkDupe();
a5a8488e2485 Prevent saving game schemes if name was already been taken
Wuzzy <Wuzzy2@mail.ru>
parents: 13272
diff changeset
   108
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   109
    private slots:
15628
e63748a3aa52 workaround for world edge selector on MacOS
alfadur
parents: 14262
diff changeset
   110
        void worldEdgeChanged(int);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6525
diff changeset
   111
        void schemeSelected(int);
13554
a5a8488e2485 Prevent saving game schemes if name was already been taken
Wuzzy <Wuzzy2@mail.ru>
parents: 13272
diff changeset
   112
        void dataChanged(QModelIndex topLeft, QModelIndex bottomRight);
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   113
};
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   114
e1a5f4d5d86a split pages.h into several header files
koda
parents:
diff changeset
   115
#endif