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 rail_widget.h Types related to the rail widgets. */
10 #ifndef WIDGETS_RAIL_WIDGET_H
11 #define WIDGETS_RAIL_WIDGET_H
13 /** Widgets of the #BuildRailToolbarWindow class. */
14 enum RailToolbarWidgets
: WidgetID
{
15 /* Name starts with RA instead of R, because of collision with RoadToolbarWidgets */
16 WID_RAT_CAPTION
, ///< Caption of the window.
17 WID_RAT_BUILD_NS
, ///< Build rail along the game view Y axis.
18 WID_RAT_BUILD_X
, ///< Build rail along the game grid X axis.
19 WID_RAT_BUILD_EW
, ///< Build rail along the game view X axis.
20 WID_RAT_BUILD_Y
, ///< Build rail along the game grid Y axis.
21 WID_RAT_AUTORAIL
, ///< Autorail tool.
22 WID_RAT_DEMOLISH
, ///< Destroy something with dynamite!
23 WID_RAT_BUILD_DEPOT
, ///< Build a depot.
24 WID_RAT_BUILD_WAYPOINT
, ///< Build a waypoint.
25 WID_RAT_BUILD_STATION
, ///< Build a station.
26 WID_RAT_BUILD_SIGNALS
, ///< Build signals.
27 WID_RAT_BUILD_BRIDGE
, ///< Build a bridge.
28 WID_RAT_BUILD_TUNNEL
, ///< Build a tunnel.
29 WID_RAT_REMOVE
, ///< Bulldozer to remove rail.
30 WID_RAT_CONVERT_RAIL
, ///< Convert other rail to this type.
35 /** Widgets of the #BuildRailStationWindow class. */
36 enum BuildRailStationWidgets
: WidgetID
{
37 /* Name starts with BRA instead of BR, because of collision with BuildRoadStationWidgets */
38 WID_BRAS_PLATFORM_DIR_X
, ///< Button to select '/' view.
39 WID_BRAS_PLATFORM_DIR_Y
, ///< Button to select '\' view.
41 WID_BRAS_PLATFORM_NUM_1
, ///< Button to select stations with a single platform.
42 WID_BRAS_PLATFORM_NUM_2
, ///< Button to select stations with 2 platforms.
43 WID_BRAS_PLATFORM_NUM_3
, ///< Button to select stations with 3 platforms.
44 WID_BRAS_PLATFORM_NUM_4
, ///< Button to select stations with 4 platforms.
45 WID_BRAS_PLATFORM_NUM_5
, ///< Button to select stations with 5 platforms.
46 WID_BRAS_PLATFORM_NUM_6
, ///< Button to select stations with 6 platforms.
47 WID_BRAS_PLATFORM_NUM_7
, ///< Button to select stations with 7 platforms.
49 WID_BRAS_PLATFORM_LEN_1
, ///< Button to select single tile length station platforms.
50 WID_BRAS_PLATFORM_LEN_2
, ///< Button to select 2 tiles length station platforms.
51 WID_BRAS_PLATFORM_LEN_3
, ///< Button to select 3 tiles length station platforms.
52 WID_BRAS_PLATFORM_LEN_4
, ///< Button to select 4 tiles length station platforms.
53 WID_BRAS_PLATFORM_LEN_5
, ///< Button to select 5 tiles length station platforms.
54 WID_BRAS_PLATFORM_LEN_6
, ///< Button to select 6 tiles length station platforms.
55 WID_BRAS_PLATFORM_LEN_7
, ///< Button to select 7 tiles length station platforms.
57 WID_BRAS_PLATFORM_DRAG_N_DROP
, ///< Button to enable drag and drop type station placement.
59 WID_BRAS_HIGHLIGHT_OFF
, ///< Button for turning coverage highlighting off.
60 WID_BRAS_HIGHLIGHT_ON
, ///< Button for turning coverage highlighting on.
61 WID_BRAS_COVERAGE_TEXTS
, ///< Empty space for the coverage texts.
63 WID_BRAS_PLATFORM_NUM_BEGIN
= WID_BRAS_PLATFORM_NUM_1
- 1, ///< Helper for determining the chosen platform width.
64 WID_BRAS_PLATFORM_LEN_BEGIN
= WID_BRAS_PLATFORM_LEN_1
- 1, ///< Helper for determining the chosen platform length.
67 /** Widgets of the #BuildSignalWindow class. */
68 enum BuildSignalWidgets
: WidgetID
{
69 WID_BS_CAPTION
, ///< Caption for the Signal Selection window.
70 WID_BS_TOGGLE_SIZE
, ///< Toggle showing advanced signal types.
71 WID_BS_SEMAPHORE_NORM
, ///< Build a semaphore normal block signal.
72 WID_BS_SEMAPHORE_ENTRY
, ///< Build a semaphore entry block signal.
73 WID_BS_SEMAPHORE_EXIT
, ///< Build a semaphore exit block signal.
74 WID_BS_SEMAPHORE_COMBO
, ///< Build a semaphore combo block signal.
75 WID_BS_SEMAPHORE_PBS
, ///< Build a semaphore path signal.
76 WID_BS_SEMAPHORE_PBS_OWAY
, ///< Build a semaphore one way path signal.
77 WID_BS_ELECTRIC_NORM
, ///< Build an electric normal block signal.
78 WID_BS_ELECTRIC_ENTRY
, ///< Build an electric entry block signal.
79 WID_BS_ELECTRIC_EXIT
, ///< Build an electric exit block signal.
80 WID_BS_ELECTRIC_COMBO
, ///< Build an electric combo block signal.
81 WID_BS_ELECTRIC_PBS
, ///< Build an electric path signal.
82 WID_BS_ELECTRIC_PBS_OWAY
, ///< Build an electric one way path signal.
83 WID_BS_CONVERT
, ///< Convert the signal.
84 WID_BS_DRAG_SIGNALS_DENSITY_LABEL
, ///< The current signal density.
85 WID_BS_DRAG_SIGNALS_DENSITY_DECREASE
, ///< Decrease the signal density.
86 WID_BS_DRAG_SIGNALS_DENSITY_INCREASE
, ///< Increase the signal density.
87 WID_BS_BLOCK_SEL
, ///< Container for the block signal group, which can be hidden.
88 WID_BS_BLOCK_SPACER_SEL
, ///< Container for the spacer between block and path signal groups, which can be hidden.
91 /** Widgets of the #BuildRailDepotWindow class. */
92 enum BuildRailDepotWidgets
: WidgetID
{
93 /* Name starts with BRA instead of BR, because of collision with BuildRoadDepotWidgets */
94 WID_BRAD_DEPOT_NE
, ///< Build a depot with the entrance in the north east.
95 WID_BRAD_DEPOT_SE
, ///< Build a depot with the entrance in the south east.
96 WID_BRAD_DEPOT_SW
, ///< Build a depot with the entrance in the south west.
97 WID_BRAD_DEPOT_NW
, ///< Build a depot with the entrance in the north west.
100 /** Widgets of the #BuildRailWaypointWindow class. */
101 enum BuildRailWaypointWidgets
: WidgetID
{
102 WID_BRW_FILTER
, ///< Text filter.
103 WID_BRW_WAYPOINT_MATRIX
, ///< Matrix with waypoints.
104 WID_BRW_WAYPOINT
, ///< A single waypoint.
105 WID_BRW_SCROLL
, ///< Scrollbar for the matrix.
106 WID_BRW_NAME
, ///< Name of selected waypoint.
109 #endif /* WIDGETS_RAIL_WIDGET_H */