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 rail_gui.h Functions/types etc. related to the rail GUI. */ 9 10 #ifndef RAIL_GUI_H 11 #define RAIL_GUI_H 12 13 #include "rail_type.h" 14 #include "widgets/dropdown_type.h" 15 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); 21 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. 26 }; 27 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. 32 }; 33 34 #endif /* RAIL_GUI_H */ 35