src/airport_gui.cpp
author rubidium
Fri, 09 May 2008 09:29:27 +0000
changeset 10481 0c7aed4edabe
parent 10462 416b62f5ee6f
child 10483 200609cedea9
permissions -rw-r--r--
(svn r13024) -Codechange: do not use WE_MOUSELOOP when WE_TICK suffices, rename WE_4 to something more descriptive and correct some (completely incorrect) comments.
2186
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2163
diff changeset
     1
/* $Id$ */
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2163
diff changeset
     2
10429
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 10397
diff changeset
     3
/** @file airport_gui.cpp The GUI for airports. */
6443
b8f06d8eb7be (svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents: 6368
diff changeset
     4
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     5
#include "stdafx.h"
1891
92a3b0aa0946 (svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
Darkvater
parents: 1784
diff changeset
     6
#include "openttd.h"
8603
88c5ce6a5215 (svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium
parents: 8602
diff changeset
     7
#include "window_gui.h"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     8
#include "gui.h"
8603
88c5ce6a5215 (svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium
parents: 8602
diff changeset
     9
#include "station_gui.h"
8701
051036216675 (svn r11768) -Codechange: move some terraform related gui stuff from main_gui.cpp to terraform_gui.cpp (and introduce terraform_gui.h). Based on a patch by Roujin.
rubidium
parents: 8653
diff changeset
    10
#include "terraform_gui.h"
8612
6414fc21c2f3 (svn r11677) -Codechange: move price and command related types/functions to their respective places.
rubidium
parents: 8603
diff changeset
    11
#include "command_func.h"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    12
#include "airport.h"
8653
a83f7a536919 (svn r11719) -Codechange: split sound.h in a header with types and one with functions.
rubidium
parents: 8640
diff changeset
    13
#include "sound_func.h"
8627
448ebf3a8291 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h'
rubidium
parents: 8617
diff changeset
    14
#include "window_func.h"
8766
c86cfa3a7580 (svn r11834) -Codechange: only include settings_type.h if needed.
rubidium
parents: 8760
diff changeset
    15
#include "settings_type.h"
8720
4e60c30e2006 (svn r11787) -Codechange: more header rewrites. This time related to viewport.h.
rubidium
parents: 8707
diff changeset
    16
#include "viewport_func.h"
4e60c30e2006 (svn r11787) -Codechange: more header rewrites. This time related to viewport.h.
rubidium
parents: 8707
diff changeset
    17
#include "gfx_func.h"
8750
fdd6054e7bae (svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents: 8733
diff changeset
    18
#include "player_func.h"
9280
9c03416d26b1 (svn r12488) -Codechange: split order.h into order_base.h and order_func.h.
rubidium
parents: 9070
diff changeset
    19
#include "order_func.h"
10222
b6919c94cc77 (svn r12754) -Codechange: split depot.h into depot_map.h, depot_func.h and depot_base.h and remove quite a lot of unneeded (before this) includes of depot.h.
rubidium
parents: 10148
diff changeset
    20
#include "station_type.h"
10445
2dd7d9d0a957 (svn r12987) -Codechange: split viewport and tile selection.
rubidium
parents: 10441
diff changeset
    21
#include "tilehighlight_func.h"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    22
8760
ce0891c412ce (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 8750
diff changeset
    23
#include "table/sprites.h"
ce0891c412ce (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 8750
diff changeset
    24
#include "table/strings.h"
ce0891c412ce (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents: 8750
diff changeset
    25
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    26
static byte _selected_airport_type;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    27
6573
7624f942237f (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6443
diff changeset
    28
static void ShowBuildAirportPicker();
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    29
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    30
1977
4392ae3d8e31 (svn r2483) Replace almost 500 "uint tile" (and variants) with "TileIndex tile"
tron
parents: 1914
diff changeset
    31
void CcBuildAirport(bool success, TileIndex tile, uint32 p1, uint32 p2)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    32
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    33
	if (success) {
541
e1cd34389f79 (svn r925) Use sound enums
tron
parents: 507
diff changeset
    34
		SndPlayTileFx(SND_1F_SPLAT, tile);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    35
		ResetObjectToPlace();
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    36
	}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    37
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    38
1977
4392ae3d8e31 (svn r2483) Replace almost 500 "uint tile" (and variants) with "TileIndex tile"
tron
parents: 1914
diff changeset
    39
static void PlaceAirport(TileIndex tile)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    40
{
8017
8c46e61c510f (svn r11040) -Fix [FS#1179]: removing CMD_AUTO from some commands could remotely trigger an assertion.
rubidium
parents: 7837
diff changeset
    41
	DoCommandP(tile, _selected_airport_type, _ctrl_pressed, CcBuildAirport, CMD_BUILD_AIRPORT | CMD_NO_WATER | CMD_MSG(STR_A001_CAN_T_BUILD_AIRPORT_HERE));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    42
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    43
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    44
5147
db717cde801d (svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
tron
parents: 5072
diff changeset
    45
enum {
db717cde801d (svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
tron
parents: 5072
diff changeset
    46
	ATW_AIRPORT  = 3,
db717cde801d (svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
tron
parents: 5072
diff changeset
    47
	ATW_DEMOLISH = 4
db717cde801d (svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
tron
parents: 5072
diff changeset
    48
};
db717cde801d (svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
tron
parents: 5072
diff changeset
    49
db717cde801d (svn r7239) Enumerate the widgets in the airport, dock, rail and road toolbars
tron
parents: 5072
diff changeset
    50
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    51
static void BuildAirClick_Airport(Window *w)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    52
{
8385
aedd7656cfd1 (svn r11440) -Codechange: replace magic numbers with enumified WindowHighlightMode constants. Patch by SmatZ.
rubidium
parents: 8017
diff changeset
    53
	if (HandlePlacePushButton(w, ATW_AIRPORT, SPR_CURSOR_AIRPORT, VHM_RECT, PlaceAirport)) ShowBuildAirportPicker();
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    54
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    55
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    56
static void BuildAirClick_Demolish(Window *w)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    57
{
10441
09655ce4bfa3 (svn r12983) -Codechange [FS#1987] : Unification of all dynamite tools calls to only one. Thanks to Roujin
belugas
parents: 10434
diff changeset
    58
	HandlePlacePushButton(w, ATW_DEMOLISH, ANIMCURSOR_DEMOLISH, VHM_RECT, PlaceProc_DemolishArea);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    59
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    60
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    61
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    62
typedef void OnButtonClick(Window *w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    63
static OnButtonClick * const _build_air_button_proc[] = {
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    64
	BuildAirClick_Airport,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    65
	BuildAirClick_Demolish,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    66
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    67
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    68
static void BuildAirToolbWndProc(Window *w, WindowEvent *e)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    69
{
2639
8a7342eb3a78 (svn r3181) -Bracing
tron
parents: 2631
diff changeset
    70
	switch (e->event) {
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    71
		case WE_PAINT:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    72
			DrawWindowWidgets(w);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    73
			break;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    74
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    75
		case WE_CLICK:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    76
			if (e->we.click.widget - 3 >= 0)
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    77
				_build_air_button_proc[e->we.click.widget - 3](w);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    78
			break;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    79
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    80
		case WE_KEYPRESS: {
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    81
			switch (e->we.keypress.keycode) {
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    82
				case '1': BuildAirClick_Airport(w); break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    83
				case '2': BuildAirClick_Demolish(w); break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    84
				default: return;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    85
			}
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    86
		} break;
4719
413b21513ef7 (svn r6631) -Codechange: Use accessors for click_state.
belugas
parents: 4709
diff changeset
    87
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    88
		case WE_PLACE_OBJ:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    89
			_place_proc(e->we.place.tile);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    90
			break;
2619
c2f488e400b1 (svn r3157) - Feature: Added patch option to link the terraform toolbar to the rail, road, water and airport toolbars. If enabled, the terraform toolbar will open and close with those toolbars.
peter1138
parents: 2186
diff changeset
    91
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    92
		case WE_PLACE_DRAG:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    93
			VpSelectTilesWithMethod(e->we.place.pt.x, e->we.place.pt.y, e->we.place.select_method);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    94
			break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    95
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    96
		case WE_PLACE_MOUSEUP:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    97
			if (e->we.place.pt.x != -1 && e->we.place.select_proc == DDSP_DEMOLISH_AREA) {
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    98
				DoCommandP(e->we.place.tile, e->we.place.starttile, 0, CcPlaySound10, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA));
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
    99
			}
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   100
			break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   101
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   102
		case WE_ABORT_PLACE_OBJ:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   103
			w->RaiseButtons();
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   104
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   105
			w = FindWindowById(WC_BUILD_STATION, 0);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   106
			if (w != 0)
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   107
				WP(w, def_d).close = true;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   108
			break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   109
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   110
		case WE_DESTROY:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   111
			if (_patches.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   112
			break;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   113
	}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   114
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   115
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   116
static const Widget _air_toolbar_widgets[] = {
4344
5d0e40cd67b9 (svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents: 4171
diff changeset
   117
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,            STR_018B_CLOSE_WINDOW },
5933
0835f3342b79 (svn r8143) Remove the landscaping button from the build toolbars.
tron
parents: 5838
diff changeset
   118
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,    51,     0,    13, STR_A000_AIRPORTS,   STR_018C_WINDOW_TITLE_DRAG_THIS },
0835f3342b79 (svn r8143) Remove the landscaping button from the build toolbars.
tron
parents: 5838
diff changeset
   119
{  WWT_STICKYBOX,   RESIZE_NONE,     7,    52,    63,     0,    13, 0x0,                 STR_STICKY_BUTTON },
4937
a525d56a8d40 (svn r6924) -Codechange: Give the last (in the widget arrays at least) sprites meaningful names.
Darkvater
parents: 4848
diff changeset
   120
{     WWT_IMGBTN,   RESIZE_NONE,     7,     0,    41,    14,    35, SPR_IMG_AIRPORT,     STR_A01E_BUILD_AIRPORT },
a525d56a8d40 (svn r6924) -Codechange: Give the last (in the widget arrays at least) sprites meaningful names.
Darkvater
parents: 4848
diff changeset
   121
{     WWT_IMGBTN,   RESIZE_NONE,     7,    42,    63,    14,    35, SPR_IMG_DYNAMITE,    STR_018D_DEMOLISH_BUILDINGS_ETC },
176
84990c4b9212 (svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents: 0
diff changeset
   122
{   WIDGETS_END},
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   123
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   124
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   125
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   126
static const WindowDesc _air_toolbar_desc = {
7837
65d7362153a6 (svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents: 7737
diff changeset
   127
	WDP_ALIGN_TBR, 22, 64, 36, 64, 36,
6144
5a0ffbf27ced (svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium
parents: 6111
diff changeset
   128
	WC_BUILD_TOOLBAR, WC_NONE,
756
d1f1dc31b6f4 (svn r1212) -Feature: sticky windows all build-toolbars
darkvater
parents: 751
diff changeset
   129
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   130
	_air_toolbar_widgets,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   131
	BuildAirToolbWndProc
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   132
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   133
6573
7624f942237f (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6443
diff changeset
   134
void ShowBuildAirToolbar()
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   135
{
5005
21e84e53c732 (svn r7022) -Fix [FS#292]: Properly guard against viewing company-sensitive information from
Darkvater
parents: 4968
diff changeset
   136
	if (!IsValidPlayer(_current_player)) return;
21e84e53c732 (svn r7022) -Fix [FS#292]: Properly guard against viewing company-sensitive information from
Darkvater
parents: 4968
diff changeset
   137
10397
84e97769583b (svn r12939) -Codechange: do not use the window proc to determine whether a toolbar is a rail toolbar, but use the window number.
rubidium
parents: 10377
diff changeset
   138
	DeleteWindowByClass(WC_BUILD_TOOLBAR);
10462
416b62f5ee6f (svn r13005) -Codechange: prepare AllocateWindowDescFront for subclassing of Window.
rubidium
parents: 10461
diff changeset
   139
	Window *w = AllocateWindowDescFront<Window>(&_air_toolbar_desc, TRANSPORT_AIR);
6111
32f6149dc192 (svn r8436) -Fix
tron
parents: 5933
diff changeset
   140
	if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   141
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   142
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   143
enum {
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   144
	BAW_BOTTOMPANEL = 10,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   145
	BAW_SMALL_AIRPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   146
	BAW_CITY_AIRPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   147
	BAW_HELIPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   148
	BAW_METRO_AIRPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   149
	BAW_STR_INTERNATIONAL_AIRPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   150
	BAW_COMMUTER_AIRPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   151
	BAW_HELIDEPOT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   152
	BAW_STR_INTERCONTINENTAL_AIRPORT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   153
	BAW_HELISTATION,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   154
	BAW_LAST_AIRPORT = BAW_HELISTATION,
10377
69e632bacb40 (svn r12918) -Fix [FS#1963] (r12679): last airport would always be shown as buildable even when it was not.
rubidium
parents: 10222
diff changeset
   155
	BAW_AIRPORT_COUNT = BAW_LAST_AIRPORT - BAW_SMALL_AIRPORT + 1,
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   156
	BAW_BTN_DONTHILIGHT = BAW_LAST_AIRPORT + 1,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   157
	BAW_BTN_DOHILIGHT,
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   158
};
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   159
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   160
static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   161
{
1784
6eb3ab1bc33c (svn r2288) - CodeChange: protected the next batch of commands (41 so far, out of 115).
Darkvater
parents: 1363
diff changeset
   162
	switch (e->event) {
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   163
		case WE_CREATE:
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   164
			w->SetWidgetLoweredState(BAW_BTN_DONTHILIGHT, !_station_show_coverage);
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   165
			w->SetWidgetLoweredState(BAW_BTN_DOHILIGHT, _station_show_coverage);
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   166
			w->LowerWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   167
			break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   168
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   169
		case WE_PAINT: {
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   170
			int i; // airport enabling loop
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   171
			uint32 avail_airports;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   172
			const AirportFTAClass *airport;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   173
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   174
			if (WP(w, def_d).close) return;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   175
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   176
			avail_airports = GetValidAirports();
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   177
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   178
			w->RaiseWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   179
			if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   180
			if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL;
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   181
			w->LowerWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   182
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   183
			/* 'Country Airport' starts at widget BAW_SMALL_AIRPORT, and if its bit is set, it is
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   184
			 * available, so take its opposite value to set the disabled state.
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   185
			 * There are 9 buildable airports
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   186
			 * XXX TODO : all airports should be held in arrays, with all relevant data.
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   187
			 * This should be part of newgrf-airports, i suppose
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   188
			 */
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   189
			for (i = 0; i < BAW_AIRPORT_COUNT; i++) w->SetWidgetDisabledState(i + BAW_SMALL_AIRPORT, !HasBit(avail_airports, i));
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   190
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   191
			/* select default the coverage area to 'Off' (16) */
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   192
			airport = GetAirport(_selected_airport_type);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   193
			SetTileSelectSize(airport->size_x, airport->size_y);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   194
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   195
			int rad = _patches.modified_catchment ? airport->catchment : (uint)CA_UNMODIFIED;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   196
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   197
			if (_station_show_coverage) SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   198
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   199
			DrawWindowWidgets(w);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   200
			/* strings such as 'Size' and 'Coverage Area' */
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   201
			int text_end = DrawStationCoverageAreaText(2, 206, SCT_ALL, rad, false);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   202
			text_end = DrawStationCoverageAreaText(2, text_end + 4, SCT_ALL, rad, true) + 4;
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   203
			if (text_end != w->widget[BAW_BOTTOMPANEL].bottom) {
10434
d6accd017341 (svn r12976) -Codechange: use w->SetDirty() instead of SetWindowDirty(w) when it's certain that w != NULL.
rubidium
parents: 10433
diff changeset
   204
				w->SetDirty();
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   205
				ResizeWindowForWidget(w, BAW_BOTTOMPANEL, 0, text_end - w->widget[BAW_BOTTOMPANEL].bottom);
10434
d6accd017341 (svn r12976) -Codechange: use w->SetDirty() instead of SetWindowDirty(w) when it's certain that w != NULL.
rubidium
parents: 10433
diff changeset
   206
				w->SetDirty();
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   207
			}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   208
			break;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   209
		}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   210
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   211
		case WE_CLICK: {
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   212
			switch (e->we.click.widget) {
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   213
				case BAW_SMALL_AIRPORT: case BAW_CITY_AIRPORT: case BAW_HELIPORT: case BAW_METRO_AIRPORT:
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   214
				case BAW_STR_INTERNATIONAL_AIRPORT: case BAW_COMMUTER_AIRPORT: case BAW_HELIDEPOT:
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   215
				case BAW_STR_INTERCONTINENTAL_AIRPORT: case BAW_HELISTATION:
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   216
					w->RaiseWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   217
					_selected_airport_type = e->we.click.widget - BAW_SMALL_AIRPORT;
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   218
					w->LowerWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   219
					SndPlayFx(SND_15_BEEP);
10434
d6accd017341 (svn r12976) -Codechange: use w->SetDirty() instead of SetWindowDirty(w) when it's certain that w != NULL.
rubidium
parents: 10433
diff changeset
   220
					w->SetDirty();
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   221
					break;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   222
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   223
				case BAW_BTN_DONTHILIGHT: case BAW_BTN_DOHILIGHT:
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   224
					_station_show_coverage = (e->we.click.widget != BAW_BTN_DONTHILIGHT);
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   225
					w->SetWidgetLoweredState(BAW_BTN_DONTHILIGHT, !_station_show_coverage);
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   226
					w->SetWidgetLoweredState(BAW_BTN_DOHILIGHT, _station_show_coverage);
10116
0fcebf5d5975 (svn r12647) -Codechange: Ooops... Too fast on the job... forgot to indent 3 lines
belugas
parents: 10115
diff changeset
   227
					SndPlayFx(SND_15_BEEP);
10434
d6accd017341 (svn r12976) -Codechange: use w->SetDirty() instead of SetWindowDirty(w) when it's certain that w != NULL.
rubidium
parents: 10433
diff changeset
   228
					w->SetDirty();
10116
0fcebf5d5975 (svn r12647) -Codechange: Ooops... Too fast on the job... forgot to indent 3 lines
belugas
parents: 10115
diff changeset
   229
					break;
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   230
			}
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   231
		} break;
1109
1bab892228cd (svn r1610) Remove trailing whitespace (last time ever, i hope)
tron
parents: 1093
diff changeset
   232
10481
0c7aed4edabe (svn r13024) -Codechange: do not use WE_MOUSELOOP when WE_TICK suffices, rename WE_4 to something more descriptive and correct some (completely incorrect) comments.
rubidium
parents: 10462
diff changeset
   233
		case WE_TICK: {
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   234
			if (WP(w, def_d).close) {
10433
cca9f7948fe5 (svn r12975) -Codechange: replace DeleteWindow(w) with delete w.
rubidium
parents: 10429
diff changeset
   235
				delete w;
10115
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   236
				return;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   237
			}
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   238
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   239
			CheckRedrawStationCoverage(w);
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   240
		} break;
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   241
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   242
		case WE_DESTROY:
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   243
			if (!WP(w, def_d).close) ResetObjectToPlace();
f925c509343d (svn r12646) -Codechange: another run of code-style cleanup
belugas
parents: 10114
diff changeset
   244
			break;
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   245
	}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   246
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   247
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   248
static const Widget _build_airport_picker_widgets[] = {
4345
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   249
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                         STR_018B_CLOSE_WINDOW},
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   250
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   147,     0,    13, STR_3001_AIRPORT_SELECTION,       STR_018C_WINDOW_TITLE_DRAG_THIS},
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   251
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,    14,    52, 0x0,                              STR_NULL},
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   252
{      WWT_LABEL,   RESIZE_NONE,     7,     0,   147,    14,    27, STR_SMALL_AIRPORTS,               STR_NULL},
4345
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   253
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,    53,    89, 0x0,                              STR_NULL},
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   254
{      WWT_LABEL,   RESIZE_NONE,     7,     0,   147,    52,    65, STR_LARGE_AIRPORTS,               STR_NULL},
4345
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   255
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,    90,   127, 0x0,                              STR_NULL},
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   256
{      WWT_LABEL,   RESIZE_NONE,     7,     0,   147,    90,   103, STR_HUB_AIRPORTS,                 STR_NULL},
4345
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   257
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,   128,   177, 0x0,                              STR_NULL},
10148
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   258
{      WWT_LABEL,   RESIZE_NONE,     7,     0,   147,   128,   141, STR_HELIPORTS,                    STR_NULL},
363d2c719c41 (svn r12679) -Codechange : a little bit of widget enumification
belugas
parents: 10116
diff changeset
   259
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,   178,   239, 0x0,                              STR_NULL}, // bottom general box
4968
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   260
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,    27,    38, STR_SMALL_AIRPORT,                STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   261
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,    65,    76, STR_CITY_AIRPORT,                 STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   262
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,   141,   152, STR_HELIPORT,                     STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   263
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,    77,    88, STR_METRO_AIRPORT ,               STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   264
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,   103,   114, STR_INTERNATIONAL_AIRPORT,        STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   265
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,    39,    50, STR_COMMUTER_AIRPORT,             STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   266
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,   165,   176, STR_HELIDEPOT,                    STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   267
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,   115,   126, STR_INTERCONTINENTAL_AIRPORT,     STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
6cfec8858f17 (svn r6971) -Fix r6961: WWT_NODISTXTBTN buttons were normal buttons not push buttons
glx
parents: 4963
diff changeset
   268
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   145,   153,   164, STR_HELISTATION,                  STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
4345
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   269
{    WWT_TEXTBTN,   RESIZE_NONE,    14,    14,    73,   191,   202, STR_02DB_OFF,                     STR_3065_DON_T_HIGHLIGHT_COVERAGE},
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   270
{    WWT_TEXTBTN,   RESIZE_NONE,    14,    74,   133,   191,   202, STR_02DA_ON,                      STR_3064_HIGHLIGHT_COVERAGE_AREA},
dd12549ad473 (svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered label
belugas
parents: 4344
diff changeset
   271
{      WWT_LABEL,   RESIZE_NONE,     7,     0,   147,   178,   191, STR_3066_COVERAGE_AREA_HIGHLIGHT, STR_NULL},
176
84990c4b9212 (svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents: 0
diff changeset
   272
{   WIDGETS_END},
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   273
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   274
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   275
static const WindowDesc _build_airport_desc = {
7837
65d7362153a6 (svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents: 7737
diff changeset
   276
	WDP_AUTO, WDP_AUTO, 148, 240, 148, 240,
5070
0bbf5264bfb7 (svn r7128) -Codechange: Replace magic numbers by magic enums (windowdesc positioning WDP_AUTO = -1)
Darkvater
parents: 5005
diff changeset
   277
	WC_BUILD_STATION, WC_BUILD_TOOLBAR,
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   278
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   279
	_build_airport_picker_widgets,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   280
	BuildAirportPickerWndProc
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   281
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   282
6573
7624f942237f (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6443
diff changeset
   283
static void ShowBuildAirportPicker()
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   284
{
10461
48556aee54da (svn r13004) -Codechange: replace AllocateWindow and AllocateWindowDesc with a Window constructor.
rubidium
parents: 10445
diff changeset
   285
	new Window(&_build_airport_desc);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   286
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   287
6573
7624f942237f (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6443
diff changeset
   288
void InitializeAirportGui()
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   289
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   290
	_selected_airport_type = AT_SMALL;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   291
}