1 /*
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/>.
6  */
7 
8 /** @file vehicle_widget.h Types related to the vehicle widgets. */
9 
10 #ifndef WIDGETS_VEHICLE_WIDGET_H
11 #define WIDGETS_VEHICLE_WIDGET_H
12 
13 /** Widgets of the #VehicleViewWindow class. */
14 enum VehicleViewWidgets {
15 	WID_VV_CAPTION,            ///< Caption of window.
16 	WID_VV_VIEWPORT,           ///< Viewport widget.
17 	WID_VV_START_STOP,         ///< Start or stop this vehicle, and show information about the current state.
18 	WID_VV_RENAME,             ///< Rename vehicle
19 	WID_VV_LOCATION,           ///< Center the main view on this vehicle.
20 	WID_VV_ORDER_LOCATION,     ///< Center the main view on the order's target location.
21 	WID_VV_GOTO_DEPOT,         ///< Order this vehicle to go to the depot.
22 	WID_VV_REFIT,              ///< Open the refit window.
23 	WID_VV_SHOW_ORDERS,        ///< Show the orders of this vehicle.
24 	WID_VV_SHOW_DETAILS,       ///< Show details of this vehicle.
25 	WID_VV_CLONE,              ///< Clone this vehicle.
26 	WID_VV_SELECT_DEPOT_CLONE, ///< Selection widget between 'goto depot', and 'clone vehicle' buttons.
27 	WID_VV_SELECT_REFIT_TURN,  ///< Selection widget between 'refit' and 'turn around' buttons.
28 	WID_VV_TURN_AROUND,        ///< Turn this vehicle around.
29 	WID_VV_FORCE_PROCEED,      ///< Force this vehicle to pass a signal at danger.
30 };
31 
32 /** Widgets of the #RefitWindow class. */
33 enum VehicleRefitWidgets {
34 	WID_VR_CAPTION,               ///< Caption of window.
35 	WID_VR_VEHICLE_PANEL_DISPLAY, ///< Display with a representation of the vehicle to refit.
36 	WID_VR_SHOW_HSCROLLBAR,       ///< Selection widget for the horizontal scrollbar.
37 	WID_VR_HSCROLLBAR,            ///< Horizontal scrollbar or the vehicle display.
38 	WID_VR_SELECT_HEADER,         ///< Header with question about the cargo to carry.
39 	WID_VR_MATRIX,                ///< Options to refit to.
40 	WID_VR_SCROLLBAR,             ///< Scrollbar for the refit options.
41 	WID_VR_INFO,                  ///< Information about the currently selected refit option.
42 	WID_VR_REFIT,                 ///< Perform the refit.
43 };
44 
45 /** Widgets of the #VehicleDetailsWindow class. */
46 enum VehicleDetailsWidgets {
47 	WID_VD_CAPTION,                     ///< Caption of window.
48 	WID_VD_TOP_DETAILS,                 ///< Panel with generic details.
49 	WID_VD_INCREASE_SERVICING_INTERVAL, ///< Increase the servicing interval.
50 	WID_VD_DECREASE_SERVICING_INTERVAL, ///< Decrease the servicing interval.
51 	WID_VD_SERVICE_INTERVAL_DROPDOWN,   ///< Dropdown to select default/days/percent service interval.
52 	WID_VD_SERVICING_INTERVAL,          ///< Information about the servicing interval.
53 	WID_VD_MIDDLE_DETAILS,              ///< Details for non-trains.
54 	WID_VD_MATRIX,                      ///< List of details for trains.
55 	WID_VD_SCROLLBAR,                   ///< Scrollbar for train details.
56 	WID_VD_DETAILS_CARGO_CARRIED,       ///< Show carried cargo per part of the train.
57 	WID_VD_DETAILS_TRAIN_VEHICLES,      ///< Show all parts of the train with their description.
58 	WID_VD_DETAILS_CAPACITY_OF_EACH,    ///< Show the capacity of all train parts.
59 	WID_VD_DETAILS_TOTAL_CARGO,         ///< Show the capacity and carried cargo amounts aggregated per cargo of the train.
60 };
61 
62 /** Widgets of the #VehicleListWindow class. */
63 enum VehicleListWidgets {
64 	WID_VL_CAPTION,                  ///< Caption of window (for non shared orders windows).
65 	WID_VL_CAPTION_SHARED_ORDERS,    ///< Caption of window (for shared orders windows).
66 	WID_VL_CAPTION_SELECTION,        ///< Selection for caption.
67 	WID_VL_ORDER_VIEW,               ///< Button to open order window (for shared orders windows).
68 	WID_VL_GROUP_ORDER,              ///< Group order.
69 	WID_VL_GROUP_BY_PULLDOWN,        ///< Group by dropdown list.
70 	WID_VL_SORT_ORDER,               ///< Sort order.
71 	WID_VL_SORT_BY_PULLDOWN,         ///< Sort by dropdown list.
72 	WID_VL_LIST,                     ///< List of the vehicles.
73 	WID_VL_SCROLLBAR,                ///< Scrollbar for the list.
74 	WID_VL_HIDE_BUTTONS,             ///< Selection to hide the buttons.
75 	WID_VL_AVAILABLE_VEHICLES,       ///< Available vehicles.
76 	WID_VL_MANAGE_VEHICLES_DROPDOWN, ///< Manage vehicles dropdown list.
77 	WID_VL_STOP_ALL,                 ///< Stop all button.
78 	WID_VL_START_ALL,                ///< Start all button.
79 };
80 
81 #endif /* WIDGETS_VEHICLE_WIDGET_H */
82