QTfrontend/ui_hwform.cpp
author koda
Sat, 06 Aug 2011 07:09:30 +0200
changeset 5505 a55aab592950
parent 5205 78138ae93820
child 5567 44c9a577b082
permissions -rw-r--r--
Ditch the renderer system in sdl1.3 and use the 'old fashioned' sdl/opengl context. This gives us more flexibility and less problem in receiving video events (expecially on mobile platform) as well as not having to care to reset the gl context every time sdl interferes. This is a major sdl1.3 update so it should be tested with care (working great on ios)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 883
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4500
diff changeset
     3
 * Copyright (c) 2006-2011 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     4
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * along with this program; if not, write to the Free Software
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    17
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    19
#include <QVBoxLayout>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QGridLayout>
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    21
#include <QMainWindow>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    22
#include <QStackedLayout>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    23
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include "ui_hwform.h"
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    25
#include "hwform.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    26
#include "pagenet.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    27
#include "pagetraining.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    28
#include "pagenetserver.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    29
#include "pageoptions.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    30
#include "pageingame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    31
#include "pagescheme.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    32
#include "pagenettype.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    33
#include "pageroomslist.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    34
#include "pageinfo.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    35
#include "pagenetgame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    36
#include "pageeditteam.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    37
#include "pagedrawmap.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    38
#include "pageadmin.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    39
#include "pageconnecting.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    40
#include "pagemultiplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    41
#include "pagesingleplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    42
#include "pageselectweapon.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    43
#include "pagecampaign.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    44
#include "pagemain.h"
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    45
#include "pagegamestats.h"
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    46
#include "pageplayrecord.h"
1542
b755ddb0bae8 Show version info in caption
unc0rr
parents: 1311
diff changeset
    47
#include "hwconsts.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    48
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    49
void Ui_HWForm::setupUi(HWForm *HWForm)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    50
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    51
    SetupFonts();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    52
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    53
    HWForm->setObjectName(QString::fromUtf8("HWForm"));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    54
    HWForm->resize(QSize(640, 480).expandedTo(HWForm->minimumSizeHint()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    55
    HWForm->setMinimumSize(QSize(720, 450));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    56
    HWForm->setWindowTitle(QMainWindow::tr("Hedgewars %1").arg(*cVersionString));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    57
    centralWidget = new QWidget(HWForm);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    58
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    59
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    60
    SetupPages(centralWidget, HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    61
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    62
    HWForm->setCentralWidget(centralWidget);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    63
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    64
    Pages->setCurrentIndex(0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    65
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    66
    QMetaObject::connectSlotsByName(HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    67
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    68
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    69
void Ui_HWForm::SetupFonts()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    71
    font14 = new QFont("MS Shell Dlg", 14);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    72
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    73
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    74
void Ui_HWForm::SetupPages(QWidget *Parent, HWForm *HWForm)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    75
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    76
    Pages = new QStackedLayout(Parent);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    77
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    78
    pageEditTeam = new PageEditTeam(Parent, &HWForm->sdli);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    79
    Pages->addWidget(pageEditTeam);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    80
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    81
    pageOptions = new PageOptions();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    82
    Pages->addWidget(pageOptions);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    83
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    84
    pageMultiplayer = new PageMultiplayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    85
    Pages->addWidget(pageMultiplayer);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    86
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    87
    pagePlayDemo = new PagePlayDemo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    88
    Pages->addWidget(pagePlayDemo);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    89
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    90
    pageNet = new PageNet();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    91
    Pages->addWidget(pageNet);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    92
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    93
    pageNetGame = new PageNetGame(Parent, HWForm->gameSettings, &HWForm->sdli);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    94
    Pages->addWidget(pageNetGame);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    95
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    96
    pageInfo = new PageInfo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    97
    Pages->addWidget(pageInfo);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
    98
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    99
    pageMain = new PageMain();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   100
    Pages->addWidget(pageMain);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
   101
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   102
    pageGameStats = new PageGameStats();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   103
    Pages->addWidget(pageGameStats);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   104
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   105
    pageSinglePlayer = new PageSinglePlayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   106
    Pages->addWidget(pageSinglePlayer);
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   107
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   108
    pageTraining = new PageTraining();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   109
    Pages->addWidget(pageTraining);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
   110
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   111
    pageSelectWeapon = new PageSelectWeapon();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   112
    Pages->addWidget(pageSelectWeapon);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
   113
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   114
    pageNetServer = new PageNetServer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   115
    Pages->addWidget(pageNetServer);
686
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
   116
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   117
    pageInGame = new PageInGame();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   118
    Pages->addWidget(pageInGame);
1311
49beb1221c0b - Add stub page for rooms list
unc0rr
parents: 1158
diff changeset
   119
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   120
    pageRoomsList = new PageRoomsList(Parent, HWForm->gameSettings, &HWForm->sdli);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   121
    Pages->addWidget(pageRoomsList);
1800
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   122
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   123
    pageConnecting = new PageConnecting();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   124
    Pages->addWidget(pageConnecting);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   125
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   126
    pageScheme = new PageScheme();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   127
    Pages->addWidget(pageScheme);
1905
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   128
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   129
    pageAdmin = new PageAdmin();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   130
    Pages->addWidget(pageAdmin);
1950
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   131
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   132
    pageNetType = new PageNetType();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   133
    Pages->addWidget(pageNetType);
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   134
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   135
    pageCampaign = new PageCampaign();
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   136
    Pages->addWidget(pageCampaign);
4500
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   137
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   138
    pageDrawMap = new PageDrawMap();
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   139
    Pages->addWidget(pageDrawMap);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   140
}