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_gui.h Functions/types etc. related to the rail GUI. */
13 #include "rail_type.h"
14 #include "widgets/dropdown_type.h"
16 struct Window
*ShowBuildRailToolbar(RailType railtype
);
17 void ReinitGuiAfterToggleElrail(bool disable
);
18 void ResetSignalVariant(int32
= 0);
19 void InitializeRailGUI();
20 DropDownList
GetRailTypeDropDownList(bool for_replacement
= false, bool all_option
= false);
22 /** Settings for which signals are shown by the signal GUI. */
23 enum SignalGUISettings
: uint8
{
24 SIGNAL_GUI_PATH
= 0, ///< Show path signals only.
25 SIGNAL_GUI_ALL
= 1, ///< Show all signals, including block and presignals.
28 /** Settings for which signals are cycled through by control-clicking on the signal with the signal tool. */
29 enum SignalCycleSettings
: uint8
{
30 SIGNAL_CYCLE_PATH
= 0, ///< Cycle through path signals only.
31 SIGNAL_CYCLE_ALL
= 1, ///< Cycle through all signals visible.
34 #endif /* RAIL_GUI_H */