QTfrontend/mapContainer.h
author unc0rr
Mon, 29 Sep 2008 22:14:23 +0000
changeset 1301 c6fe8a4bfd34
parent 1215 0c1c294c0f7e
child 1318 18da1c5e960d
permissions -rw-r--r--
Fix a bug screwing team selection up in network game (REMOVETEAM message doesn't have teamID, and after removing the team QMap still contains old info, when add and remove team with the same name, total hedgehogs number will be decreased by first team hh number)
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
486
7ea71cd3acd5 - Change proto version to 4
unc0rr
parents: 331
diff changeset
     3
 * Copyright (c) 2006, 2007 Igor Ulyanov <iulyanov@gmail.com>
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
     4
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
     8
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    12
 * GNU General Public License for more details.
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    13
 *
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    15
 * along with this program; if not, write to the Free Software
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 169
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    17
 */
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    18
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    19
#ifndef _HWMAP_CONTAINER_INCLUDED
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    20
#define _HWMAP_CONTAINER_INCLUDED
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    21
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    22
#include <QWidget>
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    23
#include <QGridLayout>
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    24
#include <QComboBox>
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    25
1210
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    26
#include "hwmap.h"
bfed1b89bc85 Add themes list to map selection widget
unc0rr
parents: 1209
diff changeset
    27
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    28
class QPushButton;
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    29
class IconedGroupBox;
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    30
class QListWidget;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    31
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    32
class MapFileErrorException
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    33
{
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    34
};
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    35
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    36
class HWMapContainer : public QWidget
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    37
{
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    38
  Q_OBJECT
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    39
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    40
 public:
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    41
  HWMapContainer(QWidget * parent=0);
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    42
  QString getCurrentSeed() const;
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    43
  QString getCurrentMap() const;
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    44
  QString getCurrentTheme() const;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    45
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    46
 public slots:
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    47
  void changeImage();
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    48
  void setSeed(const QString & seed);
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    49
  void setMap(const QString & map);
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    50
  void setTheme(const QString & theme);
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    51
325
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    52
 signals:
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    53
  void seedChanged(const QString & seed);
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    54
  void mapChanged(const QString & map);
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    55
  void themeChanged(const QString & theme);
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    56
17c860483407 New signals and slot for GameCFGWidget
unc0rr
parents: 320
diff changeset
    57
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    58
 private slots:
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    59
  void setImage(const QImage newImage);
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    60
  void mapChanged(int index);
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    61
  void setRandomSeed();
1215
0c1c294c0f7e Themes list now works
unc0rr
parents: 1210
diff changeset
    62
  void themeSelected(int currentRow);
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    63
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    64
 protected:
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    65
  virtual void resizeEvent ( QResizeEvent * event );
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    66
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    67
 private:
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    68
  QGridLayout mainLayout;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    69
  QPushButton* imageButt;
249
ff85fa029541 map choose from files added
displacer
parents: 184
diff changeset
    70
  QComboBox* chooseMap;
1209
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    71
  IconedGroupBox* gbThemes;
7f6cb1d7be2a Start remaking multiplayer page
unc0rr
parents: 1066
diff changeset
    72
  QListWidget* lwThemes;
169
a78d4a552500 new more working, but still not completely working version :)
displacer
parents: 168
diff changeset
    73
  HWMap* pMap;
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    74
  QString m_seed;
320
1ee7f087195a - HWMapContainer sets and stores the theme
unc0rr
parents: 249
diff changeset
    75
  QString theme;
331
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 325
diff changeset
    76
6bfc326e4976 Selecting map works in net game
unc0rr
parents: 325
diff changeset
    77
  void loadMap(int index);
164
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    78
};
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    79
92cff18a3ab6 first map preview added (still experimental)
displacer
parents:
diff changeset
    80
#endif // _HWMAP_CONTAINER_INCLUDED