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 settings_widget.h Types related to the settings widgets. */
10 #ifndef WIDGETS_SETTINGS_WIDGET_H
11 #define WIDGETS_SETTINGS_WIDGET_H
13 /** Widgets of the #GameOptionsWindow class. */
14 enum GameOptionsWidgets
: WidgetID
{
15 WID_GO_TAB_GENERAL
, ///< General tab.
16 WID_GO_TAB_GRAPHICS
, ///< Graphics tab.
17 WID_GO_TAB_SOUND
, ///< Sound tab.
18 WID_GO_TAB_SOCIAL
, ///< Social tab.
19 WID_GO_TAB_SELECTION
, ///< Background of the tab selection.
20 WID_GO_CURRENCY_DROPDOWN
, ///< Currency dropdown.
21 WID_GO_DISTANCE_DROPDOWN
, ///< Measuring unit dropdown.
22 WID_GO_AUTOSAVE_DROPDOWN
, ///< Dropdown to say how often to autosave.
23 WID_GO_LANG_DROPDOWN
, ///< Language dropdown.
24 WID_GO_RESOLUTION_DROPDOWN
, ///< Dropdown for the resolution.
25 WID_GO_FULLSCREEN_BUTTON
, ///< Toggle fullscreen.
26 WID_GO_GUI_SCALE
, ///< GUI Scale slider.
27 WID_GO_GUI_SCALE_AUTO
, ///< Autodetect GUI scale button.
28 WID_GO_GUI_SCALE_BEVEL_BUTTON
, ///< Toggle for chunky bevels.
29 WID_GO_GUI_FONT_SPRITE
, ///< Toggle whether to prefer the sprite font over TTF fonts.
30 WID_GO_GUI_FONT_AA
, ///< Toggle whether to anti-alias fonts.
31 WID_GO_BASE_GRF_DROPDOWN
, ///< Use to select a base GRF.
32 WID_GO_BASE_GRF_PARAMETERS
, ///< Base GRF parameters.
33 WID_GO_BASE_GRF_CONTENT_DOWNLOAD
, ///< 'Get Content' button for base GRF.
34 WID_GO_BASE_GRF_OPEN_URL
, ///< Open base GRF URL.
35 WID_GO_BASE_GRF_TEXTFILE
, ///< Open base GRF readme, changelog (+1) or license (+2).
36 WID_GO_BASE_GRF_DESCRIPTION
= WID_GO_BASE_GRF_TEXTFILE
+ TFT_CONTENT_END
, ///< Description of selected base GRF.
37 WID_GO_BASE_SFX_DROPDOWN
, ///< Use to select a base SFX.
38 WID_GO_BASE_SFX_CONTENT_DOWNLOAD
, ///< 'Get Content' button for base SFX.
39 WID_GO_TEXT_SFX_VOLUME
, ///< Sound effects volume label.
40 WID_GO_BASE_SFX_VOLUME
, ///< Change sound effects volume.
41 WID_GO_BASE_SFX_OPEN_URL
, ///< Open base SFX URL.
42 WID_GO_BASE_SFX_TEXTFILE
, ///< Open base SFX readme, changelog (+1) or license (+2).
43 WID_GO_BASE_SFX_DESCRIPTION
= WID_GO_BASE_SFX_TEXTFILE
+ TFT_CONTENT_END
, ///< Description of selected base SFX.
44 WID_GO_BASE_MUSIC_DROPDOWN
, ///< Use to select a base music set.
45 WID_GO_BASE_MUSIC_CONTENT_DOWNLOAD
, ///< 'Get Content' button for base music.
46 WID_GO_TEXT_MUSIC_VOLUME
, ///< Music volume label.
47 WID_GO_BASE_MUSIC_VOLUME
, ///< Change music volume.
48 WID_GO_BASE_MUSIC_JUKEBOX
, ///< Open the jukebox.
49 WID_GO_BASE_MUSIC_OPEN_URL
, ///< Open base music URL.
50 WID_GO_BASE_MUSIC_TEXTFILE
, ///< Open base music readme, changelog (+1) or license (+2).
51 WID_GO_BASE_MUSIC_DESCRIPTION
= WID_GO_BASE_MUSIC_TEXTFILE
+ TFT_CONTENT_END
, ///< Description of selected base music set.
52 WID_GO_VIDEO_ACCEL_BUTTON
, ///< Toggle for video acceleration.
53 WID_GO_VIDEO_VSYNC_BUTTON
, ///< Toggle for video vsync.
54 WID_GO_REFRESH_RATE_DROPDOWN
, ///< Dropdown for all available refresh rates.
55 WID_GO_VIDEO_DRIVER_INFO
, ///< Label showing details about the current video driver.
56 WID_GO_SURVEY_SEL
, ///< Selection to hide survey if no JSON library is compiled in.
57 WID_GO_SURVEY_PARTICIPATE_BUTTON
, ///< Toggle for participating in the automated survey.
58 WID_GO_SURVEY_LINK_BUTTON
, ///< Button to open browser to go to the survey website.
59 WID_GO_SURVEY_PREVIEW_BUTTON
, ///< Button to open a preview window with the survey results
60 WID_GO_SOCIAL_PLUGINS
, ///< Main widget handling the social plugins.
61 WID_GO_SOCIAL_PLUGIN_TITLE
, ///< Title of the frame of the social plugin.
62 WID_GO_SOCIAL_PLUGIN_PLATFORM
, ///< Platform of the social plugin.
63 WID_GO_SOCIAL_PLUGIN_STATE
, ///< State of the social plugin.
66 /** Widgets of the #GameSettingsWindow class. */
67 enum GameSettingsWidgets
: WidgetID
{
68 WID_GS_FILTER
, ///< Text filter.
69 WID_GS_OPTIONSPANEL
, ///< Panel widget containing the option lists.
70 WID_GS_SCROLLBAR
, ///< Scrollbar.
71 WID_GS_HELP_TEXT
, ///< Information area to display help text of the selected option.
72 WID_GS_EXPAND_ALL
, ///< Expand all button.
73 WID_GS_COLLAPSE_ALL
, ///< Collapse all button.
74 WID_GS_RESET_ALL
, ///< Reset all button.
75 WID_GS_RESTRICT_CATEGORY
, ///< Label upfront to the category drop-down box to restrict the list of settings to show
76 WID_GS_RESTRICT_TYPE
, ///< Label upfront to the type drop-down box to restrict the list of settings to show
77 WID_GS_RESTRICT_DROPDOWN
, ///< The drop down box to restrict the list of settings
78 WID_GS_TYPE_DROPDOWN
, ///< The drop down box to choose client/game/company/all settings
80 WID_GS_SETTING_DROPDOWN
= -1, ///< Dynamically created dropdown for changing setting value.
83 /** Widgets of the #CustomCurrencyWindow class. */
84 enum CustomCurrencyWidgets
: WidgetID
{
85 WID_CC_RATE_DOWN
, ///< Down button.
86 WID_CC_RATE_UP
, ///< Up button.
87 WID_CC_RATE
, ///< Rate of currency.
88 WID_CC_SEPARATOR_EDIT
, ///< Separator edit button.
89 WID_CC_SEPARATOR
, ///< Current separator.
90 WID_CC_PREFIX_EDIT
, ///< Prefix edit button.
91 WID_CC_PREFIX
, ///< Current prefix.
92 WID_CC_SUFFIX_EDIT
, ///< Suffix edit button.
93 WID_CC_SUFFIX
, ///< Current suffix.
94 WID_CC_YEAR_DOWN
, ///< Down button.
95 WID_CC_YEAR_UP
, ///< Up button.
96 WID_CC_YEAR
, ///< Year of introduction.
97 WID_CC_PREVIEW
, ///< Preview.
100 #endif /* WIDGETS_SETTINGS_WIDGET_H */