2 * This file is part of OpenTTD.
3 * 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.
4 * 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.
5 * 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/>.
8 /** @file network_widget.h Types related to the network widgets. */
10 #ifndef WIDGETS_NETWORK_WIDGET_H
11 #define WIDGETS_NETWORK_WIDGET_H
13 /** Widgets of the #NetworkGameWindow class. */
14 enum NetworkGameWidgets
: WidgetID
{
15 WID_NG_MAIN
, ///< Main panel.
17 WID_NG_CLIENT_LABEL
, ///< Label in front of client name edit box.
18 WID_NG_CLIENT
, ///< Panel with editbox to set client name.
19 WID_NG_FILTER_LABEL
, ///< Label in front of the filter/search edit box.
20 WID_NG_FILTER
, ///< Panel with the edit box to enter the search text.
22 WID_NG_NAME
, ///< 'Name' button.
23 WID_NG_CLIENTS
, ///< 'Clients' button.
24 WID_NG_MAPSIZE
, ///< 'Map size' button.
25 WID_NG_DATE
, ///< 'Date' button.
26 WID_NG_YEARS
, ///< 'Years' button.
27 WID_NG_INFO
, ///< Third button in the game list panel.
29 WID_NG_MATRIX
, ///< Panel with list of games.
30 WID_NG_SCROLLBAR
, ///< Scrollbar of matrix.
32 WID_NG_LASTJOINED_LABEL
, ///< Label "Last joined server:".
33 WID_NG_LASTJOINED
, ///< Info about the last joined server.
34 WID_NG_LASTJOINED_SPACER
, ///< Spacer after last joined server panel.
36 WID_NG_DETAILS
, ///< Panel with game details.
37 WID_NG_JOIN
, ///< 'Join game' button.
38 WID_NG_REFRESH
, ///< 'Refresh server' button.
39 WID_NG_NEWGRF
, ///< 'NewGRF Settings' button.
40 WID_NG_NEWGRF_SEL
, ///< Selection 'widget' to hide the NewGRF settings.
41 WID_NG_NEWGRF_MISSING
, ///< 'Find missing NewGRF online' button.
42 WID_NG_NEWGRF_MISSING_SEL
, ///< Selection widget for the above button.
44 WID_NG_SEARCH_INTERNET
, ///< 'Search internet server' button.
45 WID_NG_SEARCH_LAN
, ///< 'Search LAN server' button.
46 WID_NG_ADD
, ///< 'Add server' button.
47 WID_NG_START
, ///< 'Start server' button.
48 WID_NG_CANCEL
, ///< 'Cancel' button.
51 /** Widgets of the #NetworkStartServerWindow class. */
52 enum NetworkStartServerWidgets
: WidgetID
{
53 WID_NSS_BACKGROUND
, ///< Background of the window.
54 WID_NSS_GAMENAME_LABEL
, ///< Label for the game name.
55 WID_NSS_GAMENAME
, ///< Background for editbox to set game name.
56 WID_NSS_SETPWD
, ///< 'Set password' button.
57 WID_NSS_CONNTYPE_LABEL
, ///< Label for 'connection type'.
58 WID_NSS_CONNTYPE_BTN
, ///< 'Connection type' droplist button.
59 WID_NSS_CLIENTS_LABEL
, ///< Label for 'max clients'.
60 WID_NSS_CLIENTS_BTND
, ///< 'Max clients' downarrow.
61 WID_NSS_CLIENTS_TXT
, ///< 'Max clients' text.
62 WID_NSS_CLIENTS_BTNU
, ///< 'Max clients' uparrow.
63 WID_NSS_COMPANIES_LABEL
, ///< Label for 'max companies'.
64 WID_NSS_COMPANIES_BTND
, ///< 'Max companies' downarrow.
65 WID_NSS_COMPANIES_TXT
, ///< 'Max companies' text.
66 WID_NSS_COMPANIES_BTNU
, ///< 'Max companies' uparrow.
68 WID_NSS_GENERATE_GAME
, ///< New game button.
69 WID_NSS_LOAD_GAME
, ///< Load game button.
70 WID_NSS_PLAY_SCENARIO
, ///< Play scenario button.
71 WID_NSS_PLAY_HEIGHTMAP
, ///< Play heightmap button.
73 WID_NSS_CANCEL
, ///< 'Cancel' button.
76 /** Widgets of the #NetworkClientListWindow class. */
77 enum ClientListWidgets
: WidgetID
{
78 WID_CL_PANEL
, ///< Panel of the window.
79 WID_CL_SERVER_SELECTOR
, ///< Selector to hide the server frame.
80 WID_CL_SERVER_NAME
, ///< Server name.
81 WID_CL_SERVER_NAME_EDIT
, ///< Edit button for server name.
82 WID_CL_SERVER_VISIBILITY
, ///< Server visibility.
83 WID_CL_SERVER_INVITE_CODE
, ///< Invite code for this server.
84 WID_CL_SERVER_CONNECTION_TYPE
, ///< The type of connection the Game Coordinator detected for this server.
85 WID_CL_CLIENT_NAME
, ///< Client name.
86 WID_CL_CLIENT_NAME_EDIT
, ///< Edit button for client name.
87 WID_CL_MATRIX
, ///< Company/client list.
88 WID_CL_SCROLLBAR
, ///< Scrollbar for company/client list.
89 WID_CL_CLIENT_COMPANY_COUNT
, ///< Count of clients and companies.
92 /** Widgets of the #NetworkJoinStatusWindow class. */
93 enum NetworkJoinStatusWidgets
: WidgetID
{
94 WID_NJS_PROGRESS_BAR
, ///< Simple progress bar.
95 WID_NJS_PROGRESS_TEXT
, ///< Text explaining what is happening.
96 WID_NJS_CANCELOK
, ///< Cancel / OK button.
99 /** Widgets of the #NetworkAskRelayWindow class. */
100 enum NetworkAskRelayWidgets
: WidgetID
{
101 WID_NAR_CAPTION
, ///< Caption of the window.
102 WID_NAR_TEXT
, ///< Text in the window.
103 WID_NAR_NO
, ///< "No" button.
104 WID_NAR_YES_ONCE
, ///< "Yes, once" button.
105 WID_NAR_YES_ALWAYS
, ///< "Yes, always" button.
108 /** Widgets of the #NetworkAskSurveyWindow class. */
109 enum NetworkAskSurveyWidgets
: WidgetID
{
110 WID_NAS_CAPTION
, ///< Caption of the window.
111 WID_NAS_TEXT
, ///< Text in the window.
112 WID_NAS_PREVIEW
, ///< "Preview" button.
113 WID_NAS_LINK
, ///< "Details & Privacy" button.
114 WID_NAS_NO
, ///< "No" button.
115 WID_NAS_YES
, ///< "Yes" button.
118 #endif /* WIDGETS_NETWORK_WIDGET_H */