1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/* $Id$ */
/*
* This file is part of OpenTTD.
* 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.
* 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.
* 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/>.
*/
/** @file network_widget.h Types related to the network widgets. */
#ifndef WIDGETS_NETWORK_WIDGET_H
#define WIDGETS_NETWORK_WIDGET_H
/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkContentListWidgets, NetworkStartServerWidgets, and NetworkLobbyWidgets). */
enum NetworkGameWidgets {
WID_NG_MAIN, ///< Main panel.
WID_NG_CONNECTION, ///< Label in front of connection droplist.
WID_NG_CONN_BTN, ///< 'Connection' droplist button.
WID_NG_CLIENT_LABEL, ///< Label in front of client name edit box.
WID_NG_CLIENT, ///< Panel with editbox to set client name.
WID_NG_HEADER, ///< Header container of the matrix.
WID_NG_NAME, ///< 'Name' button.
WID_NG_CLIENTS, ///< 'Clients' button.
WID_NG_MAPSIZE, ///< 'Map size' button.
WID_NG_DATE, ///< 'Date' button.
WID_NG_YEARS, ///< 'Years' button.
WID_NG_INFO, ///< Third button in the game list panel.
WID_NG_MATRIX, ///< Panel with list of games.
WID_NG_SCROLLBAR, ///< Scrollbar of matrix.
WID_NG_LASTJOINED_LABEL, ///< Label "Last joined server:".
WID_NG_LASTJOINED, ///< Info about the last joined server.
WID_NG_LASTJOINED_SPACER, ///< Spacer after last joined server panel.
WID_NG_DETAILS, ///< Panel with game details.
WID_NG_DETAILS_SPACER, ///< Spacer for game actual details.
WID_NG_JOIN, ///< 'Join game' button.
WID_NG_REFRESH, ///< 'Refresh server' button.
WID_NG_NEWGRF, ///< 'NewGRF Settings' button.
WID_NG_NEWGRF_SEL, ///< Selection 'widget' to hide the NewGRF settings.
WID_NG_NEWGRF_MISSING, ///< 'Find missing NewGRF online' button.
WID_NG_NEWGRF_MISSING_SEL, ///< Selection widget for the above button.
WID_NG_FIND, ///< 'Find server' button.
WID_NG_ADD, ///< 'Add server' button.
WID_NG_START, ///< 'Start server' button.
WID_NG_CANCEL, ///< 'Cancel' button.
};
/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkContentListWidgets, NetworkGameWidgets, and NetworkLobbyWidgets). */
enum NetworkStartServerWidgets {
WID_NSS_BACKGROUND, ///< Background of the window.
WID_NSS_GAMENAME_LABEL, ///< Label for the game name.
WID_NSS_GAMENAME, ///< Background for editbox to set game name.
WID_NSS_SETPWD, ///< 'Set password' button.
WID_NSS_CONNTYPE_LABEL, ///< Label for 'connection type'.
WID_NSS_CONNTYPE_BTN, ///< 'Connection type' droplist button.
WID_NSS_CLIENTS_LABEL, ///< Label for 'max clients'.
WID_NSS_CLIENTS_BTND, ///< 'Max clients' downarrow.
WID_NSS_CLIENTS_TXT, ///< 'Max clients' text.
WID_NSS_CLIENTS_BTNU, ///< 'Max clients' uparrow.
WID_NSS_COMPANIES_LABEL, ///< Label for 'max companies'.
WID_NSS_COMPANIES_BTND, ///< 'Max companies' downarrow.
WID_NSS_COMPANIES_TXT, ///< 'Max companies' text.
WID_NSS_COMPANIES_BTNU, ///< 'Max companies' uparrow.
WID_NSS_SPECTATORS_LABEL, ///< Label for 'max spectators'.
WID_NSS_SPECTATORS_BTND, ///< 'Max spectators' downarrow.
WID_NSS_SPECTATORS_TXT, ///< 'Max spectators' text.
WID_NSS_SPECTATORS_BTNU, ///< 'Max spectators' uparrow.
WID_NSS_LANGUAGE_LABEL, ///< Label for 'language spoken'.
WID_NSS_LANGUAGE_BTN, ///< 'Language spoken' droplist button.
WID_NSS_GENERATE_GAME, ///< New game button.
WID_NSS_LOAD_GAME, ///< Load game button.
WID_NSS_PLAY_SCENARIO, ///< Play scenario button.
WID_NSS_PLAY_HEIGHTMAP, ///< Play heightmap button.
WID_NSS_CANCEL, ///< 'Cancel' button.
};
/** Widgets of the WC_NETWORK_WINDOW (WC_NETWORK_WINDOW is also used in NetworkContentListWidgets, NetworkGameWidgets, and NetworkStartServerWidgets). */
enum NetworkLobbyWidgets {
WID_NL_BACKGROUND, ///< Background of the window.
WID_NL_TEXT, ///< Heading text.
WID_NL_HEADER, ///< Header above list of companies.
WID_NL_MATRIX, ///< List of companies.
WID_NL_SCROLLBAR, ///< Scroll bar.
WID_NL_DETAILS, ///< Company details.
WID_NL_JOIN, ///< 'Join company' button.
WID_NL_NEW, ///< 'New company' button.
WID_NL_SPECTATE, ///< 'Spectate game' button.
WID_NL_REFRESH, ///< 'Refresh server' button.
WID_NL_CANCEL, ///< 'Cancel' button.
};
/** Widgets of the WC_CLIENT_LIST. */
enum ClientListWidgets {
WID_CL_PANEL, ///< Panel of the window.
};
/** Widgets of the WC_CLIENT_LIST_POPUP. */
enum ClientListPopupWidgets {
WID_CLP_PANEL, ///< Panel of the window.
};
/** Widgets of the WC_NETWORK_STATUS_WINDOW (WC_NETWORK_STATUS_WINDOW is also used in NetworkContentDownloadStatusWidgets). */
enum NetworkJoinStatusWidgets {
WID_NJS_BACKGROUND, ///< Background of the window.
WID_NJS_CANCELOK, ///< Cancel / OK button.
};
/** Widgets of the WC_COMPANY_PASSWORD_WINDOW. */
enum NetworkCompanyPasswordWidgets {
WID_NCP_BACKGROUND, ///< Background of the window.
WID_NCP_LABEL, ///< Label in front of the password field.
WID_NCP_PASSWORD, ///< Input field for the password.
WID_NCP_SAVE_AS_DEFAULT_PASSWORD, ///< Toggle 'button' for saving the current password as default password.
WID_NCP_CANCEL, ///< Close the window without changing anything.
WID_NCP_OK, ///< Safe the password etc.
};
#endif /* WIDGETS_NETWORK_WIDGET_H */
|