QTfrontend/ui_hwform.cpp
author nemo
Sun, 03 Jun 2012 22:56:30 -0400
changeset 7172 f68d62711a5c
parent 6952 7f70f37bbf08
child 7235 baa69bd025d9
permissions -rw-r--r--
After experimenting with a long running average at maxed out FPS and a variety of map sizes, 128 seems to actually be a good size to use if only drawing bits of world with stuff in it. 64 actually did even better in some situations, but significantly worse in others (lots of land, zoomed out).
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
6952
7f70f37bbf08 license header year range adjustments
sheepluva
parents: 6700
diff changeset
     3
 * Copyright (c) 2004-2012 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"
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
    30
#include "pagefeedback.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    31
#include "pageingame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    32
#include "pagescheme.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    33
#include "pagenettype.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    34
#include "pageroomslist.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    35
#include "pageinfo.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    36
#include "pagenetgame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    37
#include "pageeditteam.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    38
#include "pagedrawmap.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    39
#include "pageadmin.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    40
#include "pageconnecting.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    41
#include "pagemultiplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    42
#include "pagesingleplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    43
#include "pageselectweapon.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    44
#include "pagecampaign.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    45
#include "pagemain.h"
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    46
#include "pagegamestats.h"
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    47
#include "pageplayrecord.h"
5567
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
    48
#include "pagedata.h"
1542
b755ddb0bae8 Show version info in caption
unc0rr
parents: 1311
diff changeset
    49
#include "hwconsts.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    50
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    51
void Ui_HWForm::setupUi(HWForm *HWForm)
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
    SetupFonts();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    54
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    55
    HWForm->setObjectName(QString::fromUtf8("HWForm"));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    56
    HWForm->resize(QSize(640, 480).expandedTo(HWForm->minimumSizeHint()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    57
    HWForm->setMinimumSize(QSize(720, 450));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    58
    HWForm->setWindowTitle(QMainWindow::tr("Hedgewars %1").arg(*cVersionString));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    59
    centralWidget = new QWidget(HWForm);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    60
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
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
    SetupPages(centralWidget, HWForm);
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
    HWForm->setCentralWidget(centralWidget);
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
    Pages->setCurrentIndex(0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    67
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    68
    QMetaObject::connectSlotsByName(HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    69
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
void Ui_HWForm::SetupFonts()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    72
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    73
    font14 = new QFont("MS Shell Dlg", 14);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    74
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    75
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    76
void Ui_HWForm::SetupPages(QWidget *Parent, HWForm *HWForm)
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
    Pages = new QStackedLayout(Parent);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    79
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 5567
diff changeset
    80
    pageEditTeam = new PageEditTeam(Parent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    81
    Pages->addWidget(pageEditTeam);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    82
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    83
    pageOptions = new PageOptions();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    84
    Pages->addWidget(pageOptions);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    85
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    86
    pageMultiplayer = new PageMultiplayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    87
    Pages->addWidget(pageMultiplayer);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    88
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    89
    pagePlayDemo = new PagePlayDemo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    90
    Pages->addWidget(pagePlayDemo);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    91
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    92
    pageNet = new PageNet();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    93
    Pages->addWidget(pageNet);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    94
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 5567
diff changeset
    95
    pageNetGame = new PageNetGame(Parent, HWForm->gameSettings);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    96
    Pages->addWidget(pageNetGame);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    97
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    98
    pageInfo = new PageInfo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    99
    Pages->addWidget(pageInfo);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   100
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   101
    pageMain = new PageMain();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   102
    Pages->addWidget(pageMain);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
   103
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   104
    pageGameStats = new PageGameStats();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   105
    Pages->addWidget(pageGameStats);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   106
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   107
    pageSinglePlayer = new PageSinglePlayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   108
    Pages->addWidget(pageSinglePlayer);
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   109
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   110
    pageTraining = new PageTraining();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   111
    Pages->addWidget(pageTraining);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
   112
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   113
    pageSelectWeapon = new PageSelectWeapon();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   114
    Pages->addWidget(pageSelectWeapon);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
   115
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   116
    pageNetServer = new PageNetServer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   117
    Pages->addWidget(pageNetServer);
686
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
   118
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   119
    pageInGame = new PageInGame();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   120
    Pages->addWidget(pageInGame);
1311
49beb1221c0b - Add stub page for rooms list
unc0rr
parents: 1158
diff changeset
   121
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 5567
diff changeset
   122
    pageRoomsList = new PageRoomsList(Parent, HWForm->gameSettings);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   123
    Pages->addWidget(pageRoomsList);
1800
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   124
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   125
    pageConnecting = new PageConnecting();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   126
    Pages->addWidget(pageConnecting);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   127
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   128
    pageScheme = new PageScheme();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   129
    Pages->addWidget(pageScheme);
1905
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   130
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   131
    pageAdmin = new PageAdmin();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   132
    Pages->addWidget(pageAdmin);
1950
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   133
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   134
    pageNetType = new PageNetType();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   135
    Pages->addWidget(pageNetType);
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   136
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   137
    pageCampaign = new PageCampaign();
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   138
    Pages->addWidget(pageCampaign);
4500
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   139
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   140
    pageDrawMap = new PageDrawMap();
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   141
    Pages->addWidget(pageDrawMap);
5567
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   142
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   143
    pageDataDownload = new PageDataDownload();
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   144
    Pages->addWidget(pageDataDownload);
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
   145
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
   146
    pageFeedback = new PageFeedback();
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
   147
    Pages->addWidget(pageFeedback);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   148
}