QTfrontend/ui/widget/mapContainer.h
author unc0rr
Fri, 22 Aug 2014 19:43:26 +0400
changeset 10393 c3daae6fd723
parent 10161 c092f92aee23
child 10462 dd3cf0c91cc9
permissions -rw-r--r--
Fix issue #813
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>
9998
736015b847e3 update copyright to 2014
sheepluva
parents: 9744
diff changeset
     4
 * Copyright (c) 2004-2014 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
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    23
#include <QWidget>
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    24
#include <QGridLayout>
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    25
#include <QVBoxLayout>
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    26
#include <QComboBox>
1802
dd148e2506e2 Move template filter to map widget (by nemo)
unc0rr
parents: 1797
diff changeset
    27
#include <QLabel>
4489
c4ca9ced258b - Pass map drawing data to engine
unc0rr
parents: 4337
diff changeset
    28
#include <QByteArray>
4519
aee36896d46b exposing seed for editing and viewing
Henek
parents: 4513
diff changeset
    29
#include <QLineEdit>
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    30
6933
78d194a30520 mapContainer: use DataManager, reload maps after data update (e.g. by DLC)
sheepluva
parents: 6700
diff changeset
    31
#include "DataManager.h"
78d194a30520 mapContainer: use DataManager, reload maps after data update (e.g. by DLC)
sheepluva
parents: 6700
diff changeset
    32
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    33
#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
    34
#include "drawmapscene.h"
7258
722e8a0d89dc - Move colorsModel to appropriate place
unc0rr
parents: 7017
diff changeset
    35
#include "MapModel.h"
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    36
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    37
class QPushButton;
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    38
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
    39
class QListView;
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
    40
class SeparatorPainter;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    41
class QListWidget;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    42
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    43
class MapFileErrorException
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    44
{
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    45
};
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    46
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    47
class HWMapContainer : public QWidget
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    48
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    49
        Q_OBJECT
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    50
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    51
        Q_PROPERTY(bool master READ isMaster WRITE setMaster)
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    52
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    53
    public:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    54
        HWMapContainer(QWidget * parent=0);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    55
        QString getCurrentSeed() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    56
        QString getCurrentMap() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    57
        QString getCurrentTheme() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    58
        int     getCurrentHHLimit() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    59
        QString getCurrentScheme() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    60
        QString getCurrentWeapons() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    61
        quint32 getTemplateFilter() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    62
        MapGenerator get_mapgen(void) const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    63
        int getMazeSize(void) const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    64
        bool getCurrentIsMission() const;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    65
        QByteArray getDrawnMapData();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    66
        DrawMapScene * getDrawMapScene();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    67
        void mapDrawingFinished();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    68
        QLineEdit* seedEdit;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    69
        bool isMaster();
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    70
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    71
    public slots:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    72
        void askForGeneratedPreview();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    73
        void setSeed(const QString & seed);
10150
fa5c83fd0ad9 Allow lua drawn maps (shoppamap, tunnels, diagonal maze etc) to generate previews.
nemo
parents: 10108
diff changeset
    74
        void setScript(const QString & script);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    75
        void setMap(const QString & map);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    76
        void setTheme(const QString & theme);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    77
        void setTemplateFilter(int);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    78
        void setMapgen(MapGenerator m);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    79
        void setMazeSize(int size);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    80
        void setDrawnMapData(const QByteArray & ar);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    81
        void setAllMapParameters(const QString & map, MapGenerator m, int mazesize, const QString & seed, int tmpl);
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
    82
        void updateModelViews();
7008
25563f054ef3 fix a previewmap-related QObject::disconnect segfault
sheepluva
parents: 6960
diff changeset
    83
        void onPreviewMapDestroyed(QObject * map);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
    84
        void setMaster(bool master);
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    85
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    86
    signals:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    87
        void seedChanged(const QString & seed);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    88
        void mapChanged(const QString & map);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    89
        void themeChanged(const QString & theme);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    90
        void newTemplateFilter(int filter);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    91
        void mapgenChanged(MapGenerator m);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    92
        void mazeSizeChanged(int s);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    93
        void drawMapRequested();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    94
        void drawnMapChanged(const QByteArray & data);
325
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    95
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    96
    private slots:
10161
c092f92aee23 Move preview rendering into HWMap
unc0rr
parents: 10150
diff changeset
    97
        void setImage(const QPixmap & newImage);
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    98
        void setHHLimit(int hhLimit);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
    99
        void setRandomSeed();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   100
        void setRandomTheme();
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   101
        void setRandomMap();
10161
c092f92aee23 Move preview rendering into HWMap
unc0rr
parents: 10150
diff changeset
   102
        void addInfoToPreview(const QPixmap & image);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   103
        void setNewSeed(const QString & newSeed);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   104
        void mapTypeChanged(int);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   105
        void showThemePrompt();
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   106
        void updateTheme(const QModelIndex & current);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   107
        void staticMapChanged(const QModelIndex & map, const QModelIndex & old = QModelIndex());
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   108
        void missionMapChanged(const QModelIndex & map, const QModelIndex & old = QModelIndex());
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   109
        void loadDrawing();
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   110
        void showSeedPrompt();
8467
dc53b4b66fa0 Made map preview a random/edit button again.
dag10
parents: 8393
diff changeset
   111
        void previewClicked();
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   112
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   113
    protected:
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   114
        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
   115
        virtual void showEvent ( QShowEvent * event );
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   116
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   117
    private:
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   118
        QVBoxLayout mainLayout;
8467
dc53b4b66fa0 Made map preview a random/edit button again.
dag10
parents: 8393
diff changeset
   119
        QPushButton* mapPreview;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   120
        QComboBox* chooseMap;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   121
        MapModel * m_staticMapModel;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   122
        MapModel * m_missionMapModel;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   123
        IconedGroupBox* gbThemes;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   124
        QListView* lvThemes;
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6933
diff changeset
   125
        ThemeModel * m_themeModel;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   126
        HWMap* pMap;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   127
        QString m_seed;
10150
fa5c83fd0ad9 Allow lua drawn maps (shoppamap, tunnels, diagonal maze etc) to generate previews.
nemo
parents: 10108
diff changeset
   128
        QString m_script;
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   129
        QPushButton* seedSet;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   130
        QLabel* seedLabel;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   131
        int hhLimit;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   132
        int templateFilter;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   133
        QPixmap hhSmall;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   134
        QLabel* lblFilter;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   135
        QComboBox* cbTemplateFilter;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   136
        QLabel *maze_size_label;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   137
        QComboBox *cbMazeSize;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   138
        MapGenerator mapgen;
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   139
        DrawMapScene drawMapScene;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   140
        QComboBox * cType;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   141
        QListView * staticMapList;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   142
        QListView * missionMapList;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   143
        QListWidget * generationStyles;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   144
        QListWidget * mazeStyles;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   145
        QLabel * lblMapList;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   146
        QLabel * lblDesc;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   147
        QPushButton * btnTheme;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   148
        QPushButton * btnLoadMap;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   149
        QPushButton * btnEditMap;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   150
        QPushButton * btnRandomize;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   151
        QString selectedTheme;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   152
        QPushButton * btnSeed;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   153
        bool m_master;
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   154
        QList<QWidget *> m_childWidgets;
9739
c2c9dd2544b8 make lazy loading of map preview a little bit less of a hack
sheepluva
parents: 9735
diff changeset
   155
        bool m_previewEnabled;
9744
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   156
        bool m_missionsViewSetup;
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   157
        bool m_staticViewSetup;
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 325
diff changeset
   158
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   159
        void intSetSeed(const QString & seed);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   160
        void intSetMap(const QString & map);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   161
        void intSetMapgen(MapGenerator m);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   162
        void intSetTemplateFilter(int);
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   163
        void intSetMazeSize(int size);
8393
85bd6c7b2641 Can now change theme for static and mission maps.
dag10 <gottlieb.drew@gmail.com>
parents: 8377
diff changeset
   164
        void intSetIconlessTheme(const QString & name);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   165
        void mapChanged(const QModelIndex & map, int type, const QModelIndex & old = QModelIndex());
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   166
        void setMapInfo(MapModel::MapInfo mapInfo);
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents: 7258
diff changeset
   167
        void changeMapType(MapModel::MapType type, const QModelIndex & newMap = QModelIndex());
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6157
diff changeset
   168
        void updatePreview();
8393
85bd6c7b2641 Can now change theme for static and mission maps.
dag10 <gottlieb.drew@gmail.com>
parents: 8377
diff changeset
   169
        void updateThemeButtonSize();
9744
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   170
        void setupMissionMapsView();
1ee4842a9c86 Be lazy in loading maps list
unc0rr
parents: 9739
diff changeset
   171
        void setupStaticMapsView();
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   172
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   173
        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
   174
        int m_themeID;
6940
211aca8c1f4f decouple current theme from map theme (fixes theme confusion bugs of last commit)
sheepluva
parents: 6938
diff changeset
   175
        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
   176
        QString m_curMap;
7017
19a434fc91fc visually indicate when map preview generation is in progress.
sheepluva
parents: 7008
diff changeset
   177
19a434fc91fc visually indicate when map preview generation is in progress.
sheepluva
parents: 7008
diff changeset
   178
        QLinearGradient linearGrad; ///< for preview background
19a434fc91fc visually indicate when map preview generation is in progress.
sheepluva
parents: 7008
diff changeset
   179
        QSize m_previewSize;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   180
};
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   181
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
   182
#endif // _HWMAP_CONTAINER_INCLUDED