QTfrontend/ui/widget/mapContainer.h
author Wuzzy <Wuzzy2@mail.ru>
Wed, 25 Oct 2017 23:09:41 +0200
changeset 12763 ad67a3804981
parent 11809 f412d539284e
child 13246 0c98d3b249f7
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:
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 486
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4941
diff changeset
     3
 * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10959
diff changeset
     4
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
     5
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     7
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     8
 * the Free Software Foundation; version 2 of the License
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
     9
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    13
 * GNU General Public License for more details.
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    14
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    15
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
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
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    18
 */
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    19
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    20
#ifndef _HWMAP_CONTAINER_INCLUDED
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    21
#define _HWMAP_CONTAINER_INCLUDED
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    22
10462
dd3cf0c91cc9 A slider for controlling things like bumpiness of map and tunnel sizes.
nemo
parents: 10161
diff changeset
    23
#include <QByteArray>
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    24
#include <QComboBox>
10462
dd3cf0c91cc9 A slider for controlling things like bumpiness of map and tunnel sizes.
nemo
parents: 10161
diff changeset
    25
#include <QGridLayout>
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    26
#include <QLabel>
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
    27
#include <QLineEdit>
10462
dd3cf0c91cc9 A slider for controlling things like bumpiness of map and tunnel sizes.
nemo
parents: 10161
diff changeset
    28
#include <QSlider>
dd3cf0c91cc9 A slider for controlling things like bumpiness of map and tunnel sizes.
nemo
parents: 10161
diff changeset
    29
#include <QVBoxLayout>
dd3cf0c91cc9 A slider for controlling things like bumpiness of map and tunnel sizes.
nemo
parents: 10161
diff changeset
    30
#include <QWidget>
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    31
6933
78d194a30520 mapContainer: use DataManager, reload maps after data update (e.g. by DLC)
sheepluva
parents: 6700
diff changeset
    32
#include "DataManager.h"
78d194a30520 mapContainer: use DataManager, reload maps after data update (e.g. by DLC)
sheepluva
parents: 6700
diff changeset
    33
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    34
#include "hwmap.h"
4520
e7882bd1a894 Allow to draw maps in frontend and play them (only locally, some bugs to fix)
unc0rr
parents: 4519
diff changeset
    35
#include "drawmapscene.h"
7258
722e8a0d89dc - Move colorsModel to appropriate place
unc0rr
parents: 7017
diff changeset
    36
#include "MapModel.h"
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    37
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    38
class QPushButton;
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    39
class IconedGroupBox;
5289
9d18b61bd3eb - Implement ThemesModel (load theme icons once, store in memory, don't reload from disk every time selection changes)
unc0rr
parents: 4976
diff changeset
    40
class QListView;
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
    41
class SeparatorPainter;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    42
class QListWidget;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    43
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    44
class MapFileErrorException
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    45
{
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    46
};
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    47
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    48
class HWMapContainer : public QWidget
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    49
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    50
        Q_OBJECT
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    51
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    52
        Q_PROPERTY(bool master READ isMaster WRITE setMaster)
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    53
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    54
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    55
        HWMapContainer(QWidget * parent=0);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    56
        QString getCurrentSeed() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    57
        QString getCurrentMap() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    58
        QString getCurrentTheme() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    59
        int     getCurrentHHLimit() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    60
        QString getCurrentScheme() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    61
        QString getCurrentWeapons() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    62
        quint32 getTemplateFilter() const;
10472
8d04cebedb16 Partially hook up feature size so horrorcat has something to test.
nemo
parents: 10471
diff changeset
    63
        quint32 getFeatureSize() const;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    64
        MapGenerator get_mapgen(void) const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    65
        int getMazeSize(void) const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    66
        bool getCurrentIsMission() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    67
        QByteArray getDrawnMapData();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    68
        DrawMapScene * getDrawMapScene();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    69
        void mapDrawingFinished();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    70
        QLineEdit* seedEdit;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    71
        bool isMaster();
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    72
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    73
    public slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    74
        void askForGeneratedPreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    75
        void setSeed(const QString & seed);
10959
1225f42f61e2 Pass ScriptParams to preview to support techracer. Proof of concept for techracer, generate a preview for m=4
nemo
parents: 10480
diff changeset
    76
        void setScript(const QString & script, const QString & scriptparam);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    77
        void setMap(const QString & map);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    78
        void setTheme(const QString & theme);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    79
        void setTemplateFilter(int);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    80
        void setMapgen(MapGenerator m);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    81
        void setMazeSize(int size);
10480
43c6b9cfb569 Copypasta to hopefully hook up net sync correctly.
nemo
parents: 10472
diff changeset
    82
        void setFeatureSize(int size);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    83
        void setDrawnMapData(const QByteArray & ar);
10480
43c6b9cfb569 Copypasta to hopefully hook up net sync correctly.
nemo
parents: 10472
diff changeset
    84
        void setAllMapParameters(const QString & map, MapGenerator m, int mazesize, const QString & seed, int tmpl, int featureSize);
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
    85
        void updateModelViews();
7008
25563f054ef3 fix a previewmap-related QObject::disconnect segfault
sheepluva
parents: 6960
diff changeset
    86
        void onPreviewMapDestroyed(QObject * map);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    87
        void setMaster(bool master);
11757
6874644a2d00 in non-local games, don't include DLC-themes/maps/missions during random selection. thanks to unC0Rr for helping me realize that I was stupid in a different way than I thought :P
sheepluva
parents: 11046
diff changeset
    88
        void setRandomWithoutDLC(bool withoutDLC);
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    89
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    90
    signals:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    91
        void seedChanged(const QString & seed);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    92
        void mapChanged(const QString & map);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    93
        void themeChanged(const QString & theme);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    94
        void newTemplateFilter(int filter);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    95
        void mapgenChanged(MapGenerator m);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    96
        void mazeSizeChanged(int s);
10480
43c6b9cfb569 Copypasta to hopefully hook up net sync correctly.
nemo
parents: 10472
diff changeset
    97
        void mapFeatureSizeChanged(int s);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    98
        void drawMapRequested();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    99
        void drawnMapChanged(const QByteArray & data);
325
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
   100
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   101
    private slots:
10161
c092f92aee23 Move preview rendering into HWMap
unc0rr
parents: 10150
diff changeset
   102
        void setImage(const QPixmap & newImage);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   103
        void setHHLimit(int hhLimit);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   104
        void setRandomSeed();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   105
        void setRandomTheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   106
        void setRandomMap();
10161
c092f92aee23 Move preview rendering into HWMap
unc0rr
parents: 10150
diff changeset
   107
        void addInfoToPreview(const QPixmap & image);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   108
        void setNewSeed(const QString & newSeed);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   109
        void mapTypeChanged(int);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   110
        void showThemePrompt();
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   111
        void updateTheme(const QModelIndex & current);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   112
        void staticMapChanged(const QModelIndex & map, const QModelIndex & old = QModelIndex());
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   113
        void missionMapChanged(const QModelIndex & map, const QModelIndex & old = QModelIndex());
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   114
        void loadDrawing();
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   115
        void showSeedPrompt();
8467
dc53b4b66fa0 Made map preview a random/edit button again.
dag10
parents: 8393
diff changeset
   116
        void previewClicked();
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   117
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   118
    protected:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   119
        virtual void resizeEvent ( QResizeEvent * event );
9739
c2c9dd2544b8 make lazy loading of map preview a little bit less of a hack
sheepluva
parents: 9735
diff changeset
   120
        virtual void showEvent ( QShowEvent * event );
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   121
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   122
    private:
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   123
        QVBoxLayout mainLayout;
8467
dc53b4b66fa0 Made map preview a random/edit button again.
dag10
parents: 8393
diff changeset
   124
        QPushButton* mapPreview;
10462
dd3cf0c91cc9 A slider for controlling things like bumpiness of map and tunnel sizes.
nemo
parents: 10161
diff changeset
   125
        QSlider* mapFeatureSize;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   126
        QComboBox* chooseMap;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   127
        MapModel * m_staticMapModel;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   128
        MapModel * m_missionMapModel;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   129
        IconedGroupBox* gbThemes;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   130
        QListView* lvThemes;
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6933
diff changeset
   131
        ThemeModel * m_themeModel;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   132
        HWMap* pMap;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   133
        QString m_seed;
10150
fa5c83fd0ad9 Allow lua drawn maps (shoppamap, tunnels, diagonal maze etc) to generate previews.
nemo
parents: 10108
diff changeset
   134
        QString m_script;
10959
1225f42f61e2 Pass ScriptParams to preview to support techracer. Proof of concept for techracer, generate a preview for m=4
nemo
parents: 10480
diff changeset
   135
        QString m_scriptparam;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   136
        QPushButton* seedSet;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   137
        QLabel* seedLabel;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   138
        int hhLimit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   139
        int templateFilter;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   140
        QPixmap hhSmall;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   141
        QLabel* lblFilter;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   142
        QComboBox* cbTemplateFilter;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   143
        QLabel *maze_size_label;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   144
        QComboBox *cbMazeSize;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   145
        MapGenerator mapgen;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   146
        DrawMapScene drawMapScene;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   147
        QComboBox * cType;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   148
        QListView * staticMapList;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   149
        QListView * missionMapList;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   150
        QListWidget * generationStyles;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   151
        QListWidget * mazeStyles;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   152
        QLabel * lblMapList;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   153
        QLabel * lblDesc;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   154
        QPushButton * btnTheme;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   155
        QPushButton * btnLoadMap;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   156
        QPushButton * btnEditMap;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   157
        QPushButton * btnRandomize;
11785
947e2d53afc1 add button to randomize theme only
sheepluva
parents: 11757
diff changeset
   158
        QPushButton * btnRandTheme;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   159
        QString selectedTheme;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   160
        QPushButton * btnSeed;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   161
        bool m_master;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   162
        QList<QWidget *> m_childWidgets;
9739
c2c9dd2544b8 make lazy loading of map preview a little bit less of a hack
sheepluva
parents: 9735
diff changeset
   163
        bool m_previewEnabled;
9744
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   164
        bool m_missionsViewSetup;
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   165
        bool m_staticViewSetup;
11757
6874644a2d00 in non-local games, don't include DLC-themes/maps/missions during random selection. thanks to unC0Rr for helping me realize that I was stupid in a different way than I thought :P
sheepluva
parents: 11046
diff changeset
   166
        bool m_withoutDLC;
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 325
diff changeset
   167
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   168
        void intSetSeed(const QString & seed);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   169
        void intSetMap(const QString & map);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   170
        void intSetMapgen(MapGenerator m);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   171
        void intSetTemplateFilter(int);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   172
        void intSetMazeSize(int size);
10480
43c6b9cfb569 Copypasta to hopefully hook up net sync correctly.
nemo
parents: 10472
diff changeset
   173
        void intSetFeatureSize(int size);
8393
85bd6c7b2641 Can now change theme for static and mission maps.
dag10 <gottlieb.drew@gmail.com>
parents: 8377
diff changeset
   174
        void intSetIconlessTheme(const QString & name);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   175
        void mapChanged(const QModelIndex & map, int type, const QModelIndex & old = QModelIndex());
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   176
        void setMapInfo(MapModel::MapInfo mapInfo);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   177
        void changeMapType(MapModel::MapType type, const QModelIndex & newMap = QModelIndex());
11809
f412d539284e Add various “What's This?” texts to multiplayer, net and team editor frontend pages
Wuzzy <almikes@aol.com>
parents: 11785
diff changeset
   178
        void updateHelpTexts(MapModel::MapType type);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   179
        void updatePreview();
8393
85bd6c7b2641 Can now change theme for static and mission maps.
dag10 <gottlieb.drew@gmail.com>
parents: 8377
diff changeset
   180
        void updateThemeButtonSize();
9744
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   181
        void setupMissionMapsView();
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   182
        void setupStaticMapsView();
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   183
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   184
        MapModel::MapInfo m_mapInfo;
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8467
diff changeset
   185
        int m_themeID;
10472
8d04cebedb16 Partially hook up feature size so horrorcat has something to test.
nemo
parents: 10471
diff changeset
   186
        int m_prevMapFeatureSize;
8d04cebedb16 Partially hook up feature size so horrorcat has something to test.
nemo
parents: 10471
diff changeset
   187
        int m_mapFeatureSize;
6940
211aca8c1f4f decouple current theme from map theme (fixes theme confusion bugs of last commit)
sheepluva
parents: 6938
diff changeset
   188
        QString m_theme;
6960
822f8269e13f map, theme & style selection won't be lost on data updata now (except the selected map/theme/style is deleted ofc). enabling F5 key to reload data :>
sheepluva
parents: 6952
diff changeset
   189
        QString m_curMap;
7017
19a434fc91fc visually indicate when map preview generation is in progress.
sheepluva
parents: 7008
diff changeset
   190
19a434fc91fc visually indicate when map preview generation is in progress.
sheepluva
parents: 7008
diff changeset
   191
        QLinearGradient linearGrad; ///< for preview background
19a434fc91fc visually indicate when map preview generation is in progress.
sheepluva
parents: 7008
diff changeset
   192
        QSize m_previewSize;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   193
};
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   194
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   195
#endif // _HWMAP_CONTAINER_INCLUDED