Mercurial > hg > openttd
annotate src/misc_gui.cpp @ 13174:cd71f89cd87f draft
(svn r17681) -Fix [FS#3248] (r17668): crash when the caption of the query window used parameters
author | rubidium <rubidium@openttd.org> |
---|---|
date | Fri, 02 Oct 2009 15:06:14 +0000 |
parents | 1f44cefc7825 |
children | afdfdda87cd4 |
rev | line source |
---|---|
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2 |
12778
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
3 /* |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
4 * This file is part of OpenTTD. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
8 */ |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12777
diff
changeset
|
9 |
9111
d48433370037
(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 <rubidium@openttd.org>
parents:
9082
diff
changeset
|
10 /** @file misc_gui.cpp GUIs for a number of misc windows. */ |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
6197
diff
changeset
|
11 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
12 #include "stdafx.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
13 #include "openttd.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
14 #include "debug.h" |
6453
666fc3ef3174
(svn r9609) -Codechange: Move some function prototypes out of functions.h and into landscape.h, and add a few where they didn't exist.
maedhros <maedhros@openttd.org>
parents:
6350
diff
changeset
|
15 #include "landscape.h" |
7750
2df30880f88b
(svn r11287) -Codechange: add support for pushing paramaters into NewIndustries' error messages. Patch by Csaboka.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
16 #include "newgrf_text.h" |
10571
b6779abf2e96
(svn r14828) -Codechange: move most of save/load-specific code to separate files
smatz <smatz@openttd.org>
parents:
10563
diff
changeset
|
17 #include "saveload/saveload.h" |
8108
4faab45e2603
(svn r11669) -Codechange: refactor tile.h -> tile_type.h and tile_map.h
rubidium <rubidium@openttd.org>
parents:
8107
diff
changeset
|
18 #include "tile_map.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
19 #include "gui.h" |
8107
f65cf2bc3255
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium <rubidium@openttd.org>
parents:
8106
diff
changeset
|
20 #include "station_gui.h" |
8224
c45446125bf0
(svn r11787) -Codechange: more header rewrites. This time related to viewport.h.
rubidium <rubidium@openttd.org>
parents:
8214
diff
changeset
|
21 #include "viewport_func.h" |
c45446125bf0
(svn r11787) -Codechange: more header rewrites. This time related to viewport.h.
rubidium <rubidium@openttd.org>
parents:
8214
diff
changeset
|
22 #include "gfx_func.h" |
8785
2a8950a812dc
(svn r12489) -Codechange: split station.h into station_base.h and station_func.h.
rubidium <rubidium@openttd.org>
parents:
8748
diff
changeset
|
23 #include "station_func.h" |
8116
9cc845deddfe
(svn r11677) -Codechange: move price and command related types/functions to their respective places.
rubidium <rubidium@openttd.org>
parents:
8114
diff
changeset
|
24 #include "command_func.h" |
10208
39cf8eebfda5
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium <rubidium@openttd.org>
parents:
10207
diff
changeset
|
25 #include "company_func.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
26 #include "town.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
27 #include "network/network.h" |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
28 #include "network/network_content.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
29 #include "variables.h" |
10960
a4e5b5d2837c
(svn r15299) -Cleanup: remove many redundant includes
smatz <smatz@openttd.org>
parents:
10944
diff
changeset
|
30 #include "company_base.h" |
a4e5b5d2837c
(svn r15299) -Cleanup: remove many redundant includes
smatz <smatz@openttd.org>
parents:
10944
diff
changeset
|
31 #include "texteff.hpp" |
6091
17ebeb5a2c37
(svn r8826) -Codechange: Replace _cargoc's separate arrays with a regular struct array (with accessor) and implement new initialization method using cargo labels.
peter1138 <peter1138@openttd.org>
parents:
5893
diff
changeset
|
32 #include "cargotype.h" |
10208
39cf8eebfda5
(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.
rubidium <rubidium@openttd.org>
parents:
10207
diff
changeset
|
33 #include "company_manager_face.h" |
8114
2d6af5d7a142
(svn r11675) -Codechange: split the string types from the string functions.
rubidium <rubidium@openttd.org>
parents:
8108
diff
changeset
|
34 #include "strings_func.h" |
10039
6301378f3e0f
(svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too.
rubidium <rubidium@openttd.org>
parents:
9944
diff
changeset
|
35 #include "fileio_func.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
36 #include "fios.h" |
8123
c26c28875749
(svn r11684) -Codechange: split gfx.h in a type and functional header.
rubidium <rubidium@openttd.org>
parents:
8121
diff
changeset
|
37 #include "zoom_func.h" |
8131
e300ac8001ae
(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 <rubidium@openttd.org>
parents:
8123
diff
changeset
|
38 #include "window_func.h" |
8214
6385dffc0b37
(svn r11777) -Codechange: split the string header and make do not include it when it's not necessary.
rubidium <rubidium@openttd.org>
parents:
8208
diff
changeset
|
39 #include "string_func.h" |
8787
ff327b646d49
(svn r12495) -Codechange: reduce the dependency on newgrf_station.h (especially because newgrf_station.h includes a lot of stuff).
rubidium <rubidium@openttd.org>
parents:
8785
diff
changeset
|
40 #include "newgrf_cargo.h" |
9127
428852b86d4d
(svn r12987) -Codechange: split viewport and tile selection.
rubidium <rubidium@openttd.org>
parents:
9116
diff
changeset
|
41 #include "tilehighlight_func.h" |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
42 #include "querystring_gui.h" |
13030
12fa346326b0
(svn r17528) -Codechange: use QSortT instead of qsort for sorting FiosItems
rubidium <rubidium@openttd.org>
parents:
13027
diff
changeset
|
43 #include "core/sort_func.hpp" |
8119
b6ec923e9fa8
(svn r11680) -Codechange: refactor more out of openttd.h and functions.h.
rubidium <rubidium@openttd.org>
parents:
8116
diff
changeset
|
44 |
8264
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
45 #include "table/strings.h" |
2495310e220f
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium <rubidium@openttd.org>
parents:
8254
diff
changeset
|
46 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
47 /* Variables to display file lists */ |
8149
ad7ddb6150dc
(svn r11711) -Codechange: Name the Save Load Dialog Mode enum
belugas <belugas@openttd.org>
parents:
8144
diff
changeset
|
48 SaveLoadDialogMode _saveload_mode; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
49 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
50 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
51 static bool _fios_path_changed; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
52 static bool _savegame_sort_dirty; |
11230
4864c1e8957a
(svn r15584) -Codechange: Move several variables from variables.h to more appropriate headers.
yexo <yexo@openttd.org>
parents:
11225
diff
changeset
|
53 int _caret_timer; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
54 |
11429
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
55 /** Widgets for the land info window. */ |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
56 enum LandInfoWidgets { |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
57 LIW_CLOSE, ///< Close the window |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
58 LIW_CAPTION, ///< Title bar of the window |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
59 LIW_BACKGROUND, ///< Background to draw on |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
60 }; |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
61 |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
62 static const NWidgetPart _nested_land_info_widgets[] = { |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
63 NWidget(NWID_HORIZONTAL), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
64 NWidget(WWT_CLOSEBOX, COLOUR_GREY, LIW_CLOSE), |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
65 NWidget(WWT_CAPTION, COLOUR_GREY, LIW_CAPTION), SetDataTip(STR_LAND_AREA_INFORMATION_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
66 EndContainer(), |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
67 NWidget(WWT_PANEL, COLOUR_GREY, LIW_BACKGROUND), EndContainer(), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
68 }; |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
69 |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
70 static const WindowDesc _land_info_desc( |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
71 WDP_AUTO, WDP_AUTO, 0, 0, 0, 0, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5750
diff
changeset
|
72 WC_LAND_INFO, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
73 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
74 NULL, _nested_land_info_widgets, lengthof(_nested_land_info_widgets) |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
75 ); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
76 |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
77 class LandInfoWindow : public Window { |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
78 enum { |
9714
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
79 LAND_INFO_CENTERED_LINES = 12, ///< Up to 12 centered lines |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
80 LAND_INFO_MULTICENTER_LINE = LAND_INFO_CENTERED_LINES, ///< One multicenter line |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
81 LAND_INFO_LINE_END, |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
82 |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
83 LAND_INFO_LINE_BUFF_SIZE = 512, |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
84 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
85 |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
86 public: |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
87 char landinfo_data[LAND_INFO_LINE_END][LAND_INFO_LINE_BUFF_SIZE]; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
88 |
9170
8c020e980b8c
(svn r13033) -Fix [FS#2003](r13029): land info tool wasn't working
smatz <smatz@openttd.org>
parents:
9166
diff
changeset
|
89 virtual void OnPaint() |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
90 { |
9273
72a6d2e60834
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium <rubidium@openttd.org>
parents:
9272
diff
changeset
|
91 this->DrawWidgets(); |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
92 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
93 |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
94 virtual void DrawWidget(const Rect &r, int widget) const |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
95 { |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
96 if (widget != LIW_BACKGROUND) return; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
97 |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
98 uint y = r.top + WD_TEXTPANEL_TOP; |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
99 for (uint i = 0; i < LAND_INFO_CENTERED_LINES; i++) { |
9572
7c23a341f695
(svn r13601) -Codechange: resize the Tile Info window when it is needed, make it better readable
smatz <smatz@openttd.org>
parents:
9441
diff
changeset
|
100 if (StrEmpty(this->landinfo_data[i])) break; |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
101 |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
102 DrawString(r.left + WD_FRAMETEXT_LEFT, r.right - WD_FRAMETEXT_RIGHT, y, this->landinfo_data[i], i == 0 ? TC_LIGHT_BLUE : TC_FROMSTRING, SA_CENTER); |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
103 y += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
104 if (i == 0) y += 4; |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
105 } |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
106 |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
107 if (!StrEmpty(this->landinfo_data[LAND_INFO_MULTICENTER_LINE])) { |
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
108 SetDParamStr(0, this->landinfo_data[LAND_INFO_MULTICENTER_LINE]); |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
109 DrawStringMultiLine(r.left + WD_FRAMETEXT_LEFT, r.right - WD_FRAMETEXT_RIGHT, y, r.bottom - WD_TEXTPANEL_BOTTOM, STR_JUST_RAW_STRING, TC_FROMSTRING, SA_CENTER); |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
110 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
111 } |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
112 |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
113 virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *resize) |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
114 { |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
115 if (widget != LIW_BACKGROUND) return; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
116 |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
117 size->height = WD_TEXTPANEL_TOP + WD_TEXTPANEL_BOTTOM; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
118 for (uint i = 0; i < LAND_INFO_CENTERED_LINES; i++) { |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
119 if (StrEmpty(this->landinfo_data[i])) break; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
120 |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
121 uint width = GetStringBoundingBox(this->landinfo_data[i]).width + WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
122 size->width = max(size->width, width); |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
123 |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
124 size->height += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
125 if (i == 0) size->height += 4; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
126 } |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
127 |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
128 if (!StrEmpty(this->landinfo_data[LAND_INFO_MULTICENTER_LINE])) { |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
129 uint width = GetStringBoundingBox(this->landinfo_data[LAND_INFO_MULTICENTER_LINE]).width + WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT; |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
130 size->width = max(size->width, min(300u, width)); |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
131 SetDParamStr(0, this->landinfo_data[LAND_INFO_MULTICENTER_LINE]); |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
132 size->height += GetStringHeight(STR_JUST_RAW_STRING, size->width - WD_FRAMERECT_LEFT - WD_FRAMERECT_RIGHT); |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
133 } |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
134 } |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
135 |
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
136 LandInfoWindow(TileIndex tile) : Window() { |
9413
512ea64da840
(svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games.
rubidium <rubidium@openttd.org>
parents:
9407
diff
changeset
|
137 Town *t = ClosestTownFromTile(tile, _settings_game.economy.dist_local_authority); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
138 |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
139 /* Because build_date is not set yet in every TileDesc, we make sure it is empty */ |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
140 TileDesc td; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
141 |
9713
c94f47f48e76
(svn r13826) -Codechange: use 'INVALID_DATE' instead of '0' as placeholder in tile description
smatz <smatz@openttd.org>
parents:
9693
diff
changeset
|
142 td.build_date = INVALID_DATE; |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
143 |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
144 /* Most tiles have only one owner, but |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
145 * - drivethrough roadstops can be build on town owned roads (up to 2 owners) and |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
146 * - roads can have up to four owners (railroad, road, tram, 3rd-roadtype "highway"). |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
147 */ |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
148 td.owner_type[0] = STR_LAND_AREA_INFORMATION_OWNER; // At least one owner is displayed, though it might be "N/A". |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
149 td.owner_type[1] = STR_NULL; // STR_NULL results in skipping the owner |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
150 td.owner_type[2] = STR_NULL; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
151 td.owner_type[3] = STR_NULL; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
152 td.owner[0] = OWNER_NONE; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
153 td.owner[1] = OWNER_NONE; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
154 td.owner[2] = OWNER_NONE; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
155 td.owner[3] = OWNER_NONE; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
156 |
9714
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
157 td.station_class = STR_NULL; |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
158 td.station_name = STR_NULL; |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
159 |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
160 td.grf = NULL; |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
161 |
12261
c42d8d239142
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
frosch <frosch@openttd.org>
parents:
12244
diff
changeset
|
162 CargoArray acceptance; |
12946
560c26f15688
(svn r17439) -Fix (r17436): you weren't paid for cargo delivered to houses and headquarters anymore
smatz <smatz@openttd.org>
parents:
12927
diff
changeset
|
163 AddAcceptedCargo(tile, acceptance, NULL); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
164 GetTileDesc(tile, &td); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
165 |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
166 uint line_nr = 0; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
167 |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
168 /* Tiletype */ |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
169 SetDParam(0, td.dparam[0]); |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
170 GetString(this->landinfo_data[line_nr], td.str, lastof(this->landinfo_data[line_nr])); |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
171 line_nr++; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
172 |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
173 /* Up to four owners */ |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
174 for (uint i = 0; i < 4; i++) { |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
175 if (td.owner_type[i] == STR_NULL) continue; |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
176 |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
177 SetDParam(0, STR_LAND_AREA_INFORMATION_OWNER_N_A); |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
178 if (td.owner[i] != OWNER_NONE && td.owner[i] != OWNER_WATER) GetNameOfOwner(td.owner[i], tile); |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
179 GetString(this->landinfo_data[line_nr], td.owner_type[i], lastof(this->landinfo_data[line_nr])); |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
180 line_nr++; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
181 } |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
182 |
10497
b15aa92d60c9
(svn r14752) -Fix [FS#2438]: revenue when clearing land would show up in red in the land info window as negative cost.
rubidium <rubidium@openttd.org>
parents:
10426
diff
changeset
|
183 /* Cost to clear/revenue when cleared */ |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
184 StringID str = STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A; |
11955
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
185 Company *c = Company::GetIfValid(_local_company); |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
186 if (c != NULL) { |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
187 Money old_money = c->money; |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
188 c->money = INT64_MAX; |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
189 CommandCost costclear = DoCommand(tile, 0, 0, DC_NONE, CMD_LANDSCAPE_CLEAR); |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
190 c->money = old_money; |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
191 if (CmdSucceeded(costclear)) { |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
192 Money cost = costclear.GetCost(); |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
193 if (cost < 0) { |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
194 cost = -cost; // Negate negative cost to a positive revenue |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
195 str = STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED; |
11955
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
196 } else { |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
197 str = STR_LAND_AREA_INFORMATION_COST_TO_CLEAR; |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
198 } |
734fb1a3d241
(svn r16359) -Codechange: don't abuse company 0 when determining 'cost to clear land' in the LandInfoWindow
smatz <smatz@openttd.org>
parents:
11924
diff
changeset
|
199 SetDParam(0, cost); |
10497
b15aa92d60c9
(svn r14752) -Fix [FS#2438]: revenue when clearing land would show up in red in the land info window as negative cost.
rubidium <rubidium@openttd.org>
parents:
10426
diff
changeset
|
200 } |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
201 } |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
202 GetString(this->landinfo_data[line_nr], str, lastof(this->landinfo_data[line_nr])); |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
203 line_nr++; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
204 |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
205 /* Location */ |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
206 char tmp[16]; |
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
207 snprintf(tmp, lengthof(tmp), "0x%.4X", tile); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
208 SetDParam(0, TileX(tile)); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
209 SetDParam(1, TileY(tile)); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
210 SetDParam(2, TileHeight(tile)); |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
211 SetDParamStr(3, tmp); |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
212 GetString(this->landinfo_data[line_nr], STR_LAND_AREA_INFORMATION_LANDINFO_COORDS, lastof(this->landinfo_data[line_nr])); |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
213 line_nr++; |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
214 |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
215 /* Local authority */ |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
216 SetDParam(0, STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE); |
11972
fd10870d74d4
(svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved
smatz <smatz@openttd.org>
parents:
11955
diff
changeset
|
217 if (t != NULL) { |
12452
499dee1c27b6
(svn r16886) -Codechange: unify naming of some string IDs related to string codes and group them logically
rubidium <rubidium@openttd.org>
parents:
12415
diff
changeset
|
218 SetDParam(0, STR_TOWN_NAME); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
219 SetDParam(1, t->index); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
220 } |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
221 GetString(this->landinfo_data[line_nr], STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY, lastof(this->landinfo_data[line_nr])); |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
222 line_nr++; |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
223 |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
224 /* Build date */ |
9713
c94f47f48e76
(svn r13826) -Codechange: use 'INVALID_DATE' instead of '0' as placeholder in tile description
smatz <smatz@openttd.org>
parents:
9693
diff
changeset
|
225 if (td.build_date != INVALID_DATE) { |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
226 SetDParam(0, td.build_date); |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
227 GetString(this->landinfo_data[line_nr], STR_LAND_AREA_INFORMATION_BUILD_DATE, lastof(this->landinfo_data[line_nr])); |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
228 line_nr++; |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
229 } |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
230 |
9714
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
231 /* Station class */ |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
232 if (td.station_class != STR_NULL) { |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
233 SetDParam(0, td.station_class); |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
234 GetString(this->landinfo_data[line_nr], STR_LAND_AREA_INFORMATION_STATION_CLASS, lastof(this->landinfo_data[line_nr])); |
9714
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
235 line_nr++; |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
236 } |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
237 |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
238 /* Station type name */ |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
239 if (td.station_name != STR_NULL) { |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
240 SetDParam(0, td.station_name); |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
241 GetString(this->landinfo_data[line_nr], STR_LAND_AREA_INFORMATION_STATION_TYPE, lastof(this->landinfo_data[line_nr])); |
9714
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
242 line_nr++; |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
243 } |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
244 |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
245 /* NewGRF name */ |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
246 if (td.grf != NULL) { |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
247 SetDParamStr(0, td.grf); |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
248 GetString(this->landinfo_data[line_nr], STR_LAND_AREA_INFORMATION_NEWGRF_NAME, lastof(this->landinfo_data[line_nr])); |
9714
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
249 line_nr++; |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
250 } |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
251 |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
252 assert(line_nr < LAND_INFO_CENTERED_LINES); |
cb9766ae1255
(svn r13830) -Feature: show additional NewGRF info in the Tile Info window for stations, houses and industries
smatz <smatz@openttd.org>
parents:
9713
diff
changeset
|
253 |
9572
7c23a341f695
(svn r13601) -Codechange: resize the Tile Info window when it is needed, make it better readable
smatz <smatz@openttd.org>
parents:
9441
diff
changeset
|
254 /* Mark last line empty */ |
7c23a341f695
(svn r13601) -Codechange: resize the Tile Info window when it is needed, make it better readable
smatz <smatz@openttd.org>
parents:
9441
diff
changeset
|
255 this->landinfo_data[line_nr][0] = '\0'; |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
256 |
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
257 /* Cargo acceptance is displayed in a extra multiline */ |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
258 char *strp = GetString(this->landinfo_data[LAND_INFO_MULTICENTER_LINE], STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED, lastof(this->landinfo_data[LAND_INFO_MULTICENTER_LINE])); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
259 bool found = false; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
260 |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
261 for (CargoID i = 0; i < NUM_CARGO; ++i) { |
12261
c42d8d239142
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
frosch <frosch@openttd.org>
parents:
12244
diff
changeset
|
262 if (acceptance[i] > 0) { |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
263 /* Add a comma between each item. */ |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
264 if (found) { |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
265 *strp++ = ','; |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
266 *strp++ = ' '; |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
267 } |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
268 found = true; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
269 |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
270 /* If the accepted value is less than 8, show it in 1/8:ths */ |
12261
c42d8d239142
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
frosch <frosch@openttd.org>
parents:
12244
diff
changeset
|
271 if (acceptance[i] < 8) { |
c42d8d239142
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
frosch <frosch@openttd.org>
parents:
12244
diff
changeset
|
272 SetDParam(0, acceptance[i]); |
12415
6a77d1df56e2
(svn r16849) -Codechange: replace GetCargo() by CargoSpec::Get()
smatz <smatz@openttd.org>
parents:
12365
diff
changeset
|
273 SetDParam(1, CargoSpec::Get(i)->name); |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
274 strp = GetString(strp, STR_LAND_AREA_INFORMATION_CARGO_EIGHTS, lastof(this->landinfo_data[LAND_INFO_MULTICENTER_LINE])); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
275 } else { |
12415
6a77d1df56e2
(svn r16849) -Codechange: replace GetCargo() by CargoSpec::Get()
smatz <smatz@openttd.org>
parents:
12365
diff
changeset
|
276 strp = GetString(strp, CargoSpec::Get(i)->name, lastof(this->landinfo_data[LAND_INFO_MULTICENTER_LINE])); |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
277 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
278 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
279 } |
9322
258ab31489e0
(svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window.
frosch <frosch@openttd.org>
parents:
9319
diff
changeset
|
280 if (!found) this->landinfo_data[LAND_INFO_MULTICENTER_LINE][0] = '\0'; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
281 |
12834
f828651d0be0
(svn r17324) -Codechange: Land info window uses nested widget tree
Yexo <Yexo@openttd.org>
parents:
12821
diff
changeset
|
282 this->InitNested(&_land_info_desc); |
9572
7c23a341f695
(svn r13601) -Codechange: resize the Tile Info window when it is needed, make it better readable
smatz <smatz@openttd.org>
parents:
9441
diff
changeset
|
283 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
284 #if defined(_DEBUG) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
285 # define LANDINFOD_LEVEL 0 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
286 #else |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
287 # define LANDINFOD_LEVEL 1 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
288 #endif |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
289 DEBUG(misc, LANDINFOD_LEVEL, "TILE: %#x (%i,%i)", tile, TileX(tile), TileY(tile)); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
290 DEBUG(misc, LANDINFOD_LEVEL, "type_height = %#x", _m[tile].type_height); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
291 DEBUG(misc, LANDINFOD_LEVEL, "m1 = %#x", _m[tile].m1); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
292 DEBUG(misc, LANDINFOD_LEVEL, "m2 = %#x", _m[tile].m2); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
293 DEBUG(misc, LANDINFOD_LEVEL, "m3 = %#x", _m[tile].m3); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
294 DEBUG(misc, LANDINFOD_LEVEL, "m4 = %#x", _m[tile].m4); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
295 DEBUG(misc, LANDINFOD_LEVEL, "m5 = %#x", _m[tile].m5); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
296 DEBUG(misc, LANDINFOD_LEVEL, "m6 = %#x", _m[tile].m6); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
297 DEBUG(misc, LANDINFOD_LEVEL, "m7 = %#x", _me[tile].m7); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
298 #undef LANDINFOD_LEVEL |
9155
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
299 } |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
300 }; |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
301 |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
302 static void Place_LandInfo(TileIndex tile) |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
303 { |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
304 DeleteWindowById(WC_LAND_INFO, 0); |
bb7dd4c8ed68
(svn r13018) -Codechange: make a class of the LandInfo Window.
rubidium <rubidium@openttd.org>
parents:
9153
diff
changeset
|
305 new LandInfoWindow(tile); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
306 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
307 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6239
diff
changeset
|
308 void PlaceLandBlockInfo() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
309 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
310 if (_cursor.sprite == SPR_CURSOR_QUERY) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
311 ResetObjectToPlace(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
312 } else { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
313 _place_proc = Place_LandInfo; |
11702
cdaad565efe5
(svn r16088) -Codechange: merge HighLightStyle and ViewportHighlightMode as they are basically the same thing
rubidium <rubidium@openttd.org>
parents:
11653
diff
changeset
|
314 SetObjectToPlace(SPR_CURSOR_QUERY, PAL_NONE, HT_RECT, WC_MAIN_TOOLBAR, 0); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
315 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
316 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
317 |
11429
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
318 /** Widgets for the land info window. */ |
8a62e44e06a1
(svn r15787) -Codechange: enumify the land info and about window widgets and use them.
rubidium <rubidium@openttd.org>
parents:
11427
diff
changeset
|
319 enum AboutWidgets { |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
320 AW_CLOSE, ///< Close the window |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
321 AW_CAPTION, ///< Title bar of the window |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
322 AW_BACKGROUND, ///< Background to draw on |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
323 AW_ABOUT_ORIG_COPYRIGHT, ///< Text with original copyright info |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
324 AW_ABOUT_VERSION, ///< OpenTTD version string |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
325 AW_FRAME, ///< The scrolling frame with goodies |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
326 AW_WEBSITE, ///< URL of OpenTTD website |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
327 AW_ABOUT_COPYRIGHT, ///< OpenTTD copyright info |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
328 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
329 |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
330 static const NWidgetPart _nested_about_widgets[] = { |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
331 NWidget(NWID_HORIZONTAL), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
332 NWidget(WWT_CLOSEBOX, COLOUR_GREY, AW_CLOSE), |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
333 NWidget(WWT_CAPTION, COLOUR_GREY, AW_CAPTION), SetDataTip(STR_ABOUT_OPENTTD, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
334 EndContainer(), |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
335 NWidget(WWT_PANEL, COLOUR_GREY, AW_BACKGROUND), SetPIP(4, 2, 4), |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
336 NWidget(WWT_TEXT, COLOUR_GREY, AW_ABOUT_ORIG_COPYRIGHT), SetDataTip(STR_ABOUT_ORIGINAL_COPYRIGHT, STR_NULL), |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
337 NWidget(WWT_TEXT, COLOUR_GREY, AW_ABOUT_VERSION), SetDataTip(STR_ABOUT_VERSION, STR_NULL), |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
338 NWidget(WWT_FRAME, COLOUR_GREY, AW_FRAME), SetPadding(0, 5, 1, 5), EndContainer(), |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
339 NWidget(WWT_TEXT, COLOUR_GREY, AW_WEBSITE), SetDataTip(STR_BLACK_RAW_STRING, STR_NULL), |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
340 NWidget(WWT_TEXT, COLOUR_GREY, AW_ABOUT_COPYRIGHT), SetDataTip(STR_ABOUT_COPYRIGHT_OPENTTD, STR_NULL), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
341 EndContainer(), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
342 }; |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
343 |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
344 static const WindowDesc _about_desc( |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
345 WDP_CENTER, WDP_CENTER, 0, 0, 0, 0, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5750
diff
changeset
|
346 WC_GAME_OPTIONS, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
347 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
348 NULL, _nested_about_widgets, lengthof(_nested_about_widgets) |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
349 ); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
350 |
13096
e3e4c1648e0c
(svn r17596) -Codechange: constify some tables
smatz <smatz@openttd.org>
parents:
13072
diff
changeset
|
351 static const char * const _credits[] = { |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
352 "Original design by Chris Sawyer", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
353 "Original graphics by Simon Foster", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
354 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
355 "The OpenTTD team (in alphabetical order):", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
356 " Jean-Francois Claeys (Belugas) - GUI, newindustries and more", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
357 " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
358 " Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
359 " Victor Fischer (Celestar) - Programming everywhere you need him to", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
360 " Christoph Elsenhans (frosch) - General coding", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
361 " Lo\xC3\xAF""c Guilloux (glx) - Windows Expert", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
362 " Michael Lutz (michi_cc) - Path based signals", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
363 " Owen Rudge (orudge) - Forum host, OS/2 port", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
364 " Peter Nelson (peter1138) - Spiritual descendant from newGRF gods", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
365 " Remko Bijker (Rubidium) - Lead coder and way more", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
366 " Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
367 " Thijs Marinussen (Yexo) - AI Framework", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
368 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
369 "Inactive Developers:", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
370 " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
371 " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
372 " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
373 " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
374 " Christoph Mallon (Tron) - Programmer, code correctness police", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
375 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
376 "Retired Developers:", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
377 " Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
378 " Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
379 " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
380 " Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
381 " Patric Stout (TrueLight) - Programmer (0.3 - pre0.7), sys op (active)", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
382 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
383 "Special thanks go out to:", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
384 " Josef Drexler - For his great work on TTDPatch", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
385 " Marcin Grzegorczyk - For his documentation of TTD internals", |
13063
d6196415e66a
(svn r17561) -Fix: diacritics was missing at few places
smatz <smatz@openttd.org>
parents:
13034
diff
changeset
|
386 " Petr Baudi\xC5\xA1 (pasky) - Many patches, newGRF support", |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
387 " Stefan Mei\xC3\x9Fner (sign_de) - For his work on the console", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
388 " Simon Sasburg (HackyKid) - Many bugfixes he has blessed us with", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
389 " Cian Duffy (MYOB) - BeOS port / manual writing", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
390 " Christian Rosentreter (tokai) - MorphOS / AmigaOS port", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
391 " Richard Kempton (richK) - additional airports, initial TGP implementation", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
392 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
393 " Alberto Demichelis - Squirrel scripting language \xC2\xA9 2003-2008", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
394 " Markus F.X.J. Oberhumer - (Mini)LZO for loading old savegames \xC2\xA9 1996-2008", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
395 " L. Peter Deutsch - MD5 implementation \xC2\xA9 1999, 2000, 2002", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
396 " Michael Blunck - Pre-Signals and Semaphores \xC2\xA9 2003", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
397 " George - Canal/Lock graphics \xC2\xA9 2003-2004", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
398 " David Dallaston - Tram tracks", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
399 " Marcin Grzegorczyk - Foundations for Tracks on Slopes", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
400 " All Translators - Who made OpenTTD a truly international game", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
401 " Bug Reporters - Without whom OpenTTD would still be full of bugs!", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
402 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
403 "", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
404 "And last but not least:", |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
405 " Chris Sawyer - For an amazing game!" |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
406 }; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
407 |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
408 struct AboutWindow : public Window { |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
409 int text_position; ///< The top of the scrolling text |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
410 byte counter; ///< Used to scroll the text every 5 ticks |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
411 int line_height; ///< The height of a single line |
12867
00a4b1fd0faf
(svn r17359) -Fix: put static before cv qualifier, some compilers complain about that
smatz <smatz@openttd.org>
parents:
12856
diff
changeset
|
412 static const int num_visible_lines = 19; ///< The number of lines visible simultaneously |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
413 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
414 AboutWindow() : Window() |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
415 { |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
416 this->InitNested(&_about_desc); |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
417 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
418 this->counter = 5; |
13072
75bd67594af2
(svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array.
alberth <alberth@openttd.org>
parents:
13063
diff
changeset
|
419 this->text_position = this->GetWidget<NWidgetBase>(AW_FRAME)->pos_y + this->GetWidget<NWidgetBase>(AW_FRAME)->current_y; |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
420 } |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
421 |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
422 virtual void SetStringParameters(int widget) const |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
423 { |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
424 if (widget == AW_WEBSITE) SetDParamStr(0, "Website: http://www.openttd.org"); |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
425 } |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
426 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
427 virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *resize) |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
428 { |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
429 if (widget != AW_FRAME) return; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
430 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
431 this->line_height = FONT_HEIGHT_NORMAL; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
432 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
433 Dimension d; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
434 d.height = this->line_height * num_visible_lines; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
435 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
436 d.width = 0; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
437 for (uint i = 0; i < lengthof(_credits); i++) { |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
438 d.width = max(d.width, GetStringBoundingBox(_credits[i]).width); |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
439 } |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
440 d.width += WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
441 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
442 *size = maxdim(*size, d); |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
443 } |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
444 |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
445 virtual void OnPaint() |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
446 { |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
447 this->DrawWidgets(); |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
448 } |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
449 |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
450 virtual void DrawWidget(const Rect &r, int widget) const |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
451 { |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
452 if (widget != AW_FRAME) return; |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
453 |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
454 int y = this->text_position; |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
455 |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
456 /* Show all scrolling _credits */ |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
457 for (uint i = 0; i < lengthof(_credits); i++) { |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
458 if (y >= r.top + 7 && y < r.bottom - this->line_height) { |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
459 DrawString(r.left + WD_FRAMETEXT_LEFT, r.right - WD_FRAMETEXT_RIGHT, y, _credits[i], TC_BLACK); |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
460 } |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
461 y += this->line_height; |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
462 } |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
463 } |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
464 |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
465 virtual void OnTick() |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
466 { |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
467 if (--this->counter == 0) { |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
468 this->counter = 5; |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
469 this->text_position--; |
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
470 /* If the last text has scrolled start a new from the start */ |
13072
75bd67594af2
(svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array.
alberth <alberth@openttd.org>
parents:
13063
diff
changeset
|
471 if (this->text_position < (int)(this->GetWidget<NWidgetBase>(AW_FRAME)->pos_y - lengthof(_credits) * this->line_height)) { |
75bd67594af2
(svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array.
alberth <alberth@openttd.org>
parents:
13063
diff
changeset
|
472 this->text_position = this->GetWidget<NWidgetBase>(AW_FRAME)->pos_y + this->GetWidget<NWidgetBase>(AW_FRAME)->current_y; |
12820
a8612d0074e8
(svn r17310) -Codechange: about window uses nested widget tree
yexo <yexo@openttd.org>
parents:
12819
diff
changeset
|
473 } |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
474 this->SetDirty(); |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
475 } |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
476 } |
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
477 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
478 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6239
diff
changeset
|
479 void ShowAboutWindow() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
480 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
481 DeleteWindowById(WC_GAME_OPTIONS, 0); |
9227
35dbb597e9fd
(svn r13093) -Codechange: make a class of AboutWindow.
glx <glx@openttd.org>
parents:
9226
diff
changeset
|
482 new AboutWindow(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
483 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
484 |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
485 /** Widgets of the error message windows */ |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
486 enum ErrorMessageWidgets { |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
487 EMW_CLOSE = 0, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
488 EMW_CAPTION, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
489 EMW_PANEL, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
490 EMW_FACE, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
491 EMW_MESSAGE, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
492 }; |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
493 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
494 static const Widget _errmsg_widgets[] = { |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
495 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_RED, 0, 10, 0, 13, STR_BLACK_CROSS, STR_TOOLTIP_CLOSE_WINDOW}, |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
496 { WWT_CAPTION, RESIZE_NONE, COLOUR_RED, 11, 239, 0, 13, STR_ERROR_MESSAGE_CAPTION, STR_NULL}, |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
497 { WWT_PANEL, RESIZE_BOTTOM, COLOUR_RED, 0, 239, 14, 45, 0x0, STR_NULL}, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
498 { WWT_EMPTY, RESIZE_NONE, COLOUR_RED, 0, 0, 0, 0, 0x0, STR_NULL}, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
499 { WWT_EMPTY, RESIZE_NONE, COLOUR_RED, 2, 237, 14, 45, 0x0, STR_NULL}, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
500 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
501 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
502 |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
503 static const NWidgetPart _nested_errmsg_widgets[] = { |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
504 NWidget(NWID_LAYERED), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
505 NWidget(NWID_VERTICAL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
506 NWidget(NWID_HORIZONTAL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
507 NWidget(WWT_CLOSEBOX, COLOUR_RED, EMW_CLOSE), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
508 NWidget(WWT_CAPTION, COLOUR_RED, EMW_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION, STR_NULL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
509 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
510 NWidget(WWT_PANEL, COLOUR_RED, EMW_PANEL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
511 NWidget(WWT_EMPTY, COLOUR_RED, EMW_MESSAGE), SetPadding(0, 2, 0, 2), SetMinimalSize(236, 32), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
512 NWidget(NWID_SPACER), SetResize(0, 1), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
513 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
514 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
515 NWidget(NWID_VERTICAL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
516 NWidget(NWID_HORIZONTAL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
517 NWidget(WWT_EMPTY, COLOUR_RED, EMW_FACE), SetMinimalSize(1, 1), SetFill(false, false), |
12789
dd7db20331f6
(svn r17271) -Fix: SetFill sometimes used 1/0 when it should be using true/false
rubidium <rubidium@openttd.org>
parents:
12778
diff
changeset
|
518 NWidget(NWID_SPACER), SetFill(true, false), |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
519 EndContainer(), |
12789
dd7db20331f6
(svn r17271) -Fix: SetFill sometimes used 1/0 when it should be using true/false
rubidium <rubidium@openttd.org>
parents:
12778
diff
changeset
|
520 NWidget(NWID_SPACER), SetFill(true, true), SetResize(0, 1), |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
521 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
522 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
523 }; |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
524 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
525 static const Widget _errmsg_face_widgets[] = { |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
526 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_RED, 0, 10, 0, 13, STR_BLACK_CROSS, STR_TOOLTIP_CLOSE_WINDOW}, |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
527 { WWT_CAPTION, RESIZE_NONE, COLOUR_RED, 11, 333, 0, 13, STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY, STR_NULL}, |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
528 { WWT_PANEL, RESIZE_BOTTOM, COLOUR_RED, 0, 333, 14, 136, 0x0, STR_NULL}, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
529 { WWT_EMPTY, RESIZE_NONE, COLOUR_RED, 2, 92, 16, 135, 0x0, STR_NULL}, |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
530 { WWT_EMPTY, RESIZE_NONE, COLOUR_RED, 94, 331, 14, 136, 0x0, STR_NULL}, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
531 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
532 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
533 |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
534 static const NWidgetPart _nested_errmsg_face_widgets[] = { |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
535 NWidget(NWID_HORIZONTAL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
536 NWidget(WWT_CLOSEBOX, COLOUR_RED, EMW_CLOSE), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
537 NWidget(WWT_CAPTION, COLOUR_RED, EMW_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY, STR_NULL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
538 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
539 NWidget(WWT_PANEL, COLOUR_RED, EMW_PANEL), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
540 NWidget(NWID_HORIZONTAL), SetPIP(2, 1, 2), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
541 NWidget(WWT_EMPTY, COLOUR_RED, EMW_FACE), SetMinimalSize(91, 120), SetPadding(2, 0, 1, 0), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
542 NWidget(WWT_EMPTY, COLOUR_RED, EMW_MESSAGE), SetMinimalSize(238, 123), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
543 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
544 NWidget(NWID_SPACER), SetResize(0, 1), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
545 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
546 EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
547 }; |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
548 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
549 struct ErrmsgWindow : public Window { |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
550 private: |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
551 uint duration; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
552 uint64 decode_params[20]; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
553 StringID message_1; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
554 StringID message_2; |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10201
diff
changeset
|
555 bool show_company_manager_face; |
7750
2df30880f88b
(svn r11287) -Codechange: add support for pushing paramaters into NewIndustries' error messages. Patch by Csaboka.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
556 |
11445
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
557 int y[4]; |
9682
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
558 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
559 public: |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
560 ErrmsgWindow(Point pt, int width, int height, StringID msg1, StringID msg2, const Widget *widget, bool show_company_manager_face, bool no_timeout) : |
9301
686aa69d2fcd
(svn r13169) -Codechange: remove a (now) unneeded parameter of one of the Window constructors.
rubidium <rubidium@openttd.org>
parents:
9285
diff
changeset
|
561 Window(pt.x, pt.y, width, height, WC_ERRMSG, widget), |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10201
diff
changeset
|
562 show_company_manager_face(show_company_manager_face) |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
563 { |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
564 this->duration = no_timeout ? 0 : _settings_client.gui.errmsg_duration; |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
565 CopyOutDParam(this->decode_params, 0, lengthof(this->decode_params)); |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
566 this->message_1 = msg1; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
567 this->message_2 = msg2; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
568 this->desc_flags = WDF_STD_BTN | WDF_DEF_WIDGET; |
9682
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
569 |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
570 SwitchToErrorRefStack(); |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
571 RewindTextRefStack(); |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
572 |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
573 assert(msg2 != INVALID_STRING_ID); |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
574 |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
575 int text_width = this->widget[EMW_MESSAGE].right - this->widget[EMW_MESSAGE].left; |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
576 int h2 = GetStringHeight(msg2, text_width); // msg2 is printed first |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
577 int h1 = (msg1 == INVALID_STRING_ID) ? 0 : GetStringHeight(msg1, text_width); |
9682
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
578 |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
579 SwitchToNormalRefStack(); |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
580 |
11445
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
581 int h = 20 + h1 + h2; |
9682
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
582 height = max<int>(height, h); |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
583 |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
584 if (msg1 == INVALID_STRING_ID) { |
11445
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
585 y[2] = 14 + 1; |
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
586 y[3] = height - 1; |
9682
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
587 } else { |
11445
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
588 int over = (height - 16 - h1 - h2) / 2; |
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
589 y[1] = height - 1; |
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
590 y[0] = y[1] - h1 - over; |
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
591 y[2] = 14 + 1; |
231379be7cf9
(svn r15803) -Codechange: use the new text drawing API for multicenter
rubidium <rubidium@openttd.org>
parents:
11443
diff
changeset
|
592 y[3] = y[2] + h2 + over; |
9682
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
593 } |
ed50c006a790
(svn r13787) -Codechange: resize the red error message box if needed
smatz <smatz@openttd.org>
parents:
9659
diff
changeset
|
594 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
595 this->FindWindowPlacementAndResize(width, height); |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
596 } |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
597 |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
598 virtual void OnPaint() |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
599 { |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
600 CopyInDParam(0, this->decode_params, lengthof(this->decode_params)); |
9273
72a6d2e60834
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium <rubidium@openttd.org>
parents:
9272
diff
changeset
|
601 this->DrawWidgets(); |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
602 CopyInDParam(0, this->decode_params, lengthof(this->decode_params)); |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
603 |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
604 /* If the error message comes from a NewGRF, we must use the text ref. stack reserved for error messages. |
9272
22954a91c5aa
(svn r13138) -Codechange: remove the need for IsWindowOfPrototype.
rubidium <rubidium@openttd.org>
parents:
9265
diff
changeset
|
605 * If the message doesn't come from a NewGRF, it won't use the TTDP-style text ref. stack, so we won't hurt anything |
22954a91c5aa
(svn r13138) -Codechange: remove the need for IsWindowOfPrototype.
rubidium <rubidium@openttd.org>
parents:
9265
diff
changeset
|
606 */ |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
607 SwitchToErrorRefStack(); |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
608 RewindTextRefStack(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
609 |
10207
c54d140df948
(svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with.
rubidium <rubidium@openttd.org>
parents:
10201
diff
changeset
|
610 if (this->show_company_manager_face) { |
11922
0a4b63f3f3c3
(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)
smatz <smatz@openttd.org>
parents:
11865
diff
changeset
|
611 const Company *c = Company::Get((CompanyID)GetDParamX(this->decode_params, 2)); |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
612 DrawCompanyManagerFace(c->face, c->colour, this->widget[EMW_FACE].left, this->widget[EMW_FACE].top); |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
613 } |
7750
2df30880f88b
(svn r11287) -Codechange: add support for pushing paramaters into NewIndustries' error messages. Patch by Csaboka.
rubidium <rubidium@openttd.org>
parents:
7521
diff
changeset
|
614 |
11793
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
615 DrawStringMultiLine(this->widget[EMW_MESSAGE].left, this->widget[EMW_MESSAGE].right, y[2], y[3], this->message_2, TC_FROMSTRING, SA_CENTER); |
e11bc207c6e2
(svn r16183) -Fix [FS#2872]: wrong string alignment for error messages with face
rubidium <rubidium@openttd.org>
parents:
11792
diff
changeset
|
616 if (this->message_1 != INVALID_STRING_ID) DrawStringMultiLine(this->widget[EMW_MESSAGE].left, this->widget[EMW_MESSAGE].right, y[0], y[1], this->message_1, TC_FROMSTRING, SA_CENTER); |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
617 |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
618 /* Switch back to the normal text ref. stack for NewGRF texts */ |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
619 SwitchToNormalRefStack(); |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
620 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
621 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
622 virtual void OnMouseLoop() |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
623 { |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
624 /* Disallow closing the window too easily, if timeout is disabled */ |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
625 if (_right_button_down && this->duration != 0) delete this; |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
626 } |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
627 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
628 virtual void OnHundredthTick() |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
629 { |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
630 /* Timeout enabled? */ |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
631 if (this->duration != 0) { |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
632 this->duration--; |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
633 if (this->duration == 0) delete this; |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
634 } |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
635 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
636 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
637 ~ErrmsgWindow() |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
638 { |
10816
35b3e8e25590
(svn r15151) -Fix: tile 0 can now be highlighted as error tile
Yexo <Yexo@openttd.org>
parents:
10771
diff
changeset
|
639 SetRedErrorSquare(INVALID_TILE); |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
640 extern StringID _switch_mode_errorstr; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
641 _switch_mode_errorstr = INVALID_STRING_ID; |
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
642 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
643 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
644 virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
645 { |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
646 if (keycode != WKC_SPACE) return ES_NOT_HANDLED; |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
647 delete this; |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
648 return ES_HANDLED; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
649 } |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
650 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
651 |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
652 /** |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
653 * Display an error message in a window. |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
654 * @param msg_1 Detailed error message showed in second line. Can be INVALID_STRING_ID. |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
655 * @param msg_2 General error message showed in first line. Must be valid. |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
656 * @param x World X position (TileVirtX) of the error location. Set both x and y to 0 to just center the message when there is no related error tile. |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
657 * @param y World Y position (TileVirtY) of the error location. Set both x and y to 0 to just center the message when there is no related error tile. |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
658 * @param no_timeout Set to true, if the message is that important that it should not close automatically after some time. |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
659 */ |
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
660 void ShowErrorMessage(StringID msg_1, StringID msg_2, int x, int y, bool no_timeout) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
661 { |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
662 static Widget *generated_errmsg_widgets = NULL; |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
663 static Widget *generated_errmsg_face_widgets = NULL; |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
664 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
665 DeleteWindowById(WC_ERRMSG, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
666 |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
667 if (_settings_client.gui.errmsg_duration == 0 && !no_timeout) return; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
668 |
9265
746b863fafe6
(svn r13131) -Codechange: make a class of the ErrmsgWindow.
glx <glx@openttd.org>
parents:
9228
diff
changeset
|
669 if (msg_2 == STR_NULL) msg_2 = STR_EMPTY; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
670 |
8819
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
671 Point pt; |
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
672 const ViewPort *vp; |
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
673 |
11792
27fee64a19f0
(svn r16182) -Fix: hardcoded (old sized) MAX_COMPANIES constant
rubidium <rubidium@openttd.org>
parents:
11770
diff
changeset
|
674 if (msg_1 != STR_ERROR_OWNED_BY || GetDParam(2) >= MAX_COMPANIES) { |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
675 if ((x | y) != 0) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
676 pt = RemapCoords2(x, y); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
677 vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
678 |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
6197
diff
changeset
|
679 /* move x pos to opposite corner */ |
6626
f940341a80f0
(svn r9846) -Codechange: introduced ZOOM_LVL_MIN and ZOOM_LVL_MAX for the obvious reasons
truelight <truelight@openttd.org>
parents:
6492
diff
changeset
|
680 pt.x = UnScaleByZoom(pt.x - vp->virtual_left, vp->zoom) + vp->left; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
681 pt.x = (pt.x < (_screen.width >> 1)) ? _screen.width - 260 : 20; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
682 |
6201
3b141366478a
(svn r8987) -Cleanup: doxygen changes. Again. Mostly (still) @files missing tags and (more than just) a few comments style.
belugas <belugas@openttd.org>
parents:
6197
diff
changeset
|
683 /* move y pos to opposite corner */ |
6626
f940341a80f0
(svn r9846) -Codechange: introduced ZOOM_LVL_MIN and ZOOM_LVL_MAX for the obvious reasons
truelight <truelight@openttd.org>
parents:
6492
diff
changeset
|
684 pt.y = UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
685 pt.y = (pt.y < (_screen.height >> 1)) ? _screen.height - 80 : 100; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
686 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
687 } else { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
688 pt.x = (_screen.width - 240) >> 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
689 pt.y = (_screen.height - 46) >> 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
690 } |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
691 |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
692 const Widget *wid = InitializeWidgetArrayFromNestedWidgets(_nested_errmsg_widgets, lengthof(_nested_errmsg_widgets), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
693 _errmsg_widgets, &generated_errmsg_widgets); |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
694 new ErrmsgWindow(pt, 240, 46, msg_1, msg_2, wid, false, no_timeout); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
695 } else { |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
696 if ((x | y) != 0) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
697 pt = RemapCoords2(x, y); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
698 vp = FindWindowById(WC_MAIN_WINDOW, 0)->viewport; |
9693
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
699 pt.x = Clamp(UnScaleByZoom(pt.x - vp->virtual_left, vp->zoom) + vp->left - (334 / 2), 0, _screen.width - 334); |
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
700 pt.y = Clamp(UnScaleByZoom(pt.y - vp->virtual_top, vp->zoom) + vp->top - (137 / 2), 22, _screen.height - 137); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
701 } else { |
9693
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
702 pt.x = (_screen.width - 334) >> 1; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
703 pt.y = (_screen.height - 137) >> 1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
704 } |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
705 |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
706 const Widget *wid = InitializeWidgetArrayFromNestedWidgets(_nested_errmsg_face_widgets, lengthof(_nested_errmsg_face_widgets), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
707 _errmsg_face_widgets, &generated_errmsg_face_widgets); |
12008
066420f32d18
(svn r16414) -Change: Make it harder to ignore/close important error messages. Esp. do not close them automatically after some time.
frosch <frosch@openttd.org>
parents:
11972
diff
changeset
|
708 new ErrmsgWindow(pt, 334, 137, msg_1, msg_2, wid, true, no_timeout); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
709 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
710 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
711 |
6990
a19700261804
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
rubidium <rubidium@openttd.org>
parents:
6953
diff
changeset
|
712 void ShowEstimatedCostOrIncome(Money cost, int x, int y) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
713 { |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
714 StringID msg = STR_MESSAGE_ESTIMATED_COST; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
715 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
716 if (cost < 0) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
717 cost = -cost; |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
718 msg = STR_MESSAGE_ESTIMATED_INCOME; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
719 } |
7002
fa75522e0249
(svn r10258) -Codechange: as we are now using int64 all over the place, it's better to use int64 variables in the string generating too instead of packing them into two int32s.
rubidium <rubidium@openttd.org>
parents:
6998
diff
changeset
|
720 SetDParam(0, cost); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
721 ShowErrorMessage(INVALID_STRING_ID, msg, x, y); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
722 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
723 |
6990
a19700261804
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
rubidium <rubidium@openttd.org>
parents:
6953
diff
changeset
|
724 void ShowCostOrIncomeAnimation(int x, int y, int z, Money cost) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
725 { |
10642
29bc871ff8d1
(svn r14944) -Cleanup: add spaces around some operators
rubidium <rubidium@openttd.org>
parents:
10582
diff
changeset
|
726 Point pt = RemapCoords(x, y, z); |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
727 StringID msg = STR_INCOME_FLOAT_COST; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
728 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
729 if (cost < 0) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
730 cost = -cost; |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
731 msg = STR_INCOME_FLOAT_INCOME; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
732 } |
7002
fa75522e0249
(svn r10258) -Codechange: as we are now using int64 all over the place, it's better to use int64 variables in the string generating too instead of packing them into two int32s.
rubidium <rubidium@openttd.org>
parents:
6998
diff
changeset
|
733 SetDParam(0, cost); |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
734 AddTextEffect(msg, pt.x, pt.y, 0x250, TE_RISING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
735 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
736 |
6990
a19700261804
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
rubidium <rubidium@openttd.org>
parents:
6953
diff
changeset
|
737 void ShowFeederIncomeAnimation(int x, int y, int z, Money cost) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
738 { |
10642
29bc871ff8d1
(svn r14944) -Cleanup: add spaces around some operators
rubidium <rubidium@openttd.org>
parents:
10582
diff
changeset
|
739 Point pt = RemapCoords(x, y, z); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
740 |
7002
fa75522e0249
(svn r10258) -Codechange: as we are now using int64 all over the place, it's better to use int64 variables in the string generating too instead of packing them into two int32s.
rubidium <rubidium@openttd.org>
parents:
6998
diff
changeset
|
741 SetDParam(0, cost); |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
742 AddTextEffect(STR_FEEDER, pt.x, pt.y, 0x250, TE_RISING); |
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
743 } |
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
744 |
7014
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
745 TextEffectID ShowFillingPercent(int x, int y, int z, uint8 percent, StringID string) |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
746 { |
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
747 Point pt = RemapCoords(x, y, z); |
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
748 |
7014
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
749 assert(string != STR_NULL); |
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
750 |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
751 SetDParam(0, percent); |
7014
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
752 return AddTextEffect(string, pt.x, pt.y, 0xFFFF, TE_STATIC); |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
753 } |
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
754 |
7014
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
755 void UpdateFillingPercent(TextEffectID te_id, uint8 percent, StringID string) |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
756 { |
7014
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
757 assert(string != STR_NULL); |
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
758 |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
759 SetDParam(0, percent); |
7014
d03670858cef
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
truelight <truelight@openttd.org>
parents:
7007
diff
changeset
|
760 UpdateTextEffect(te_id, string); |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
761 } |
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
762 |
10176
71daf486081d
(svn r14371) -Fix [FS#2313]: loading indicator didn't stay with the front engine when turning a train in a station.
rubidium <rubidium@openttd.org>
parents:
10148
diff
changeset
|
763 void HideFillingPercent(TextEffectID *te_id) |
6998
13ea0d5f8acf
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
truelight <truelight@openttd.org>
parents:
6991
diff
changeset
|
764 { |
10176
71daf486081d
(svn r14371) -Fix [FS#2313]: loading indicator didn't stay with the front engine when turning a train in a station.
rubidium <rubidium@openttd.org>
parents:
10148
diff
changeset
|
765 if (*te_id == INVALID_TE_ID) return; |
71daf486081d
(svn r14371) -Fix [FS#2313]: loading indicator didn't stay with the front engine when turning a train in a station.
rubidium <rubidium@openttd.org>
parents:
10148
diff
changeset
|
766 |
71daf486081d
(svn r14371) -Fix [FS#2313]: loading indicator didn't stay with the front engine when turning a train in a station.
rubidium <rubidium@openttd.org>
parents:
10148
diff
changeset
|
767 RemoveTextEffect(*te_id); |
71daf486081d
(svn r14371) -Fix [FS#2313]: loading indicator didn't stay with the front engine when turning a train in a station.
rubidium <rubidium@openttd.org>
parents:
10148
diff
changeset
|
768 *te_id = INVALID_TE_ID; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
769 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
770 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
771 static const Widget _tooltips_widgets[] = { |
9752
617fc1c2d1db
(svn r13888) -Codechange: Replace numbers with Colours enum on miscellaneous guis.
belugas <belugas@openttd.org>
parents:
9714
diff
changeset
|
772 { WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 199, 0, 31, 0x0, STR_NULL}, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
773 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
774 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
775 |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
776 static const NWidgetPart _nested_tooltips_widgets[] = { |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
777 NWidget(WWT_PANEL, COLOUR_GREY, 0), SetMinimalSize(200, 32), EndContainer(), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
778 }; |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
779 |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
780 struct TooltipsWindow : public Window |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
781 { |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
782 StringID string_id; |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
783 byte paramcount; |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
784 uint64 params[5]; |
9781
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
785 bool use_left_mouse_button; |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
786 |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
787 TooltipsWindow(int x, int y, int width, int height, const Widget *widget, |
9781
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
788 StringID str, uint paramcount, const uint64 params[], bool use_left_mouse_button) : |
9301
686aa69d2fcd
(svn r13169) -Codechange: remove a (now) unneeded parameter of one of the Window constructors.
rubidium <rubidium@openttd.org>
parents:
9285
diff
changeset
|
789 Window(x, y, width, height, WC_TOOLTIPS, widget) |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
790 { |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
791 this->string_id = str; |
12927
950767ea4ee5
(svn r17420) -Codechange: replace assert() by assert_compile() where possible
smatz <smatz@openttd.org>
parents:
12878
diff
changeset
|
792 assert_compile(sizeof(this->params[0]) == sizeof(params[0])); |
10201
6b20fe326959
(svn r14414) -Fix: replace instances of strncpy with strecpy as strncpy doesn't guarantee the resulting string is '\0'-terminated.
rubidium <rubidium@openttd.org>
parents:
10176
diff
changeset
|
793 assert(paramcount <= lengthof(this->params)); |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
794 memcpy(this->params, params, sizeof(this->params[0]) * paramcount); |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
795 this->paramcount = paramcount; |
9781
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
796 this->use_left_mouse_button = use_left_mouse_button; |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
797 |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
798 this->flags4 &= ~WF_WHITE_BORDER_MASK; // remove white-border from tooltip |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
799 this->widget[0].right = width; |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
800 this->widget[0].bottom = height; |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
801 |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
802 FindWindowPlacementAndResize(width, height); |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
803 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
804 |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
805 virtual void OnPaint() |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
806 { |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
807 GfxFillRect(0, 0, this->width - 1, this->height - 1, 0); |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
808 GfxFillRect(1, 1, this->width - 2, this->height - 2, 0x44); |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
809 |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
810 for (uint arg = 0; arg < this->paramcount; arg++) { |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
811 SetDParam(arg, this->params[arg]); |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
812 } |
12811
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
813 DrawStringMultiLine(3, this->width - 3, 0, this->height, this->string_id, TC_FROMSTRING, SA_CENTER); |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
814 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
815 |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
816 virtual void OnMouseLoop() |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
817 { |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
818 /* We can show tooltips while dragging tools. These are shown as long as |
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
819 * we are dragging the tool. Normal tooltips work with rmb */ |
9781
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
820 if (this->use_left_mouse_button ? !_left_button_down : !_right_button_down) delete this; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
821 } |
9186
c5c545191a71
(svn r13049) -Codechange: make a class of the TooltipsWindow.
rubidium <rubidium@openttd.org>
parents:
9179
diff
changeset
|
822 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
823 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
824 /** Shows a tooltip |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
825 * @param str String to be displayed |
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
826 * @param paramcount number of params to deal with |
9781
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
827 * @param params (optional) up to 5 pieces of additional information that may be added to a tooltip |
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
828 * @param use_left_mouse_button close the tooltip when the left (true) or right (false) mousebutton is released |
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
829 */ |
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
830 void GuiShowTooltips(StringID str, uint paramcount, const uint64 params[], bool use_left_mouse_button) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
831 { |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
832 static Widget *generated_tooltips_widgets = NULL; |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
833 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
834 DeleteWindowById(WC_TOOLTIPS, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
835 |
9781
5ab8b1b156bb
(svn r13922) -Codechange: Move measurement-tooltip related stuff out of the general tooltip window.
frosch <frosch@openttd.org>
parents:
9752
diff
changeset
|
836 if (str == STR_NULL) return; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
837 |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
838 for (uint i = 0; i != paramcount; i++) SetDParam(i, params[i]); |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
839 char buffer[512]; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
840 GetString(buffer, str, lastof(buffer)); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
841 |
12811
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
842 Dimension br; |
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
843 br.width = min(GetStringBoundingBox(buffer).width, 194); |
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
844 br.height = GetStringHeight(str, br.width); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
845 |
12811
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
846 /* increase slightly to have some space around the box */ |
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
847 br.width += 6; |
e44c6514889f
(svn r17299) -Fix: the tooltip could get truncated under some circumstances due to its custom string height determination
rubidium <rubidium@openttd.org>
parents:
12789
diff
changeset
|
848 br.height += 4; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
849 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
850 /* Correctly position the tooltip position, watch out for window and cursor size |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
851 * Clamp value to below main toolbar and above statusbar. If tooltip would |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
852 * go below window, flip it so it is shown above the cursor */ |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
853 int y = Clamp(_cursor.pos.y + _cursor.size.y + _cursor.offs.y + 5, 22, _screen.height - 12); |
12262
fd3b92f848cc
(svn r16677) -Codechange: Dimension width and height are unsigned.
alberth <alberth@openttd.org>
parents:
12261
diff
changeset
|
854 if (y + (int)br.height > _screen.height - 12) y = _cursor.pos.y + _cursor.offs.y - (int)br.height - 5; |
fd3b92f848cc
(svn r16677) -Codechange: Dimension width and height are unsigned.
alberth <alberth@openttd.org>
parents:
12261
diff
changeset
|
855 int x = Clamp(_cursor.pos.x - (int)(br.width >> 1), 0, _screen.width - (int)br.width); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
856 |
11837
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
857 const Widget *wid = InitializeWidgetArrayFromNestedWidgets(_nested_tooltips_widgets, lengthof(_nested_tooltips_widgets), |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
858 _tooltips_widgets, &generated_tooltips_widgets); |
f32d9dd80187
(svn r16227) -Codechange: Added nested widgets for error windows, tooltip window, and dropdown window.
alberth <alberth@openttd.org>
parents:
11793
diff
changeset
|
859 new TooltipsWindow(x, y, br.width, br.height, wid, str, paramcount, params, use_left_mouse_button); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
860 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
861 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
862 |
12263
2af84c928595
(svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays.
frosch <frosch@openttd.org>
parents:
12262
diff
changeset
|
863 static int DrawStationCoverageText(const CargoArray &cargos, |
12365
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
864 int left, int right, int top, StationCoverageType sct, bool supplies) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
865 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
866 bool first = true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
867 |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
868 char string[512]; |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
869 char *b = InlineString(string, supplies ? STR_STATION_BUILD_SUPPLIES_CARGO : STR_STATION_BUILD_ACCEPTS_CARGO); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
870 |
7241
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
871 for (CargoID i = 0; i < NUM_CARGO; i++) { |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
872 if (b >= lastof(string) - (1 + 2 * 4)) break; // ',' or ' ' and two calls to Utf8Encode() |
7241
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
873 switch (sct) { |
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
874 case SCT_PASSENGERS_ONLY: if (!IsCargoInClass(i, CC_PASSENGERS)) continue; break; |
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
875 case SCT_NON_PASSENGERS_ONLY: if (IsCargoInClass(i, CC_PASSENGERS)) continue; break; |
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
876 case SCT_ALL: break; |
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
877 default: NOT_REACHED(); |
c40c1ad02f45
(svn r10522) -Fix: the "build truck station" GUI showed that it would accept tourists when it does not, whereas the "build bus station" GUI did not show them when it did accept them.
rubidium <rubidium@openttd.org>
parents:
7138
diff
changeset
|
878 } |
12261
c42d8d239142
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
frosch <frosch@openttd.org>
parents:
12244
diff
changeset
|
879 if (cargos[i] >= (supplies ? 1U : 8U)) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
880 if (first) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
881 first = false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
882 } else { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
883 /* Add a comma if this is not the first item */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
884 *b++ = ','; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
885 *b++ = ' '; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
886 } |
12415
6a77d1df56e2
(svn r16849) -Codechange: replace GetCargo() by CargoSpec::Get()
smatz <smatz@openttd.org>
parents:
12365
diff
changeset
|
887 b = InlineString(b, CargoSpec::Get(i)->name); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
888 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
889 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
890 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
891 /* If first is still true then no cargo is accepted */ |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
892 if (first) b = InlineString(b, STR_JUST_NOTHING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
893 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
894 *b = '\0'; |
8041
085c454f158b
(svn r11601) -Codechange: more strict break conditions for _userstring, assert when it overflows anyway (eg. code change without proper check change)
smatz <smatz@openttd.org>
parents:
8036
diff
changeset
|
895 |
085c454f158b
(svn r11601) -Codechange: more strict break conditions for _userstring, assert when it overflows anyway (eg. code change without proper check change)
smatz <smatz@openttd.org>
parents:
8036
diff
changeset
|
896 /* Make sure we detect any buffer overflow */ |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
897 assert(b < endof(string)); |
8041
085c454f158b
(svn r11601) -Codechange: more strict break conditions for _userstring, assert when it overflows anyway (eg. code change without proper check change)
smatz <smatz@openttd.org>
parents:
8036
diff
changeset
|
898 |
9648
b53049484e44
(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.
rubidium <rubidium@openttd.org>
parents:
9572
diff
changeset
|
899 SetDParamStr(0, string); |
12365
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
900 return DrawStringMultiLine(left, right, top, INT32_MAX, STR_JUST_RAW_STRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
901 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
902 |
8846
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
903 /** |
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
904 * Calculates and draws the accepted or supplied cargo around the selected tile(s) |
12365
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
905 * @param left x position where the string is to be drawn |
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
906 * @param right the right most position to draw on |
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
907 * @param top y position where the string is to be drawn |
8846
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
908 * @param sct which type of cargo is to be displayed (passengers/non-passengers) |
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
909 * @param rad radius around selected tile(s) to be searched |
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
910 * @param supplies if supplied cargos should be drawn, else accepted cargos |
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
911 * @return Returns the y value below the string that was drawn |
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
912 */ |
12365
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
913 int DrawStationCoverageAreaText(int left, int right, int top, StationCoverageType sct, int rad, bool supplies) |
7321
66202e2e042a
(svn r10684) -Codechange: some more coding style related changes. Primarily moving { to a new line.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
914 { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
915 TileIndex tile = TileVirtXY(_thd.pos.x, _thd.pos.y); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
916 if (tile < MapSize()) { |
12263
2af84c928595
(svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays.
frosch <frosch@openttd.org>
parents:
12262
diff
changeset
|
917 CargoArray cargos; |
8846
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
918 if (supplies) { |
12263
2af84c928595
(svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays.
frosch <frosch@openttd.org>
parents:
12262
diff
changeset
|
919 cargos = GetProductionAroundTiles(tile, _thd.size.x / TILE_SIZE, _thd.size.y / TILE_SIZE, rad); |
8846
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
920 } else { |
12263
2af84c928595
(svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays.
frosch <frosch@openttd.org>
parents:
12262
diff
changeset
|
921 cargos = GetAcceptanceAroundTiles(tile, _thd.size.x / TILE_SIZE, _thd.size.y / TILE_SIZE, rad); |
8846
838e1d6a0321
(svn r12596) -Feature: show what cargos a station could be supplied with. Patch by Roujin.
rubidium <rubidium@openttd.org>
parents:
8831
diff
changeset
|
922 } |
12365
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
923 return DrawStationCoverageText(cargos, left, right, top, sct, supplies); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
924 } |
8423
c9e5db937b31
(svn r11993) -Fix: Resize station/roadstop/dock/airport construction windows if cargo acceptance list is too long.
peter1138 <peter1138@openttd.org>
parents:
8349
diff
changeset
|
925 |
12365
a56923c27ba6
(svn r16789) -Codechange: unify the drawing of the Accepts/Supplies cargo lists in the station build windows.
yexo <yexo@openttd.org>
parents:
12263
diff
changeset
|
926 return top; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
927 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
928 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
929 void CheckRedrawStationCoverage(const Window *w) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
930 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
931 if (_thd.dirty & 1) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
932 _thd.dirty &= ~1; |
13027
c02d5e082def
(svn r17525) -Cleanup: Remove SetWindowDirty(), it is completely covered by other functions already.
frosch <frosch@openttd.org>
parents:
13008
diff
changeset
|
933 w->SetDirty(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
934 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
935 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
936 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
937 /* Delete a character at the caret position in a text buf. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
938 * If backspace is set, delete the character before the caret, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
939 * else delete the character after it. */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
940 static void DelChar(Textbuf *tb, bool backspace) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
941 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
942 WChar c; |
6214
0716cb7258dd
(svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset
Darkvater <Darkvater@openttd.org>
parents:
6211
diff
changeset
|
943 char *s = tb->buf + tb->caretpos; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
944 |
6214
0716cb7258dd
(svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset
Darkvater <Darkvater@openttd.org>
parents:
6211
diff
changeset
|
945 if (backspace) s = Utf8PrevChar(s); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
946 |
9390
45c874394355
(svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.
rubidium <rubidium@openttd.org>
parents:
9354
diff
changeset
|
947 uint16 len = (uint16)Utf8Decode(&c, s); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
948 uint width = GetCharacterWidth(FS_NORMAL, c); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
949 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
950 tb->width -= width; |
6214
0716cb7258dd
(svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset
Darkvater <Darkvater@openttd.org>
parents:
6211
diff
changeset
|
951 if (backspace) { |
0716cb7258dd
(svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset
Darkvater <Darkvater@openttd.org>
parents:
6211
diff
changeset
|
952 tb->caretpos -= len; |
0716cb7258dd
(svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset
Darkvater <Darkvater@openttd.org>
parents:
6211
diff
changeset
|
953 tb->caretxoffs -= width; |
0716cb7258dd
(svn r9011) -Codechange (r9003): Rework Utf8PrevChar so that it returns a pointer to the previous UTF8 character's first byte instead of a byte-length offset
Darkvater <Darkvater@openttd.org>
parents:
6211
diff
changeset
|
954 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
955 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
956 /* Move the remaining characters over the marker */ |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
957 memmove(s, s + len, tb->size - (s - tb->buf) - len); |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
958 tb->size -= len; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
959 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
960 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
961 /** |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
962 * Delete a character from a textbuffer, either with 'Delete' or 'Backspace' |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
963 * The character is delete from the position the caret is at |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
964 * @param tb Textbuf type to be changed |
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
965 * @param delmode Type of deletion, either WKC_BACKSPACE or WKC_DELETE |
7372
694c7b595661
(svn r10736) -Fix: Correct all mispellings of 'successful'.
peter1138 <peter1138@openttd.org>
parents:
7346
diff
changeset
|
966 * @return Return true on successful change of Textbuf, or false otherwise |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
967 */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
968 bool DeleteTextBufferChar(Textbuf *tb, int delmode) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
969 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
970 if (delmode == WKC_BACKSPACE && tb->caretpos != 0) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
971 DelChar(tb, true); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
972 return true; |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
973 } else if (delmode == WKC_DELETE && tb->caretpos < tb->size - 1) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
974 DelChar(tb, false); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
975 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
976 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
977 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
978 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
979 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
980 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
981 /** |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
982 * Delete every character in the textbuffer |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
983 * @param tb Textbuf buffer to be emptied |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
984 */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
985 void DeleteTextBufferAll(Textbuf *tb) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
986 { |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
987 memset(tb->buf, 0, tb->maxsize); |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
988 tb->size = 1; |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
989 tb->width = tb->caretpos = tb->caretxoffs = 0; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
990 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
991 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
992 /** |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
993 * Insert a character to a textbuffer. If maxwidth of the Textbuf is zero, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
994 * we don't care about the visual-length but only about the physical |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
995 * length of the string |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
996 * @param tb Textbuf type to be changed |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
997 * @param key Character to be inserted |
7372
694c7b595661
(svn r10736) -Fix: Correct all mispellings of 'successful'.
peter1138 <peter1138@openttd.org>
parents:
7346
diff
changeset
|
998 * @return Return true on successful change of Textbuf, or false otherwise |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
999 */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1000 bool InsertTextBufferChar(Textbuf *tb, WChar key) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1001 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1002 const byte charwidth = GetCharacterWidth(FS_NORMAL, key); |
9390
45c874394355
(svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.
rubidium <rubidium@openttd.org>
parents:
9354
diff
changeset
|
1003 uint16 len = (uint16)Utf8CharLen(key); |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1004 if (tb->size + len <= tb->maxsize && (tb->maxwidth == 0 || tb->width + charwidth <= tb->maxwidth)) { |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1005 memmove(tb->buf + tb->caretpos + len, tb->buf + tb->caretpos, tb->size - tb->caretpos); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1006 Utf8Encode(tb->buf + tb->caretpos, key); |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1007 tb->size += len; |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1008 tb->width += charwidth; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1009 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1010 tb->caretpos += len; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1011 tb->caretxoffs += charwidth; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1012 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1013 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1014 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1015 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1016 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1017 /** |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1018 * Handle text navigation with arrow keys left/right. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1019 * This defines where the caret will blink and the next characer interaction will occur |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
1020 * @param tb Textbuf type where navigation occurs |
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
1021 * @param navmode Direction in which navigation occurs WKC_LEFT, WKC_RIGHT, WKC_END, WKC_HOME |
7372
694c7b595661
(svn r10736) -Fix: Correct all mispellings of 'successful'.
peter1138 <peter1138@openttd.org>
parents:
7346
diff
changeset
|
1022 * @return Return true on successful change of Textbuf, or false otherwise |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1023 */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1024 bool MoveTextBufferPos(Textbuf *tb, int navmode) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1025 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1026 switch (navmode) { |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1027 case WKC_LEFT: |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1028 if (tb->caretpos != 0) { |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1029 WChar c; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1030 const char *s = Utf8PrevChar(tb->buf + tb->caretpos); |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1031 Utf8Decode(&c, s); |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1032 tb->caretpos = s - tb->buf; // -= (tb->buf + tb->caretpos - s) |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1033 tb->caretxoffs -= GetCharacterWidth(FS_NORMAL, c); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1034 |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1035 return true; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1036 } |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1037 break; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1038 |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1039 case WKC_RIGHT: |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1040 if (tb->caretpos < tb->size - 1) { |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1041 WChar c; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1042 |
9390
45c874394355
(svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.
rubidium <rubidium@openttd.org>
parents:
9354
diff
changeset
|
1043 tb->caretpos += (uint16)Utf8Decode(&c, tb->buf + tb->caretpos); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1044 tb->caretxoffs += GetCharacterWidth(FS_NORMAL, c); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1045 |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1046 return true; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1047 } |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1048 break; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1049 |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1050 case WKC_HOME: |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1051 tb->caretpos = 0; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1052 tb->caretxoffs = 0; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1053 return true; |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1054 |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1055 case WKC_END: |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1056 tb->caretpos = tb->size - 1; |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1057 tb->caretxoffs = tb->width; |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1058 return true; |
8819
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
1059 |
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
1060 default: |
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
1061 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1062 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1063 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1064 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1065 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1066 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1067 /** |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1068 * Initialize the textbuffer by supplying it the buffer to write into |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1069 * and the maximum length of this buffer |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
1070 * @param tb Textbuf type which is getting initialized |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1071 * @param buf the buffer that will be holding the data for input |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1072 * @param maxsize maximum size in bytes, including terminating '\0' |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1073 * @param maxwidth maximum length in pixels of this buffer. If reached, buffer |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1074 * cannot grow, even if maxsize would allow because there is space. Width |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1075 * of zero '0' means the buffer is only restricted by maxsize */ |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1076 void InitializeTextBuffer(Textbuf *tb, char *buf, uint16 maxsize, uint16 maxwidth) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1077 { |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1078 assert(maxsize != 0); |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1079 |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1080 tb->buf = buf; |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1081 tb->maxsize = maxsize; |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1082 tb->maxwidth = maxwidth; |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1083 tb->caret = true; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1084 UpdateTextBufferSize(tb); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1085 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1086 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1087 /** |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
1088 * Update Textbuf type with its actual physical character and screenlength |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1089 * Get the count of characters in the string as well as the width in pixels. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1090 * Useful when copying in a larger amount of text at once |
6481
85a1a79387a2
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas <belugas@openttd.org>
parents:
6453
diff
changeset
|
1091 * @param tb Textbuf type which length is calculated |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1092 */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1093 void UpdateTextBufferSize(Textbuf *tb) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1094 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1095 const char *buf = tb->buf; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1096 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1097 tb->width = 0; |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1098 tb->size = 1; // terminating zero |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1099 |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1100 WChar c; |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1101 while ((c = Utf8Consume(&buf)) != '\0') { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1102 tb->width += GetCharacterWidth(FS_NORMAL, c); |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1103 tb->size += Utf8CharLen(c); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1104 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1105 |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1106 assert(tb->size <= tb->maxsize); |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1107 |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1108 tb->caretpos = tb->size - 1; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1109 tb->caretxoffs = tb->width; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1110 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1111 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1112 bool HandleCaret(Textbuf *tb) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1113 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1114 /* caret changed? */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1115 bool b = !!(_caret_timer & 0x20); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1116 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1117 if (b != tb->caret) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1118 tb->caret = b; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1119 return true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1120 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1121 return false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1122 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1123 |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1124 bool QueryString::HasEditBoxFocus(const Window *w, int wid) const |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1125 { |
12103
eecff8281292
(svn r16516) -Codechange: Added click and drag handling for nested widgets.
alberth <alberth@openttd.org>
parents:
12080
diff
changeset
|
1126 if (w->IsWidgetGloballyFocused(wid)) return true; |
eecff8281292
(svn r16516) -Codechange: Added click and drag handling for nested widgets.
alberth <alberth@openttd.org>
parents:
12080
diff
changeset
|
1127 if (w->window_class != WC_OSK || _focused_window != w->parent) return false; |
eecff8281292
(svn r16516) -Codechange: Added click and drag handling for nested widgets.
alberth <alberth@openttd.org>
parents:
12080
diff
changeset
|
1128 return (w->parent->focused_widget != NULL && w->parent->focused_widget->type == WWT_EDITBOX) || |
eecff8281292
(svn r16516) -Codechange: Added click and drag handling for nested widgets.
alberth <alberth@openttd.org>
parents:
12080
diff
changeset
|
1129 (w->parent->nested_focus != NULL && w->parent->nested_focus->type == WWT_EDITBOX); |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1130 } |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1131 |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1132 HandleEditBoxResult QueryString::HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, Window::EventState &state) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1133 { |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1134 if (!QueryString::HasEditBoxFocus(w, wid)) return HEBR_NOT_FOCUSED; |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1135 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1136 state = Window::ES_HANDLED; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1137 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1138 switch (keycode) { |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1139 case WKC_ESC: return HEBR_CANCEL; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1140 |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1141 case WKC_RETURN: case WKC_NUM_ENTER: return HEBR_CONFIRM; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1142 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1143 case (WKC_CTRL | 'V'): |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1144 if (InsertTextBufferClipboard(&this->text)) w->SetWidgetDirty(wid); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1145 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1146 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1147 case (WKC_CTRL | 'U'): |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1148 DeleteTextBufferAll(&this->text); |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1149 w->SetWidgetDirty(wid); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1150 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1151 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1152 case WKC_BACKSPACE: case WKC_DELETE: |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1153 if (DeleteTextBufferChar(&this->text, keycode)) w->SetWidgetDirty(wid); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1154 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1155 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1156 case WKC_LEFT: case WKC_RIGHT: case WKC_END: case WKC_HOME: |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1157 if (MoveTextBufferPos(&this->text, keycode)) w->SetWidgetDirty(wid); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1158 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1159 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1160 default: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1161 if (IsValidChar(key, this->afilter)) { |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1162 if (InsertTextBufferChar(&this->text, key)) w->SetWidgetDirty(wid); |
11319
340c5c4473f7
(svn r15669) -Change: Key presses that are not handles by an input box are no longer marked as handled but given to other OnKeyPress handlers. This makes the global shortcuts like F1 work again when an input box is open.
yexo <yexo@openttd.org>
parents:
11256
diff
changeset
|
1163 } else { |
340c5c4473f7
(svn r15669) -Change: Key presses that are not handles by an input box are no longer marked as handled but given to other OnKeyPress handlers. This makes the global shortcuts like F1 work again when an input box is open.
yexo <yexo@openttd.org>
parents:
11256
diff
changeset
|
1164 state = Window::ES_NOT_HANDLED; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1165 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1166 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1167 |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1168 return HEBR_EDITING; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1169 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1170 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1171 void QueryString::HandleEditBox(Window *w, int wid) |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1172 { |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1173 if (HasEditBoxFocus(w, wid) && HandleCaret(&this->text)) { |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1174 w->SetWidgetDirty(wid); |
10934
76f750feb4fc
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
rubidium <rubidium@openttd.org>
parents:
10816
diff
changeset
|
1175 /* When we're not the OSK, notify 'our' OSK to redraw the widget, |
76f750feb4fc
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
rubidium <rubidium@openttd.org>
parents:
10816
diff
changeset
|
1176 * so the caret changes appropriately. */ |
76f750feb4fc
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
rubidium <rubidium@openttd.org>
parents:
10816
diff
changeset
|
1177 if (w->window_class != WC_OSK) { |
76f750feb4fc
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
rubidium <rubidium@openttd.org>
parents:
10816
diff
changeset
|
1178 Window *w_osk = FindWindowById(WC_OSK, 0); |
13169
1f44cefc7825
(svn r17674) -Codechange: replace SetDirty + OnInvalidateData with InvalidateData (which does the same). Also call InvalidateData in a few cases where that was actually meant.
rubidium <rubidium@openttd.org>
parents:
13163
diff
changeset
|
1179 if (w_osk != NULL && w_osk->parent == w) w_osk->InvalidateData(); |
10934
76f750feb4fc
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
rubidium <rubidium@openttd.org>
parents:
10816
diff
changeset
|
1180 } |
76f750feb4fc
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
rubidium <rubidium@openttd.org>
parents:
10816
diff
changeset
|
1181 } |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1182 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1183 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1184 void QueryString::DrawEditBox(Window *w, int wid) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1185 { |
13008
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1186 int left; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1187 int right; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1188 int top; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1189 int bottom; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1190 if (w->widget == NULL) { |
13072
75bd67594af2
(svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array.
alberth <alberth@openttd.org>
parents:
13063
diff
changeset
|
1191 const NWidgetBase *wi = w->GetWidget<NWidgetBase>(wid); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1192 |
13008
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1193 assert((wi->type & WWT_MASK) == WWT_EDITBOX); |
8737
b62e473a9029
(svn r12425) -Feature [FS#1846]: On Screen Keyboard for input fields so someone without a keyboard can enter text too. Patch by Dominik.
rubidium <rubidium@openttd.org>
parents:
8715
diff
changeset
|
1194 |
13008
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1195 left = wi->pos_x; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1196 right = wi->pos_x + wi->current_x - 1; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1197 top = wi->pos_y; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1198 bottom = wi->pos_y + wi->current_y - 1; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1199 } else { |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1200 const Widget *wi = &w->widget[wid]; |
5639
1b30f6b14a8a
(svn r8098) -Fix (r6964): For editboxen, always fill the background with black, and not only after a valid call to FillDrawPixelInfo. This solves some graphics glitches with background widget-colour showing through on frequent redraws.
Darkvater <Darkvater@openttd.org>
parents:
5596
diff
changeset
|
1201 |
13008
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1202 assert((wi->type & WWT_MASK) == WWT_EDITBOX); |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1203 |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1204 left = wi->left; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1205 right = wi->right; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1206 top = wi->top; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1207 bottom = wi->bottom; |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1208 } |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1209 |
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1210 GfxFillRect(left + 1, top + 1, right - 1, bottom - 1, 215); |
8819
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
1211 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1212 /* Limit the drawing of the string inside the widget boundaries */ |
13008
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1213 DrawPixelInfo dpi; |
13118
cf2b48d0ea33
(svn r17620) -Fix (r17502): edit box offsets were off. Now they're still off, but look (in my opinion) even better than before
rubidium <rubidium@openttd.org>
parents:
13096
diff
changeset
|
1214 if (!FillDrawPixelInfo(&dpi, left + WD_FRAMERECT_LEFT, top + WD_FRAMERECT_TOP, right - left - WD_FRAMERECT_RIGHT, bottom - top - WD_FRAMERECT_BOTTOM)) return; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1215 |
8819
98ec34b70edd
(svn r12565) -Cleanup: variable scope in misc\*.cpp
smatz <smatz@openttd.org>
parents:
8809
diff
changeset
|
1216 DrawPixelInfo *old_dpi = _cur_dpi; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1217 _cur_dpi = &dpi; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1218 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1219 /* We will take the current widget length as maximum width, with a small |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1220 * space reserved at the end for the caret to show */ |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1221 const Textbuf *tb = &this->text; |
13008
3abc6651764b
(svn r17502) -Codechange [FS#3184]: Extend QueryStringBaseWindow to support windows with nested widgets (by Terkhen with a few tweaks).
alberth <alberth@openttd.org>
parents:
12946
diff
changeset
|
1222 int delta = min(0, (right - left) - tb->width - 10); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1223 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1224 if (tb->caretxoffs + delta < 0) delta = -tb->caretxoffs; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1225 |
11436
caf4456fbbf3
(svn r15794) -Codechange: remove the DoDrawString part of the old text drawing API
rubidium <rubidium@openttd.org>
parents:
11429
diff
changeset
|
1226 DrawString(delta, tb->width, 0, tb->buf, TC_YELLOW); |
11482
684bb10eddfc
(svn r15843) -Codechange: with RTL the caret would always be drawn at the end of the textbox.
rubidium <rubidium@openttd.org>
parents:
11480
diff
changeset
|
1227 if (HasEditBoxFocus(w, wid) && tb->caret) { |
684bb10eddfc
(svn r15843) -Codechange: with RTL the caret would always be drawn at the end of the textbox.
rubidium <rubidium@openttd.org>
parents:
11480
diff
changeset
|
1228 int caret_width = GetStringBoundingBox("_").width; |
684bb10eddfc
(svn r15843) -Codechange: with RTL the caret would always be drawn at the end of the textbox.
rubidium <rubidium@openttd.org>
parents:
11480
diff
changeset
|
1229 DrawString(tb->caretxoffs + delta, tb->caretxoffs + delta + caret_width, 0, "_", TC_WHITE); |
684bb10eddfc
(svn r15843) -Codechange: with RTL the caret would always be drawn at the end of the textbox.
rubidium <rubidium@openttd.org>
parents:
11480
diff
changeset
|
1230 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1231 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1232 _cur_dpi = old_dpi; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1233 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1234 |
10563
2271e0ee2758
(svn r14820) -Codechange: use (the correct) enum-type instead of just int (Zuu)
rubidium <rubidium@openttd.org>
parents:
10547
diff
changeset
|
1235 HandleEditBoxResult QueryStringBaseWindow::HandleEditBoxKey(int wid, uint16 key, uint16 keycode, EventState &state) |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1236 { |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1237 return this->QueryString::HandleEditBoxKey(this, wid, key, keycode, state); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1238 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1239 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1240 void QueryStringBaseWindow::HandleEditBox(int wid) |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1241 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1242 this->QueryString::HandleEditBox(this, wid); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1243 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1244 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1245 void QueryStringBaseWindow::DrawEditBox(int wid) |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1246 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1247 this->QueryString::DrawEditBox(this, wid); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1248 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1249 |
10547
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1250 void QueryStringBaseWindow::OnOpenOSKWindow(int wid) |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1251 { |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1252 ShowOnScreenKeyboard(this, wid, 0, 0); |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1253 } |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1254 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1255 enum QueryStringWidgets { |
11652
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1256 QUERY_STR_WIDGET_CLOSEBOX, |
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1257 QUERY_STR_WIDGET_CAPTION, |
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1258 QUERY_STR_WIDGET_BACKGROUND, |
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1259 QUERY_STR_WIDGET_TEXT, |
10148
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1260 QUERY_STR_WIDGET_DEFAULT, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1261 QUERY_STR_WIDGET_CANCEL, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1262 QUERY_STR_WIDGET_OK |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1263 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1264 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1265 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1266 struct QueryStringWindow : public QueryStringBaseWindow |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1267 { |
9916
fa925e28f10e
(svn r14069) -Fix: silence MSVC 64-bits compile warnings.
rubidium <rubidium@openttd.org>
parents:
9897
diff
changeset
|
1268 QueryStringWindow(uint16 size, const WindowDesc *desc, Window *parent) : QueryStringBaseWindow(size, desc) |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1269 { |
9226
843042b3278b
(svn r13092) -Fix (r13042): don't add a variable in a subclass when the parent class already have it
glx <glx@openttd.org>
parents:
9186
diff
changeset
|
1270 this->parent = parent; |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1271 this->SetFocusedWidget(QUERY_STR_WIDGET_TEXT); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1272 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1273 this->FindWindowPlacementAndResize(desc); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1274 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1275 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1276 virtual void OnPaint() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1277 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1278 SetDParam(0, this->caption); |
9273
72a6d2e60834
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium <rubidium@openttd.org>
parents:
9272
diff
changeset
|
1279 this->DrawWidgets(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1280 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1281 this->DrawEditBox(QUERY_STR_WIDGET_TEXT); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1282 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1283 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1284 void OnOk() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1285 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1286 if (this->orig == NULL || strcmp(this->text.buf, this->orig) != 0) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1287 /* If the parent is NULL, the editbox is handled by general function |
9693
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
1288 * HandleOnEditText */ |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1289 if (this->parent != NULL) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1290 this->parent->OnQueryTextFinished(this->text.buf); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1291 } else { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1292 HandleOnEditText(this->text.buf); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1293 } |
9228
68f81f013069
(svn r13094) -Fix: closing the QueryWindow would always send a 'query has been cancelled message' even when it was not cancelled causing joining passworded servers/companies to fail.
rubidium <rubidium@openttd.org>
parents:
9227
diff
changeset
|
1294 this->handled = true; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1295 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1296 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1297 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1298 virtual void OnClick(Point pt, int widget) |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1299 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1300 switch (widget) { |
10148
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1301 case QUERY_STR_WIDGET_DEFAULT: |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1302 this->text.buf[0] = '\0'; |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1303 /* Fallthrough */ |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1304 case QUERY_STR_WIDGET_OK: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1305 this->OnOk(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1306 /* Fallthrough */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1307 case QUERY_STR_WIDGET_CANCEL: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1308 delete this; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1309 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1310 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1311 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1312 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1313 virtual void OnMouseLoop() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1314 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1315 this->HandleEditBox(QUERY_STR_WIDGET_TEXT); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1316 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1317 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1318 virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1319 { |
11319
340c5c4473f7
(svn r15669) -Change: Key presses that are not handles by an input box are no longer marked as handled but given to other OnKeyPress handlers. This makes the global shortcuts like F1 work again when an input box is open.
yexo <yexo@openttd.org>
parents:
11256
diff
changeset
|
1320 EventState state = ES_NOT_HANDLED; |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1321 switch (this->HandleEditBoxKey(QUERY_STR_WIDGET_TEXT, key, keycode, state)) { |
9399
617011acf06f
(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
smatz <smatz@openttd.org>
parents:
9394
diff
changeset
|
1322 default: NOT_REACHED(); |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1323 case HEBR_EDITING: { |
9399
617011acf06f
(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
smatz <smatz@openttd.org>
parents:
9394
diff
changeset
|
1324 Window *osk = FindWindowById(WC_OSK, 0); |
13169
1f44cefc7825
(svn r17674) -Codechange: replace SetDirty + OnInvalidateData with InvalidateData (which does the same). Also call InvalidateData in a few cases where that was actually meant.
rubidium <rubidium@openttd.org>
parents:
13163
diff
changeset
|
1325 if (osk != NULL && osk->parent == this) osk->InvalidateData(); |
9399
617011acf06f
(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
smatz <smatz@openttd.org>
parents:
9394
diff
changeset
|
1326 } break; |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1327 case HEBR_CONFIRM: this->OnOk(); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1328 /* FALL THROUGH */ |
10295
7ebf43f7c36b
(svn r14534) -Codechange [FS#2382]: Enumify magic return values of HandleEditBox function (Zuu)
glx <glx@openttd.org>
parents:
10276
diff
changeset
|
1329 case HEBR_CANCEL: delete this; break; // close window, abandon changes |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1330 case HEBR_NOT_FOCUSED: break; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1331 } |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1332 return state; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1333 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1334 |
10547
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1335 virtual void OnOpenOSKWindow(int wid) |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1336 { |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1337 ShowOnScreenKeyboard(this, wid, QUERY_STR_WIDGET_CANCEL, QUERY_STR_WIDGET_OK); |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1338 } |
0b7be1ee92c5
(svn r14804) -Codechange: unify opening the OSK (Zuu)
rubidium <rubidium@openttd.org>
parents:
10533
diff
changeset
|
1339 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1340 ~QueryStringWindow() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1341 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1342 if (!this->handled && this->parent != NULL) { |
9393
aeff7240b474
(svn r13304) -Fix (r13042): possible double free (showed up in r13092)
smatz <smatz@openttd.org>
parents:
9390
diff
changeset
|
1343 Window *parent = this->parent; |
aeff7240b474
(svn r13304) -Fix (r13042): possible double free (showed up in r13092)
smatz <smatz@openttd.org>
parents:
9390
diff
changeset
|
1344 this->parent = NULL; // so parent doesn't try to delete us again |
aeff7240b474
(svn r13304) -Fix (r13042): possible double free (showed up in r13092)
smatz <smatz@openttd.org>
parents:
9390
diff
changeset
|
1345 parent->OnQueryTextFinished(NULL); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1346 } |
9166
45b1388fe9ba
(svn r13029) -Codechange: more work in the road to getting the WP macros and byte[WINDOW_CUSTOM_SIZE] removed. This step changes the event handling to work directly on the Window class instead of via a function pointer and big switches while keeping backward compatability while we're rewriting the Windows to the new scheme.
rubidium <rubidium@openttd.org>
parents:
9164
diff
changeset
|
1347 } |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1348 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1349 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1350 static const Widget _query_string_widgets[] = { |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1351 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_BLACK_CROSS, STR_TOOLTIP_CLOSE_WINDOW}, // QUERY_STR_WIDGET_CLOSEBOX |
12821
9c5779a4ca5d
(svn r17311) -Change: rename STR_WHITE_STRINGN to STR_WHITE_STRING
yexo <yexo@openttd.org>
parents:
12820
diff
changeset
|
1352 { WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 259, 0, 13, STR_WHITE_STRING, STR_NULL}, // QUERY_STR_WIDGET_CAPTION |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1353 { WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 259, 14, 29, 0x0, STR_NULL}, // QUERY_STR_WIDGET_BACKGROUND |
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1354 { WWT_EDITBOX, RESIZE_NONE, COLOUR_GREY, 2, 257, 16, 27, 0x0, STR_NULL}, // QUERY_STR_WIDGET_TEXT |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1355 { WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 86, 30, 41, STR_BUTTON_DEFAULT, STR_NULL}, // QUERY_STR_WIDGET_DEFAULT |
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1356 { WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 87, 172, 30, 41, STR_BUTTON_CANCEL, STR_NULL}, // QUERY_STR_WIDGET_CANCEL |
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1357 { WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 173, 259, 30, 41, STR_BUTTON_OK, STR_NULL}, // QUERY_STR_WIDGET_OK |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1358 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1359 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1360 |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1361 static const NWidgetPart _nested_query_string_widgets[] = { |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1362 NWidget(NWID_HORIZONTAL), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1363 NWidget(WWT_CLOSEBOX, COLOUR_GREY, QUERY_STR_WIDGET_CLOSEBOX), |
12821
9c5779a4ca5d
(svn r17311) -Change: rename STR_WHITE_STRINGN to STR_WHITE_STRING
yexo <yexo@openttd.org>
parents:
12820
diff
changeset
|
1364 NWidget(WWT_CAPTION, COLOUR_GREY, QUERY_STR_WIDGET_CAPTION), SetDataTip(STR_WHITE_STRING, STR_NULL), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1365 EndContainer(), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1366 NWidget(WWT_PANEL, COLOUR_GREY, QUERY_STR_WIDGET_BACKGROUND), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1367 NWidget(WWT_EDITBOX, COLOUR_GREY, QUERY_STR_WIDGET_TEXT), SetMinimalSize(256, 12), SetPadding(2, 2, 2, 2), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1368 EndContainer(), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1369 NWidget(NWID_HORIZONTAL), |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1370 NWidget(WWT_TEXTBTN, COLOUR_GREY, QUERY_STR_WIDGET_DEFAULT), SetMinimalSize(87, 12), SetDataTip(STR_BUTTON_DEFAULT, STR_NULL), |
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1371 NWidget(WWT_TEXTBTN, COLOUR_GREY, QUERY_STR_WIDGET_CANCEL), SetMinimalSize(86, 12), SetDataTip(STR_BUTTON_CANCEL, STR_NULL), |
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1372 NWidget(WWT_TEXTBTN, COLOUR_GREY, QUERY_STR_WIDGET_OK), SetMinimalSize(87, 12), SetDataTip(STR_BUTTON_OK, STR_NULL), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1373 EndContainer(), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1374 }; |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1375 |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
1376 static const WindowDesc _query_string_desc( |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7321
diff
changeset
|
1377 190, 219, 260, 42, 260, 42, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5750
diff
changeset
|
1378 WC_QUERY_STRING, WC_NONE, |
8019
9e262ce81acf
(svn r11579) -Revert(r11578): some cases of key propagation are not handled correctly.
belugas <belugas@openttd.org>
parents:
8018
diff
changeset
|
1379 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1380 _query_string_widgets, _nested_query_string_widgets, lengthof(_nested_query_string_widgets) |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
1381 ); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1382 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1383 /** Show a query popup window with a textbox in it. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1384 * @param str StringID for the text shown in the textbox |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1385 * @param caption StringID of text shown in caption of querywindow |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1386 * @param maxsize maximum size in bytes (including terminating '\0') |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1387 * @param maxwidth maximum width in pixels allowed |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1388 * @param parent pointer to a Window that will handle the events (ok/cancel) of this |
9314
93a764ca7ec7
(svn r13182) -Doc: add documentation to mostly rail_gui related functions. Patch by Alberth.
rubidium <rubidium@openttd.org>
parents:
9301
diff
changeset
|
1389 * window. If NULL, results are handled by global function HandleOnEditText |
10145
dbe302da93a8
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz <smatz@openttd.org>
parents:
10039
diff
changeset
|
1390 * @param afilter filters out unwanted character input |
dbe302da93a8
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz <smatz@openttd.org>
parents:
10039
diff
changeset
|
1391 * @param flags various flags, @see QueryStringFlags |
dbe302da93a8
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz <smatz@openttd.org>
parents:
10039
diff
changeset
|
1392 */ |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1393 void ShowQueryString(StringID str, StringID caption, uint maxsize, uint maxwidth, Window *parent, CharSetFilter afilter, QueryStringFlags flags) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1394 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1395 DeleteWindowById(WC_QUERY_STRING, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1396 |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1397 QueryStringWindow *w = new QueryStringWindow(maxsize, &_query_string_desc, parent); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1398 |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1399 GetString(w->edit_str_buf, str, &w->edit_str_buf[maxsize - 1]); |
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1400 w->edit_str_buf[maxsize - 1] = '\0'; |
9897
5b558ce6cb0e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium <rubidium@openttd.org>
parents:
9790
diff
changeset
|
1401 |
10145
dbe302da93a8
(svn r14331) -Codechange: use an enum as additional parameter for ShowQueryString()
smatz <smatz@openttd.org>
parents:
10039
diff
changeset
|
1402 if ((flags & QSF_ACCEPT_UNCHANGED) == 0) w->orig = strdup(w->edit_str_buf); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1403 |
10148
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1404 if ((flags & QSF_ENABLE_DEFAULT) == 0) { |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1405 /* without the "Default" button, make "Cancel" and "OK" buttons wider */ |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1406 w->SetWidgetHiddenState(QUERY_STR_WIDGET_DEFAULT, true); |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1407 w->widget[QUERY_STR_WIDGET_CANCEL].left = 0; |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1408 w->widget[QUERY_STR_WIDGET_CANCEL].right = w->width / 2 - 1; |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1409 w->widget[QUERY_STR_WIDGET_OK].left = w->width / 2; |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1410 w->widget[QUERY_STR_WIDGET_OK].right = w->width - 1; |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1411 } |
81642658c8be
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
smatz <smatz@openttd.org>
parents:
10145
diff
changeset
|
1412 |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
1413 w->LowerWidget(QUERY_STR_WIDGET_TEXT); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1414 w->caption = caption; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1415 w->afilter = afilter; |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1416 InitializeTextBuffer(&w->text, w->edit_str_buf, maxsize, maxwidth); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1417 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1418 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1419 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1420 enum QueryWidgets { |
11652
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1421 QUERY_WIDGET_CLOSEBOX, |
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1422 QUERY_WIDGET_CAPTION, |
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1423 QUERY_WIDGET_BACKGROUND, |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1424 QUERY_WIDGET_TEXT, |
11652
f175ab1cccea
(svn r16032) -Codechange: Completing widget numbers of query windows.
alberth <alberth@openttd.org>
parents:
11644
diff
changeset
|
1425 QUERY_WIDGET_NO, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1426 QUERY_WIDGET_YES |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1427 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1428 |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1429 /** |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1430 * Window used for asking the user a YES/NO question. |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1431 */ |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1432 struct QueryWindow : public Window { |
9319
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1433 QueryCallbackProc *proc; ///< callback function executed on closing of popup. Window* points to parent, bool is true if 'yes' clicked, false otherwise |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1434 uint64 params[10]; ///< local copy of _decode_parameters |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1435 StringID message; ///< message shown for query window |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1436 StringID caption; ///< title of window |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1437 |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1438 QueryWindow(const WindowDesc *desc, StringID caption, StringID message, Window *parent, QueryCallbackProc *callback) : Window() |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1439 { |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1440 /* Create a backup of the variadic arguments to strings because it will be |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1441 * overridden pretty often. We will copy these back for drawing */ |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1442 CopyOutDParam(this->params, 0, lengthof(this->params)); |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1443 this->caption = caption; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1444 this->message = message; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1445 this->proc = callback; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1446 |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1447 this->InitNested(desc); |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1448 |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1449 if (parent == NULL) parent = FindWindowById(WC_MAIN_WINDOW, 0); |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1450 this->parent = parent; |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1451 this->left = parent->left + (parent->width / 2) - (this->width / 2); |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1452 this->top = parent->top + (parent->height / 2) - (this->height / 2); |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1453 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1454 |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1455 ~QueryWindow() |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1456 { |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1457 if (this->proc != NULL) this->proc(this->parent, false); |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1458 } |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1459 |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1460 virtual void SetStringParameters(int widget) const |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1461 { |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1462 switch (widget) { |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1463 case QUERY_WIDGET_CAPTION: |
13174
cd71f89cd87f
(svn r17681) -Fix [FS#3248] (r17668): crash when the caption of the query window used parameters
rubidium <rubidium@openttd.org>
parents:
13169
diff
changeset
|
1464 CopyInDParam(1, this->params, lengthof(this->params)); |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1465 SetDParam(0, this->caption); |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1466 break; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1467 |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1468 case QUERY_WIDGET_TEXT: |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1469 CopyInDParam(0, this->params, lengthof(this->params)); |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1470 break; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1471 } |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1472 } |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1473 |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1474 virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *resize) |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1475 { |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1476 if (widget != QUERY_WIDGET_TEXT) return; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1477 |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1478 Dimension d = GetStringMultiLineBoundingBox(this->message, *size); |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1479 d.width += padding.width; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1480 d.height += padding.height; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1481 *size = d; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1482 } |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1483 |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1484 virtual void DrawWidget(const Rect &r, int widget) const |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1485 { |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1486 if (widget != QUERY_WIDGET_TEXT) return; |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1487 |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1488 DrawStringMultiLine(r.left, r.right, r.top, r.bottom, this->message, TC_FROMSTRING, SA_CENTER); |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1489 } |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1490 |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1491 virtual void OnPaint() |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1492 { |
9273
72a6d2e60834
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium <rubidium@openttd.org>
parents:
9272
diff
changeset
|
1493 this->DrawWidgets(); |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1494 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1495 |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1496 virtual void OnClick(Point pt, int widget) |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1497 { |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1498 switch (widget) { |
9319
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1499 case QUERY_WIDGET_YES: { |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1500 /* in the Generate New World window, clicking 'Yes' causes |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1501 * DeleteNonVitalWindows() to be called - we shouldn't be in a window then */ |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1502 QueryCallbackProc *proc = this->proc; |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1503 Window *parent = this->parent; |
9394
f62de1e2ea9a
(svn r13305) -Fix (r13039): Confirmation window sent both yes and no answers instead of just yes.
peter1138 <peter1138@openttd.org>
parents:
9393
diff
changeset
|
1504 /* Prevent the destructor calling the callback function */ |
f62de1e2ea9a
(svn r13305) -Fix (r13039): Confirmation window sent both yes and no answers instead of just yes.
peter1138 <peter1138@openttd.org>
parents:
9393
diff
changeset
|
1505 this->proc = NULL; |
9319
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1506 delete this; |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1507 if (proc != NULL) { |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1508 proc(parent, true); |
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1509 proc = NULL; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1510 } |
9319
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1511 } break; |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1512 case QUERY_WIDGET_NO: |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1513 delete this; |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1514 break; |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1515 } |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1516 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1517 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1518 virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1519 { |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1520 /* ESC closes the window, Enter confirms the action */ |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1521 switch (keycode) { |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1522 case WKC_RETURN: |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1523 case WKC_NUM_ENTER: |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1524 if (this->proc != NULL) { |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1525 this->proc(this->parent, true); |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1526 this->proc = NULL; |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1527 } |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1528 /* Fallthrough */ |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1529 case WKC_ESC: |
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1530 delete this; |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1531 return ES_HANDLED; |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1532 } |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1533 return ES_NOT_HANDLED; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1534 } |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1535 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1536 |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1537 static const NWidgetPart _nested_query_widgets[] = { |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1538 NWidget(NWID_HORIZONTAL), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1539 NWidget(WWT_CLOSEBOX, COLOUR_RED, QUERY_WIDGET_CLOSEBOX), |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1540 NWidget(WWT_CAPTION, COLOUR_RED, QUERY_WIDGET_CAPTION), SetDataTip(STR_JUST_STRING, STR_NULL), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1541 EndContainer(), |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1542 NWidget(WWT_PANEL, COLOUR_RED, QUERY_WIDGET_BACKGROUND), SetPIP(8, 15, 8), |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1543 NWidget(WWT_TEXT, COLOUR_RED, QUERY_WIDGET_TEXT), SetMinimalSize(200, 12), |
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1544 NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(20, 29, 20), |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1545 NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, QUERY_WIDGET_NO), SetMinimalSize(71, 12), SetDataTip(STR_QUIT_NO, STR_NULL), |
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1546 NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, QUERY_WIDGET_YES), SetMinimalSize(71, 12), SetDataTip(STR_QUIT_YES, STR_NULL), |
11653
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1547 EndContainer(), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1548 EndContainer(), |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1549 }; |
50cfe1ce7e28
(svn r16033) -Codechange: Added nested widgets to about window, land-info window, and both query windows.
alberth <alberth@openttd.org>
parents:
11652
diff
changeset
|
1550 |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
1551 static const WindowDesc _query_desc( |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7321
diff
changeset
|
1552 WDP_CENTER, WDP_CENTER, 210, 82, 210, 82, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5750
diff
changeset
|
1553 WC_CONFIRM_POPUP_QUERY, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1554 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_DEF_WIDGET | WDF_MODAL, |
13163
3f7aeb884dcf
(svn r17668) -Codechange: Query window uses nested widgets
yexo <yexo@openttd.org>
parents:
13118
diff
changeset
|
1555 NULL, _nested_query_widgets, lengthof(_nested_query_widgets) |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
1556 ); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1557 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1558 /** Show a modal confirmation window with standard 'yes' and 'no' buttons |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1559 * The window is aligned to the centre of its parent. |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1560 * @param caption string shown as window caption |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1561 * @param message string that will be shown for the window |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1562 * @param parent pointer to parent window, if this pointer is NULL the parent becomes |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1563 * the main window WC_MAIN_WINDOW |
9693
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
1564 * @param callback callback function pointer to set in the window descriptor |
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
1565 */ |
9319
7c3d6f855380
(svn r13191) -Fix: segfault after confirming query subwindow in the Generate New World window
smatz <smatz@openttd.org>
parents:
9317
diff
changeset
|
1566 void ShowQuery(StringID caption, StringID message, Window *parent, QueryCallbackProc *callback) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1567 { |
9176
0f495f0a0c53
(svn r13039) -Codechange: make a class of the Query window.
rubidium <rubidium@openttd.org>
parents:
9170
diff
changeset
|
1568 new QueryWindow(&_query_desc, caption, message, parent, callback); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1569 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1570 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1571 |
11862
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1572 enum SaveLoadWindowWidgets { |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1573 SLWW_CLOSE = 0, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1574 SLWW_WINDOWTITLE, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1575 SLWW_SORT_BYNAME, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1576 SLWW_SORT_BYDATE, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1577 SLWW_BACKGROUND, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1578 SLWW_FILE_BACKGROUND, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1579 SLWW_HOME_BUTTON, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1580 SLWW_DRIVES_DIRECTORIES_LIST, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1581 SLWW_SCROLLBAR, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1582 SLWW_CONTENT_DOWNLOAD, ///< only available for play scenario/heightmap (content download) |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1583 SLWW_SAVE_OSK_TITLE, ///< only available for save operations |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1584 SLWW_DELETE_SELECTION, ///< same in here |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1585 SLWW_SAVE_GAME, ///< not to mention in here too |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1586 SLWW_RESIZE, |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1587 }; |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1588 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1589 static const Widget _load_dialog_widgets[] = { |
11862
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1590 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_BLACK_CROSS, STR_TOOLTIP_CLOSE_WINDOW}, // SLWW_CLOSE |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1591 { WWT_CAPTION, RESIZE_RIGHT, COLOUR_GREY, 11, 256, 0, 13, STR_NULL, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS}, // SLWW_WINDOWTITLE |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1592 { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 127, 14, 25, STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER}, // SLWW_SORT_BYNAME |
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1593 { WWT_PUSHTXTBTN, RESIZE_RIGHT, COLOUR_GREY, 128, 256, 14, 25, STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER}, // SLWW_SORT_BYDATE |
11862
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1594 { WWT_PANEL, RESIZE_RIGHT, COLOUR_GREY, 0, 256, 26, 47, 0x0, STR_NULL}, // SLWW_BACKGROUND |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1595 { WWT_PANEL, RESIZE_RB, COLOUR_GREY, 0, 256, 48, 153, 0x0, STR_NULL}, // SLWW_FILE_BACKGROUND |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1596 { WWT_PUSHIMGBTN, RESIZE_LR, COLOUR_GREY, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON}, // SLWW_HOME_BUTTON |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1597 { WWT_INSET, RESIZE_RB, COLOUR_GREY, 2, 243, 50, 139, 0x0, STR_SAVELOAD_LIST_TOOLTIP}, // SLWW_DRIVES_DIRECTORIES_LIST |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1598 { WWT_SCROLLBAR, RESIZE_LRB, COLOUR_GREY, 245, 256, 60, 141, 0x0, STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST}, // SLWW_SCROLLBAR |
12619
2f530108f787
(svn r17062) -Change: unify the naming of some 125 strings
rubidium <rubidium@openttd.org>
parents:
12452
diff
changeset
|
1599 { WWT_PUSHTXTBTN, RESIZE_RTB, COLOUR_GREY, 0, 244, 142, 153, STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT}, // SLWW_CONTENT_DOWNLOAD |
11863
b45a70470b2d
(svn r16257) -Codechange: Added empty widgets in load dialogue to move the resize box to the right place in the array.
alberth <alberth@openttd.org>
parents:
11862
diff
changeset
|
1600 { WWT_EMPTY, RESIZE_NONE, COLOUR_GREY, 0, 0, 0, 0, 0x0, STR_NULL}, // SLWW_SAVE_OSK_TITLE |
b45a70470b2d
(svn r16257) -Codechange: Added empty widgets in load dialogue to move the resize box to the right place in the array.
alberth <alberth@openttd.org>
parents:
11862
diff
changeset
|
1601 { WWT_EMPTY, RESIZE_NONE, COLOUR_GREY, 0, 0, 0, 0, 0x0, STR_NULL}, // SLWW_DELETE_SELECTION |
b45a70470b2d
(svn r16257) -Codechange: Added empty widgets in load dialogue to move the resize box to the right place in the array.
alberth <alberth@openttd.org>
parents:
11862
diff
changeset
|
1602 { WWT_EMPTY, RESIZE_NONE, COLOUR_GREY, 0, 0, 0, 0, 0x0, STR_NULL}, // SLWW_SAVE_GAME |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1603 { WWT_RESIZEBOX, RESIZE_LRTB, COLOUR_GREY, 245, 256, 142, 153, 0x0, STR_TOOLTIP_RESIZE}, // SLWW_RESIZE |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1604 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1605 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1606 |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1607 static const NWidgetPart _nested_load_dialog_widgets[] = { |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1608 NWidget(NWID_LAYERED), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1609 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1610 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1611 NWidget(WWT_CLOSEBOX, COLOUR_GREY, SLWW_CLOSE), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1612 NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1613 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1614 NWidget(NWID_HORIZONTAL), |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1615 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetMinimalSize(128, 12), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), |
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1616 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetMinimalSize(129, 12), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetResize(1, 0), |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1617 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1618 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetMinimalSize(257, 22), SetResize(1, 0), EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1619 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1620 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1621 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1622 NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetMinimalSize(242, 90), SetPadding(2, 1, 2, 2), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1623 SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(2, 10), EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1624 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_CONTENT_DOWNLOAD), SetMinimalSize(245, 12), SetResize(1, 0), |
12619
2f530108f787
(svn r17062) -Change: unify the naming of some 125 strings
rubidium <rubidium@openttd.org>
parents:
12452
diff
changeset
|
1625 SetDataTip(STR_INTRO_ONLINE_CONTENT, STR_INTRO_TOOLTIP_ONLINE_CONTENT), |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1626 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1627 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1628 NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1629 NWidget(WWT_SCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1630 NWidget(WWT_RESIZEBOX, COLOUR_GREY, SLWW_RESIZE), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1631 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1632 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1633 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1634 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1635 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1636 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1637 NWidget(NWID_LAYERED), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1638 NWidget(WWT_EMPTY, COLOUR_GREY, SLWW_SAVE_OSK_TITLE), SetMinimalSize(1, 1), SetFill(false, false), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1639 NWidget(WWT_EMPTY, COLOUR_GREY, SLWW_DELETE_SELECTION), SetMinimalSize(1, 1), SetFill(false, false), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1640 NWidget(WWT_EMPTY, COLOUR_GREY, SLWW_SAVE_GAME), SetMinimalSize(1, 1), SetFill(false, false), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1641 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1642 NWidget(NWID_SPACER), SetFill(true, false), SetResize(1, 0), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1643 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1644 NWidget(NWID_SPACER), SetFill(true, true), SetResize(1, 1), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1645 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1646 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1647 }; |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1648 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1649 static const Widget _save_dialog_widgets[] = { |
11862
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1650 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_BLACK_CROSS, STR_TOOLTIP_CLOSE_WINDOW}, // SLWW_CLOSE |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1651 { WWT_CAPTION, RESIZE_RIGHT, COLOUR_GREY, 11, 256, 0, 13, STR_NULL, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS}, // SLWW_WINDOWTITLE |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1652 { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 127, 14, 25, STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER}, // SLWW_SORT_BYNAME |
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1653 { WWT_PUSHTXTBTN, RESIZE_RIGHT, COLOUR_GREY, 128, 256, 14, 25, STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER}, // SLWW_SORT_BYDATE |
11862
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1654 { WWT_PANEL, RESIZE_RIGHT, COLOUR_GREY, 0, 256, 26, 47, 0x0, STR_NULL}, // SLWW_BACKGROUND |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1655 { WWT_PANEL, RESIZE_RB, COLOUR_GREY, 0, 256, 48, 167, 0x0, STR_NULL}, // SLWW_FILE_BACKGROUND |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1656 { WWT_PUSHIMGBTN, RESIZE_LR, COLOUR_GREY, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON}, // SLWW_HOME_BUTTON |
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1657 { WWT_INSET, RESIZE_RB, COLOUR_GREY, 2, 243, 50, 150, 0x0, STR_SAVELOAD_LIST_TOOLTIP}, // SLWW_DRIVES_DIRECTORIES_LIST |
11864
86a7f7ee831d
(svn r16258) -Codechange: Remove panel with negative height and some small adjustments in the load/save dialogue windows.
alberth <alberth@openttd.org>
parents:
11863
diff
changeset
|
1658 { WWT_SCROLLBAR, RESIZE_LRB, COLOUR_GREY, 245, 256, 60, 150, 0x0, STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST}, // SLWW_SCROLLBAR |
86a7f7ee831d
(svn r16258) -Codechange: Remove panel with negative height and some small adjustments in the load/save dialogue windows.
alberth <alberth@openttd.org>
parents:
11863
diff
changeset
|
1659 { WWT_EMPTY, RESIZE_NONE, COLOUR_GREY, 0, 0, 0, 0, 0x0, STR_NULL}, // SLWW_CONTENT_DOWNLOAD |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1660 { WWT_EDITBOX, RESIZE_RTB, COLOUR_GREY, 2, 254, 154, 165, STR_SAVELOAD_OSKTITLE, STR_SAVELOAD_EDITBOX_TOOLTIP}, // SLWW_SAVE_OSK_TITLE |
11862
6e085df38529
(svn r16256) -Codechange: Moved load/save dialogue widget numbers outside the window struct.
alberth <alberth@openttd.org>
parents:
11852
diff
changeset
|
1661 { WWT_PUSHTXTBTN, RESIZE_TB, COLOUR_GREY, 0, 127, 168, 179, STR_SAVELOAD_DELETE_BUTTON, STR_SAVELOAD_DELETE_TOOLTIP}, // SLWW_DELETE_SELECTION |
11864
86a7f7ee831d
(svn r16258) -Codechange: Remove panel with negative height and some small adjustments in the load/save dialogue windows.
alberth <alberth@openttd.org>
parents:
11863
diff
changeset
|
1662 { WWT_PUSHTXTBTN, RESIZE_RTB, COLOUR_GREY, 128, 244, 168, 179, STR_SAVELOAD_SAVE_BUTTON, STR_SAVELOAD_SAVE_TOOLTIP}, // SLWW_SAVE_GAME |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1663 { WWT_RESIZEBOX, RESIZE_LRTB, COLOUR_GREY, 245, 256, 168, 179, 0x0, STR_TOOLTIP_RESIZE}, // SLWW_RESIZE |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1664 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1665 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1666 |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1667 static const NWidgetPart _nested_save_dialog_widgets[] = { |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1668 NWidget(NWID_LAYERED), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1669 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1670 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1671 NWidget(WWT_CLOSEBOX, COLOUR_GREY, SLWW_CLOSE), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1672 NWidget(WWT_CAPTION, COLOUR_GREY, SLWW_WINDOWTITLE), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1673 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1674 NWidget(NWID_HORIZONTAL), |
12856
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1675 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYNAME), SetMinimalSize(128, 12), SetDataTip(STR_SORT_BY_CAPTION_NAME, STR_TOOLTIP_SORT_ORDER), |
6bcfe63f1bae
(svn r17348) -Fix: don't mix 'sort by' strings used for buttons and dropdowns
smatz <smatz@openttd.org>
parents:
12834
diff
changeset
|
1676 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SORT_BYDATE), SetMinimalSize(129, 12), SetDataTip(STR_SORT_BY_CAPTION_DATE, STR_TOOLTIP_SORT_ORDER), SetResize(1, 0), |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1677 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1678 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_BACKGROUND), SetMinimalSize(257, 22), SetResize(1, 0), EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1679 NWidget(WWT_PANEL, COLOUR_GREY, SLWW_FILE_BACKGROUND), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1680 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1681 NWidget(WWT_INSET, COLOUR_GREY, SLWW_DRIVES_DIRECTORIES_LIST), SetMinimalSize(242, 101), SetPadding(2, 1, 0, 2), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1682 SetDataTip(0x0, STR_SAVELOAD_LIST_TOOLTIP), SetResize(2, 10), EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1683 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1684 NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, SLWW_HOME_BUTTON), SetMinimalSize(12, 12), SetDataTip(SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1685 NWidget(WWT_SCROLLBAR, COLOUR_GREY, SLWW_SCROLLBAR), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1686 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1687 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1688 NWidget(WWT_EDITBOX, COLOUR_GREY, SLWW_SAVE_OSK_TITLE), SetMinimalSize(253, 12), SetPadding(3, 2, 2, 2), SetResize(1, 0), |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1689 SetDataTip(STR_SAVELOAD_OSKTITLE, STR_SAVELOAD_EDITBOX_TOOLTIP), |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1690 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1691 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1692 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_DELETE_SELECTION), SetMinimalSize(128, 12), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1693 SetDataTip(STR_SAVELOAD_DELETE_BUTTON, STR_SAVELOAD_DELETE_TOOLTIP), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1694 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, SLWW_SAVE_GAME), SetMinimalSize(117, 12), SetResize(1, 0), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1695 SetDataTip(STR_SAVELOAD_SAVE_BUTTON, STR_SAVELOAD_SAVE_TOOLTIP), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1696 NWidget(WWT_RESIZEBOX, COLOUR_GREY, SLWW_RESIZE), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1697 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1698 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1699 NWidget(NWID_VERTICAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1700 NWidget(NWID_HORIZONTAL), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1701 NWidget(WWT_EMPTY, COLOUR_GREY, SLWW_CONTENT_DOWNLOAD), SetMinimalSize(1, 1), SetFill(false, false), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1702 NWidget(NWID_SPACER), SetFill(true, false), SetResize(1, 0), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1703 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1704 NWidget(NWID_SPACER), SetFill(true, true), SetResize(1, 1), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1705 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1706 EndContainer(), |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1707 }; |
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
1708 |
11085
8da1855e9f14
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
rubidium <rubidium@openttd.org>
parents:
11081
diff
changeset
|
1709 /* Colours for fios types */ |
8da1855e9f14
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
rubidium <rubidium@openttd.org>
parents:
11081
diff
changeset
|
1710 const TextColour _fios_colours[] = { |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7750
diff
changeset
|
1711 TC_LIGHT_BLUE, TC_DARK_GREEN, TC_DARK_GREEN, TC_ORANGE, TC_LIGHT_BROWN, |
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7750
diff
changeset
|
1712 TC_ORANGE, TC_LIGHT_BROWN, TC_ORANGE, TC_ORANGE, TC_YELLOW |
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7750
diff
changeset
|
1713 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1714 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6239
diff
changeset
|
1715 void BuildFileList() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1716 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1717 _fios_path_changed = true; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1718 FiosFreeSavegameList(); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1719 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1720 switch (_saveload_mode) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1721 case SLD_NEW_GAME: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1722 case SLD_LOAD_SCENARIO: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1723 case SLD_SAVE_SCENARIO: |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1724 FiosGetScenarioList(_saveload_mode); break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1725 case SLD_LOAD_HEIGHTMAP: |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1726 FiosGetHeightmapList(_saveload_mode); break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1727 |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1728 default: FiosGetSavegameList(_saveload_mode); break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1729 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1730 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1731 |
11480
88683778e6e5
(svn r15841) -Fix: the saveload window could draw directory partly outside the window
rubidium <rubidium@openttd.org>
parents:
11450
diff
changeset
|
1732 static void DrawFiosTexts(int left, int right) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1733 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1734 static const char *path = NULL; |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1735 static StringID str = STR_ERROR_UNABLE_TO_READ_DRIVE; |
10771
44e71a85349d
(svn r15104) -Codechange: unify the resolving of the xyz kbytes/megabytes strings.
rubidium <rubidium@openttd.org>
parents:
10642
diff
changeset
|
1736 static uint64 tot = 0; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1737 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1738 if (_fios_path_changed) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1739 str = FiosGetDescText(&path, &tot); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1740 _fios_path_changed = false; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1741 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1742 |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1743 if (str != STR_ERROR_UNABLE_TO_READ_DRIVE) SetDParam(0, tot); |
11770
534c3c3167f2
(svn r16160) -Codechange: remove the need for explicit TC_FROMSTRING for DrawString.
rubidium <rubidium@openttd.org>
parents:
11766
diff
changeset
|
1744 DrawString(left + 2, right - 2, 37, str); |
11480
88683778e6e5
(svn r15841) -Fix: the saveload window could draw directory partly outside the window
rubidium <rubidium@openttd.org>
parents:
11450
diff
changeset
|
1745 DrawString(left + 2, right - 2, 27, path, TC_BLACK); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1746 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1747 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6239
diff
changeset
|
1748 static void MakeSortedSaveGameList() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1749 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1750 uint sort_start = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1751 uint sort_end = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1752 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1753 /* Directories are always above the files (FIOS_TYPE_DIR) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1754 * Drives (A:\ (windows only) are always under the files (FIOS_TYPE_DRIVE) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1755 * Only sort savegames/scenarios, not directories |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1756 */ |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1757 for (const FiosItem *item = _fios_items.Begin(); item != _fios_items.End(); item++) { |
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1758 switch (item->type) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1759 case FIOS_TYPE_DIR: sort_start++; break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1760 case FIOS_TYPE_PARENT: sort_start++; break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1761 case FIOS_TYPE_DRIVE: sort_end++; break; |
9031
9c6b04429f26
(svn r12848) -Cleanup/Codechange: Use correct variable types, don't prefix with _ for non-globals, and use implicit enum numbering.
peter1138 <peter1138@openttd.org>
parents:
8973
diff
changeset
|
1762 default: break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1763 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1764 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1765 |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1766 uint s_amount = _fios_items.Length() - sort_start - sort_end; |
13030
12fa346326b0
(svn r17528) -Codechange: use QSortT instead of qsort for sorting FiosItems
rubidium <rubidium@openttd.org>
parents:
13027
diff
changeset
|
1767 QSortT(_fios_items.Get(sort_start), s_amount, CompareFiosItems); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1768 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1769 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6239
diff
changeset
|
1770 extern void StartupEngines(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1771 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1772 struct SaveLoadWindow : public QueryStringBaseWindow { |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1773 private: |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1774 FiosItem o_dir; |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1775 public: |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1776 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1777 void GenerateFileName() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1778 { |
10533
53a8506c2079
(svn r14790) -Codechange: unify generation of default savegame/screenshot names (PhilSophus)
rubidium <rubidium@openttd.org>
parents:
10499
diff
changeset
|
1779 GenerateDefaultSaveName(this->edit_str_buf, &this->edit_str_buf[this->edit_str_size - 1]); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1780 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1781 |
9897
5b558ce6cb0e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium <rubidium@openttd.org>
parents:
9790
diff
changeset
|
1782 SaveLoadWindow(const WindowDesc *desc, SaveLoadDialogMode mode) : QueryStringBaseWindow(64, desc) |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1783 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1784 static const StringID saveload_captions[] = { |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1785 STR_SAVELOAD_LOAD_CAPTION, |
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1786 STR_SAVELOAD_LOAD_SCENARIO, |
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1787 STR_SAVELOAD_SAVE_CAPTION, |
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
1788 STR_SAVELOAD_SAVE_SCENARIO, |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1789 STR_SAVELOAD_LOAD_HEIGHTMAP, |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1790 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1791 |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
1792 this->vscroll.SetCapacity(10); |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1793 this->resize.step_width = 2; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1794 this->resize.step_height = 10; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1795 |
11702
cdaad565efe5
(svn r16088) -Codechange: merge HighLightStyle and ViewportHighlightMode as they are basically the same thing
rubidium <rubidium@openttd.org>
parents:
11653
diff
changeset
|
1796 SetObjectToPlace(SPR_CURSOR_ZZZ, PAL_NONE, HT_NONE, WC_MAIN_WINDOW, 0); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1797 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1798 /* Use an array to define what will be the current file type being handled |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1799 * by current file mode */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1800 switch (mode) { |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1801 case SLD_LOAD_GAME: |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1802 this->HideWidget(SLWW_CONTENT_DOWNLOAD); |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1803 this->widget[SLWW_DRIVES_DIRECTORIES_LIST].bottom += this->widget[SLWW_CONTENT_DOWNLOAD].bottom - this->widget[SLWW_CONTENT_DOWNLOAD].top; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1804 break; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1805 |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1806 case SLD_LOAD_SCENARIO: |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1807 case SLD_LOAD_HEIGHTMAP: |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
1808 this->vscroll.UpdateCapacity(-1); |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1809 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1810 case SLD_SAVE_GAME: this->GenerateFileName(); break; |
11644
7980a47b17cb
(svn r16024) -Codechange: harden string copying on places where it's possible
rubidium <rubidium@openttd.org>
parents:
11544
diff
changeset
|
1811 case SLD_SAVE_SCENARIO: strecpy(this->edit_str_buf, "UNNAMED", &this->edit_str_buf[edit_str_size - 1]); break; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1812 default: break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1813 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1814 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1815 assert((uint)mode < lengthof(saveload_captions)); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1816 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1817 this->widget[SLWW_WINDOWTITLE].data = saveload_captions[mode]; |
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1818 this->LowerWidget(SLWW_DRIVES_DIRECTORIES_LIST); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1819 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1820 this->afilter = CS_ALPHANUMERAL; |
9897
5b558ce6cb0e
(svn r14046) -Codechange: make the size of querystring "widgets" more configurable.
rubidium <rubidium@openttd.org>
parents:
9790
diff
changeset
|
1821 InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 240); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1822 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1823 /* pause is only used in single-player, non-editor mode, non-menu mode. It |
9693
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
1824 * will be unpaused in the WE_DESTROY event handler. */ |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1825 if (_game_mode != GM_MENU && !_networking && _game_mode != GM_EDITOR) { |
11852
862dd1024fe7
(svn r16242) -Codechange: rework pausing
rubidium <rubidium@openttd.org>
parents:
11837
diff
changeset
|
1826 DoCommandP(0, PM_PAUSED_SAVELOAD, 1, CMD_PAUSE); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1827 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1828 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1829 BuildFileList(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1830 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1831 ResetObjectToPlace(); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1832 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1833 o_dir.type = FIOS_TYPE_DIRECT; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1834 switch (_saveload_mode) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1835 case SLD_SAVE_GAME: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1836 case SLD_LOAD_GAME: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1837 FioGetDirectory(o_dir.name, lengthof(o_dir.name), SAVE_DIR); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1838 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1839 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1840 case SLD_SAVE_SCENARIO: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1841 case SLD_LOAD_SCENARIO: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1842 FioGetDirectory(o_dir.name, lengthof(o_dir.name), SCENARIO_DIR); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1843 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1844 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1845 case SLD_LOAD_HEIGHTMAP: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1846 FioGetDirectory(o_dir.name, lengthof(o_dir.name), HEIGHTMAP_DIR); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1847 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1848 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1849 default: |
10310
5cefbb1c3fd7
(svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible
skidd13 <skidd13@openttd.org>
parents:
10295
diff
changeset
|
1850 strecpy(o_dir.name, _personal_dir, lastof(o_dir.name)); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1851 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1852 |
11081
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1853 /* Focus the edit box by default in the save windows */ |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1854 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1855 this->SetFocusedWidget(SLWW_SAVE_OSK_TITLE); |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1856 } |
0a26df8849a2
(svn r15424) -Codechange: make it possible to have multiple windows with edit box open simultaniously (Zuu).
rubidium <rubidium@openttd.org>
parents:
10960
diff
changeset
|
1857 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1858 this->FindWindowPlacementAndResize(desc); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1859 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1860 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1861 virtual ~SaveLoadWindow() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1862 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1863 /* pause is only used in single-player, non-editor mode, non menu mode */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1864 if (!_networking && _game_mode != GM_EDITOR && _game_mode != GM_MENU) { |
11852
862dd1024fe7
(svn r16242) -Codechange: rework pausing
rubidium <rubidium@openttd.org>
parents:
11837
diff
changeset
|
1865 DoCommandP(0, PM_PAUSED_SAVELOAD, 0, CMD_PAUSE); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1866 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1867 FiosFreeSavegameList(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1868 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1869 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1870 virtual void OnPaint() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1871 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1872 int y; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1873 |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
1874 this->vscroll.SetCount(_fios_items.Length()); |
9273
72a6d2e60834
(svn r13139) -Codechange: move DrawWindowWidgets and DrawWindowViewport to the Window class and remove Window from their naming.
rubidium <rubidium@openttd.org>
parents:
9272
diff
changeset
|
1875 this->DrawWidgets(); |
11480
88683778e6e5
(svn r15841) -Fix: the saveload window could draw directory partly outside the window
rubidium <rubidium@openttd.org>
parents:
11450
diff
changeset
|
1876 DrawFiosTexts(this->widget[SLWW_BACKGROUND].left, this->widget[SLWW_BACKGROUND].right); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1877 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1878 if (_savegame_sort_dirty) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1879 _savegame_sort_dirty = false; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1880 MakeSortedSaveGameList(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1881 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1882 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1883 const Widget *widg = &this->widget[SLWW_DRIVES_DIRECTORIES_LIST]; |
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1884 GfxFillRect(widg->left + 1, widg->top + 1, widg->right, widg->bottom, 0xD7); |
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1885 this->DrawSortButtonState(_savegame_sort_order & SORT_BY_NAME ? SLWW_SORT_BYNAME : SLWW_SORT_BYDATE, _savegame_sort_order & SORT_DESCENDING ? SBS_DOWN : SBS_UP); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1886 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1887 y = widg->top + 1; |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
1888 for (uint pos = this->vscroll.GetPosition(); pos < _fios_items.Length(); pos++) { |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1889 const FiosItem *item = _fios_items.Get(pos); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1890 |
11544
b82c75ea2fc4
(svn r15907) -Fix (r15841): some strings in save/load dialog were drawn with a 2 pixel offset
glx <glx@openttd.org>
parents:
11524
diff
changeset
|
1891 DrawString(widg->left + 2, widg->right - 2, y, item->title, _fios_colours[item->type]); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1892 y += 10; |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
1893 if (y >= this->vscroll.GetCapacity() * 10 + widg->top + 1) break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1894 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1895 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1896 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1897 this->DrawEditBox(SLWW_SAVE_OSK_TITLE); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1898 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1899 } |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1900 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1901 virtual void OnClick(Point pt, int widget) |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1902 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1903 switch (widget) { |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1904 case SLWW_SORT_BYNAME: // Sort save names by name |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1905 _savegame_sort_order = (_savegame_sort_order == SORT_BY_NAME) ? |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1906 SORT_BY_NAME | SORT_DESCENDING : SORT_BY_NAME; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1907 _savegame_sort_dirty = true; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1908 this->SetDirty(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1909 break; |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1910 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1911 case SLWW_SORT_BYDATE: // Sort save names by date |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1912 _savegame_sort_order = (_savegame_sort_order == SORT_BY_DATE) ? |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1913 SORT_BY_DATE | SORT_DESCENDING : SORT_BY_DATE; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1914 _savegame_sort_dirty = true; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1915 this->SetDirty(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1916 break; |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1917 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1918 case SLWW_HOME_BUTTON: // OpenTTD 'button', jumps to OpenTTD directory |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1919 FiosBrowseTo(&o_dir); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1920 this->SetDirty(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1921 BuildFileList(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1922 break; |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1923 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1924 case SLWW_DRIVES_DIRECTORIES_LIST: { // Click the listbox |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1925 int y = (pt.y - this->widget[widget].top - 1) / 10; |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1926 |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
1927 if (y < 0 || (y += this->vscroll.GetPosition()) >= this->vscroll.GetCount()) return; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1928 |
9441
e899ed594e7c
(svn r13359) -Codechange: convert _fios_items to a SmallVector
skidd13 <skidd13@openttd.org>
parents:
9413
diff
changeset
|
1929 const FiosItem *file = _fios_items.Get(y); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1930 |
11256
f63c1d69ed92
(svn r15605) -Codechange: constify a function
rubidium <rubidium@openttd.org>
parents:
11230
diff
changeset
|
1931 const char *name = FiosBrowseTo(file); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1932 if (name != NULL) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1933 if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1934 _switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_SCENARIO : SM_LOAD; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1935 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1936 SetFiosType(file->type); |
10310
5cefbb1c3fd7
(svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible
skidd13 <skidd13@openttd.org>
parents:
10295
diff
changeset
|
1937 strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name)); |
5cefbb1c3fd7
(svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible
skidd13 <skidd13@openttd.org>
parents:
10295
diff
changeset
|
1938 strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title)); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1939 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1940 delete this; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1941 } else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1942 SetFiosType(file->type); |
10310
5cefbb1c3fd7
(svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible
skidd13 <skidd13@openttd.org>
parents:
10295
diff
changeset
|
1943 strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name)); |
5cefbb1c3fd7
(svn r14555) -Codechange: replace ttd_strlcat and ttd_strlcpy with strecat and strecpy where direct conversion is possible
skidd13 <skidd13@openttd.org>
parents:
10295
diff
changeset
|
1944 strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title)); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1945 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1946 delete this; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1947 ShowHeightmapLoad(); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1948 } else { |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1949 /* SLD_SAVE_GAME, SLD_SAVE_SCENARIO copy clicked name to editbox */ |
10276
a5286e772120
(svn r14514) -Codechange: use 'size' instead of 'length' for querystring and textbuf, explicitly say it includes the terminating zero
smatz <smatz@openttd.org>
parents:
10208
diff
changeset
|
1950 ttd_strlcpy(this->text.buf, file->title, this->text.maxsize); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1951 UpdateTextBufferSize(&this->text); |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
1952 this->SetWidgetDirty(SLWW_SAVE_OSK_TITLE); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1953 } |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1954 } else { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1955 /* Changed directory, need repaint. */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1956 this->SetDirty(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1957 BuildFileList(); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1958 } |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1959 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1960 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1961 |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1962 case SLWW_CONTENT_DOWNLOAD: |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1963 if (!_network_available) { |
12632
e41943276802
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
rubidium <rubidium@openttd.org>
parents:
12619
diff
changeset
|
1964 ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERROR_NOTAVAILABLE, 0, 0); |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1965 } else { |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1966 #if defined(ENABLE_NETWORK) |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1967 switch (_saveload_mode) { |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1968 default: NOT_REACHED(); |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1969 case SLD_LOAD_SCENARIO: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_SCENARIO); break; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1970 case SLD_LOAD_HEIGHTMAP: ShowNetworkContentListWindow(NULL, CONTENT_TYPE_HEIGHTMAP); break; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1971 } |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1972 #endif |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1973 } |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1974 break; |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
1975 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1976 case SLWW_DELETE_SELECTION: case SLWW_SAVE_GAME: // Delete, Save game |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1977 break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1978 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1979 } |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1980 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1981 virtual void OnMouseLoop() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1982 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1983 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1984 this->HandleEditBox(SLWW_SAVE_OSK_TITLE); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1985 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1986 } |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
1987 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1988 virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1989 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1990 if (keycode == WKC_ESC) { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1991 delete this; |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1992 return ES_HANDLED; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1993 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1994 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
1995 EventState state = ES_NOT_HANDLED; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1996 if ((_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) && |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1997 this->HandleEditBoxKey(SLWW_SAVE_OSK_TITLE, key, keycode, state) == HEBR_CONFIRM) { |
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
1998 this->HandleButtonClick(SLWW_SAVE_GAME); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
1999 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2000 |
9285
3b3f13cb6db6
(svn r13151) -Codechange: use an enum instead of bool as return type of OnKeyPress/OnCTRLStateChange to make it obvious what the return values mean.
rubidium <rubidium@openttd.org>
parents:
9273
diff
changeset
|
2001 return state; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2002 } |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
2003 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2004 virtual void OnTimeout() |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2005 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2006 /* This test protects against using widgets 11 and 12 which are only available |
9693
cf5a441f1069
(svn r13800) -Codechange: minor comment style fixes in misc_gui.cpp
smatz <smatz@openttd.org>
parents:
9682
diff
changeset
|
2007 * in those two saveload mode */ |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2008 if (!(_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO)) return; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2009 |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
2010 if (this->IsWidgetLowered(SLWW_DELETE_SELECTION)) { // Delete button clicked |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2011 if (!FiosDelete(this->text.buf)) { |
11730
a39da1e4c1f5
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
rubidium <rubidium@openttd.org>
parents:
11702
diff
changeset
|
2012 ShowErrorMessage(INVALID_STRING_ID, STR_ERROR_UNABLE_TO_DELETE_FILE, 0, 0); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2013 } else { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2014 BuildFileList(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2015 /* Reset file name to current date on successful delete */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2016 if (_saveload_mode == SLD_SAVE_GAME) GenerateFileName(); |
8738
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
2017 } |
723631ab4868
(svn r12426) -Cleanup: sprinkle some coding style over a few files.
rubidium <rubidium@openttd.org>
parents:
8737
diff
changeset
|
2018 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2019 UpdateTextBufferSize(&this->text); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2020 this->SetDirty(); |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
2021 } else if (this->IsWidgetLowered(SLWW_SAVE_GAME)) { // Save button clicked |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2022 _switch_mode = SM_SAVE; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2023 FiosMakeSavegameName(_file_to_saveload.name, this->text.buf, sizeof(_file_to_saveload.name)); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2024 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2025 /* In the editor set up the vehicle engines correctly (date might have changed) */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2026 if (_game_mode == GM_EDITOR) StartupEngines(); |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2027 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2028 } |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2029 |
11524
420a4f0b4e0b
(svn r15885) -Codechange: Removed new_size parameter of Window::OnResize() callback
alberth <alberth@openttd.org>
parents:
11482
diff
changeset
|
2030 virtual void OnResize(Point delta) |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2031 { |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2032 /* Widget 2 and 3 have to go with halve speed, make it so obiwan */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2033 uint diff = delta.x / 2; |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
2034 this->widget[SLWW_SORT_BYNAME].right += diff; |
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
2035 this->widget[SLWW_SORT_BYDATE].left += diff; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2036 |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2037 /* Same for widget 11 and 12 in save-dialog */ |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2038 if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) { |
10944
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
2039 this->widget[SLWW_DELETE_SELECTION].right += diff; |
0f460411415a
(svn r15283) -Documentation: Apply some widget naming to the widget arrays.
belugas <belugas@openttd.org>
parents:
10934
diff
changeset
|
2040 this->widget[SLWW_SAVE_GAME].left += diff; |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2041 } |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2042 |
12878
8ad447b80c42
(svn r17370) -Codechange: make the saveload and network GUIs use the scrollbar wrappers
rubidium <rubidium@openttd.org>
parents:
12867
diff
changeset
|
2043 this->vscroll.UpdateCapacity(delta.y / 10); |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2044 } |
11352
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
2045 |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
2046 virtual void OnInvalidateData(int data) |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
2047 { |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
2048 BuildFileList(); |
62978bce3c1c
(svn r15702) -Feature(tte): direct content download 'links' in the play scenario/heightmap windows.
rubidium <rubidium@openttd.org>
parents:
11319
diff
changeset
|
2049 } |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2050 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2051 |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
2052 static const WindowDesc _load_dialog_desc( |
7346
4772500cfc44
(svn r10709) -Codechange: allow automatic downsizing of the load game/save game windows. These windows also already supported downsizing, but again the resize button would be unreachable.
rubidium <rubidium@openttd.org>
parents:
7341
diff
changeset
|
2053 WDP_CENTER, WDP_CENTER, 257, 154, 257, 294, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5750
diff
changeset
|
2054 WC_SAVELOAD, WC_NONE, |
8019
9e262ce81acf
(svn r11579) -Revert(r11578): some cases of key propagation are not handled correctly.
belugas <belugas@openttd.org>
parents:
8018
diff
changeset
|
2055 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE, |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
2056 _load_dialog_widgets, _nested_load_dialog_widgets, lengthof(_nested_load_dialog_widgets) |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
2057 ); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2058 |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
2059 static const WindowDesc _save_dialog_desc( |
7346
4772500cfc44
(svn r10709) -Codechange: allow automatic downsizing of the load game/save game windows. These windows also already supported downsizing, but again the resize button would be unreachable.
rubidium <rubidium@openttd.org>
parents:
7341
diff
changeset
|
2060 WDP_CENTER, WDP_CENTER, 257, 180, 257, 320, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5750
diff
changeset
|
2061 WC_SAVELOAD, WC_NONE, |
8019
9e262ce81acf
(svn r11579) -Revert(r11578): some cases of key propagation are not handled correctly.
belugas <belugas@openttd.org>
parents:
8018
diff
changeset
|
2062 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE, |
11865
a8d788b2bbd2
(svn r16259) -Codechange: Added nested widgets to the load and save dialogue windows.
alberth <alberth@openttd.org>
parents:
11864
diff
changeset
|
2063 _save_dialog_widgets, _nested_save_dialog_widgets, lengthof(_nested_save_dialog_widgets) |
11373
474ba6cc0946
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
rubidium <rubidium@openttd.org>
parents:
11369
diff
changeset
|
2064 ); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2065 |
8152
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2066 /** These values are used to convert the file/operations mode into a corresponding file type. |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2067 * So each entry, as expressed by the related comment, is based on the enum */ |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2068 static const FileType _file_modetotype[] = { |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2069 FT_SAVEGAME, ///< used for SLD_LOAD_GAME |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2070 FT_SCENARIO, ///< used for SLD_LOAD_SCENARIO |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2071 FT_SAVEGAME, ///< used for SLD_SAVE_GAME |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2072 FT_SCENARIO, ///< used for SLD_SAVE_SCENARIO |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2073 FT_HEIGHTMAP, ///< used for SLD_LOAD_HEIGHTMAP |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2074 FT_SAVEGAME, ///< SLD_NEW_GAME |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2075 }; |
32bfb56e7e0e
(svn r11714) -Fix[FS#1569]: Do not allow player inauguration date on scenarios to be bigger than current year.
belugas <belugas@openttd.org>
parents:
8149
diff
changeset
|
2076 |
8149
ad7ddb6150dc
(svn r11711) -Codechange: Name the Save Load Dialog Mode enum
belugas <belugas@openttd.org>
parents:
8144
diff
changeset
|
2077 void ShowSaveLoadDialog(SaveLoadDialogMode mode) |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2078 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2079 DeleteWindowById(WC_SAVELOAD, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2080 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2081 const WindowDesc *sld; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2082 switch (mode) { |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2083 case SLD_SAVE_GAME: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2084 case SLD_SAVE_SCENARIO: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2085 sld = &_save_dialog_desc; break; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2086 default: |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2087 sld = &_load_dialog_desc; break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2088 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2089 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2090 _saveload_mode = mode; |
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2091 _file_to_saveload.filetype = _file_modetotype[mode]; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2092 |
9179
3b7b689031d6
(svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables.
rubidium <rubidium@openttd.org>
parents:
9178
diff
changeset
|
2093 new SaveLoadWindow(sld, mode); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2094 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2095 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6239
diff
changeset
|
2096 void RedrawAutosave() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2097 { |
13034
6eb3f749890a
(svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability.
frosch <frosch@openttd.org>
parents:
13030
diff
changeset
|
2098 SetWindowDirty(WC_STATUS_BAR, 0); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2099 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2100 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2101 void SetFiosType(const byte fiostype) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2102 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2103 switch (fiostype) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2104 case FIOS_TYPE_FILE: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2105 case FIOS_TYPE_SCENARIO: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2106 _file_to_saveload.mode = SL_LOAD; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2107 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2108 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2109 case FIOS_TYPE_OLDFILE: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2110 case FIOS_TYPE_OLD_SCENARIO: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2111 _file_to_saveload.mode = SL_OLD_LOAD; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2112 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2113 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2114 #ifdef WITH_PNG |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2115 case FIOS_TYPE_PNG: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2116 _file_to_saveload.mode = SL_PNG; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2117 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2118 #endif /* WITH_PNG */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2119 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2120 case FIOS_TYPE_BMP: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2121 _file_to_saveload.mode = SL_BMP; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2122 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2123 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2124 default: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2125 _file_to_saveload.mode = SL_INVALID; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2126 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2127 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2128 } |