summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-03-25 00:08:47 +0000
committerrubidium <rubidium@openttd.org>2009-03-25 00:08:47 +0000
commit716fa8b501d48e4fd44621c9d84a1266312f84dc (patch)
tree5ecc9b4b75276b79065de2043481cf620dd6ac44
parent283b5bd27c79d704586c91966566c402f13cc764 (diff)
downloadopenttd-716fa8b501d48e4fd44621c9d84a1266312f84dc.tar.xz
(svn r15840) -Codechange: complete the game option window widget enum and unify the naming.
-rw-r--r--src/settings_gui.cpp148
1 files changed, 81 insertions, 67 deletions
diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp
index 494f54137..4434869c2 100644
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -95,17 +95,31 @@ static int GetCurRes()
return i;
}
+/** Widgets of the game options menu */
enum GameOptionsWidgets {
- GAMEOPT_CURRENCY_BTN = 4,
- GAMEOPT_DISTANCE_BTN = 6,
- GAMEOPT_ROADSIDE_BTN = 8,
- GAMEOPT_TOWNNAME_BTN = 10,
- GAMEOPT_AUTOSAVE_BTN = 12,
- GAMEOPT_LANG_BTN = 14,
- GAMEOPT_RESOLUTION_BTN = 16,
- GAMEOPT_FULLSCREEN,
- GAMEOPT_SCREENSHOT_BTN = 19,
- GAMEOPT_BASE_GRF_BTN = 21,
+ GOW_CLOSEBOX = 0, ///< Close the window
+ GOW_CAPTION, ///< Caption of the window
+ GOW_BACKGROUND, ///< Background of the window
+ GOW_CURRENCY_FRAME, ///< Frame of the currency dropdown
+ GOW_CURRENCY_DROPDOWN, ///< Currency dropdown
+ GOW_DISTANCE_FRAME, ///< Measuring unit frame
+ GOW_DISTANCE_DROPDOWN, ///< Measuring unit dropdown
+ GOW_ROADSIDE_FRAME, ///< Road side frame
+ GOW_ROADSIDE_DROPDOWN, ///< Dropdown to select the road side (to set the right side ;))
+ GOW_TOWNNAME_FRAME, ///< Frame for the town name dropdown
+ GOW_TOWNNAME_DROPDOWN, ///< Town name dropdown
+ GOW_AUTOSAVE_FRAME, ///< Frame for autosave
+ GOW_AUTOSAVE_DROPDOWN, ///< Dropdown to say how often to autosave
+ GOW_LANG_FRAME, ///< Language dropdown frame
+ GOW_LANG_DROPDOWN, ///< Language dropdown
+ GOW_RESOLUTION_FRAME, ///< Frame for the dropdown for the resolution
+ GOW_RESOLUTION_DROPDOWN, ///< Dropdown for the resolution
+ GOW_FULLSCREEN_LABEL, ///< Text (right) to the fullscreen button
+ GOW_FULLSCREEN_BUTTON, ///< Toggle fullscreen
+ GOW_SCREENSHOT_FRAME, ///< Frame for the screenshot type
+ GOW_SCREENSHOT_DROPDOWN, ///< Select the screenshot type... please use PNG!
+ GOW_BASE_GRF_FRAME, ///< Base GRF selection frame
+ GOW_BASE_GRF_DROPDOWN, ///< Use to select a base GRF
};
/**
@@ -129,7 +143,7 @@ static void ShowTownnameDropdown(Window *w, int sel)
list->push_back(new DropDownListStringItem((*it).first, (*it).second, !(_game_mode == GM_MENU || GetNumTowns() == 0 || (*it).second == sel)));
}
- ShowDropDownList(w, list, sel, GAMEOPT_TOWNNAME_BTN);
+ ShowDropDownList(w, list, sel, GOW_TOWNNAME_DROPDOWN);
}
static void ShowCustCurrency();
@@ -144,7 +158,7 @@ static void ShowGraphicsSetMenu(Window *w)
list->push_back(new DropDownListCharStringItem(GetGraphicsSetName(i), i, (_game_mode == GM_MENU) ? false : (current != i)));
}
- ShowDropDownList(w, list, current, GAMEOPT_BASE_GRF_BTN);
+ ShowDropDownList(w, list, current, GOW_BASE_GRF_DROPDOWN);
}
struct GameOptionsWindow : Window {
@@ -175,25 +189,24 @@ struct GameOptionsWindow : Window {
int i = GetCurRes();
SetDParam(7, i == _num_resolutions ? STR_RES_OTHER : SPECSTR_RESOLUTION_START + i);
SetDParam(8, SPECSTR_SCREENSHOT_START + _cur_screenshot_format);
- this->SetWidgetLoweredState(GAMEOPT_FULLSCREEN, _fullscreen);
+ this->SetWidgetLoweredState(GOW_FULLSCREEN_BUTTON, _fullscreen);
SetDParamStr(9, GetGraphicsSetName(GetIndexOfCurrentGraphicsSet()));
this->DrawWidgets();
- DrawString(20, this->width / 2, 175, STR_OPTIONS_FULLSCREEN, TC_FROMSTRING); // fullscreen
}
virtual void OnClick(Point pt, int widget)
{
switch (widget) {
- case GAMEOPT_CURRENCY_BTN: // Setup currencies dropdown
- ShowDropDownMenu(this, BuildCurrencyDropdown(), this->opt->locale.currency, GAMEOPT_CURRENCY_BTN, _game_mode == GM_MENU ? 0 : ~GetMaskOfAllowedCurrencies(), 0);
+ case GOW_CURRENCY_DROPDOWN: // Setup currencies dropdown
+ ShowDropDownMenu(this, BuildCurrencyDropdown(), this->opt->locale.currency, GOW_CURRENCY_DROPDOWN, _game_mode == GM_MENU ? 0 : ~GetMaskOfAllowedCurrencies(), 0);
break;
- case GAMEOPT_DISTANCE_BTN: // Setup distance unit dropdown
- ShowDropDownMenu(this, _units_dropdown, this->opt->locale.units, GAMEOPT_DISTANCE_BTN, 0, 0);
+ case GOW_DISTANCE_DROPDOWN: // Setup distance unit dropdown
+ ShowDropDownMenu(this, _units_dropdown, this->opt->locale.units, GOW_DISTANCE_DROPDOWN, 0, 0);
break;
- case GAMEOPT_ROADSIDE_BTN: { // Setup road-side dropdown
+ case GOW_ROADSIDE_DROPDOWN: { // Setup road-side dropdown
int i = 0;
extern bool RoadVehiclesAreBuilt();
@@ -203,18 +216,18 @@ struct GameOptionsWindow : Window {
i = (-1) ^ (1 << this->opt->vehicle.road_side); // disable the other value
}
- ShowDropDownMenu(this, _driveside_dropdown, this->opt->vehicle.road_side, GAMEOPT_ROADSIDE_BTN, i, 0);
+ ShowDropDownMenu(this, _driveside_dropdown, this->opt->vehicle.road_side, GOW_ROADSIDE_DROPDOWN, i, 0);
} break;
- case GAMEOPT_TOWNNAME_BTN: // Setup townname dropdown
+ case GOW_TOWNNAME_DROPDOWN: // Setup townname dropdown
ShowTownnameDropdown(this, this->opt->game_creation.town_name);
break;
- case GAMEOPT_AUTOSAVE_BTN: // Setup autosave dropdown
- ShowDropDownMenu(this, _autosave_dropdown, _settings_client.gui.autosave, GAMEOPT_AUTOSAVE_BTN, 0, 0);
+ case GOW_AUTOSAVE_DROPDOWN: // Setup autosave dropdown
+ ShowDropDownMenu(this, _autosave_dropdown, _settings_client.gui.autosave, GOW_AUTOSAVE_DROPDOWN, 0, 0);
break;
- case GAMEOPT_LANG_BTN: { // Setup interface language dropdown
+ case GOW_LANG_DROPDOWN: { // Setup interface language dropdown
typedef std::map<StringID, int, StringIDCompare> LangList;
/* Sort language names */
@@ -226,27 +239,27 @@ struct GameOptionsWindow : Window {
list->push_back(new DropDownListStringItem((*it).first, (*it).second, false));
}
- ShowDropDownList(this, list, _dynlang.curr, GAMEOPT_LANG_BTN);
+ ShowDropDownList(this, list, _dynlang.curr, GOW_LANG_DROPDOWN);
} break;
- case GAMEOPT_RESOLUTION_BTN: // Setup resolution dropdown
- ShowDropDownMenu(this, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), GAMEOPT_RESOLUTION_BTN, 0, 0);
+ case GOW_RESOLUTION_DROPDOWN: // Setup resolution dropdown
+ ShowDropDownMenu(this, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), GOW_RESOLUTION_DROPDOWN, 0, 0);
break;
- case GAMEOPT_FULLSCREEN: // Click fullscreen on/off
+ case GOW_FULLSCREEN_BUTTON: // Click fullscreen on/off
/* try to toggle full-screen on/off */
if (!ToggleFullScreen(!_fullscreen)) {
ShowErrorMessage(INVALID_STRING_ID, STR_FULLSCREEN_FAILED, 0, 0);
}
- this->SetWidgetLoweredState(GAMEOPT_FULLSCREEN, _fullscreen);
+ this->SetWidgetLoweredState(GOW_FULLSCREEN_BUTTON, _fullscreen);
this->SetDirty();
break;
- case GAMEOPT_SCREENSHOT_BTN: // Setup screenshot format dropdown
- ShowDropDownMenu(this, BuildDynamicDropdown(SPECSTR_SCREENSHOT_START, _num_screenshot_formats), _cur_screenshot_format, GAMEOPT_SCREENSHOT_BTN, 0, 0);
+ case GOW_SCREENSHOT_DROPDOWN: // Setup screenshot format dropdown
+ ShowDropDownMenu(this, BuildDynamicDropdown(SPECSTR_SCREENSHOT_START, _num_screenshot_formats), _cur_screenshot_format, GOW_SCREENSHOT_DROPDOWN, 0, 0);
break;
- case GAMEOPT_BASE_GRF_BTN:
+ case GOW_BASE_GRF_DROPDOWN:
ShowGraphicsSetMenu(this);
break;
}
@@ -255,18 +268,18 @@ struct GameOptionsWindow : Window {
virtual void OnDropdownSelect(int widget, int index)
{
switch (widget) {
- case GAMEOPT_CURRENCY_BTN: // Currency
+ case GOW_CURRENCY_DROPDOWN: // Currency
if (index == CUSTOM_CURRENCY_ID) ShowCustCurrency();
this->opt->locale.currency = index;
MarkWholeScreenDirty();
break;
- case GAMEOPT_DISTANCE_BTN: // Measuring units
+ case GOW_DISTANCE_DROPDOWN: // Measuring units
this->opt->locale.units = index;
MarkWholeScreenDirty();
break;
- case GAMEOPT_ROADSIDE_BTN: // Road side
+ case GOW_ROADSIDE_DROPDOWN: // Road side
if (this->opt->vehicle.road_side != index) { // only change if setting changed
uint i;
if (GetSettingFromName("vehicle.road_side", &i) == NULL) NOT_REACHED();
@@ -275,19 +288,19 @@ struct GameOptionsWindow : Window {
}
break;
- case GAMEOPT_TOWNNAME_BTN: // Town names
+ case GOW_TOWNNAME_DROPDOWN: // Town names
if (_game_mode == GM_MENU || GetNumTowns() == 0) {
this->opt->game_creation.town_name = index;
InvalidateWindow(WC_GAME_OPTIONS, 0);
}
break;
- case GAMEOPT_AUTOSAVE_BTN: // Autosave options
+ case GOW_AUTOSAVE_DROPDOWN: // Autosave options
_settings_client.gui.autosave = index;
this->SetDirty();
break;
- case GAMEOPT_LANG_BTN: // Change interface language
+ case GOW_LANG_DROPDOWN: // Change interface language
ReadLanguagePack(index);
CheckForMissingGlyphsInLoadedLanguagePack();
UpdateAllStationVirtCoord();
@@ -295,18 +308,18 @@ struct GameOptionsWindow : Window {
MarkWholeScreenDirty();
break;
- case GAMEOPT_RESOLUTION_BTN: // Change resolution
+ case GOW_RESOLUTION_DROPDOWN: // Change resolution
if (index < _num_resolutions && ChangeResInGame(_resolutions[index].width, _resolutions[index].height)) {
this->SetDirty();
}
break;
- case GAMEOPT_SCREENSHOT_BTN: // Change screenshot format
+ case GOW_SCREENSHOT_DROPDOWN: // Change screenshot format
SetScreenshotFormat(index);
this->SetDirty();
break;
- case GAMEOPT_BASE_GRF_BTN:
+ case GOW_BASE_GRF_DROPDOWN:
if (_game_mode == GM_MENU) {
const char *name = GetGraphicsSetName(index);
@@ -322,32 +335,33 @@ struct GameOptionsWindow : Window {
};
static const Widget _game_options_widgets[] = {
-{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
-{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 369, 0, 13, STR_00B1_GAME_OPTIONS, STR_018C_WINDOW_TITLE_DRAG_THIS},
-{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 369, 14, 242, 0x0, STR_NULL},
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 20, 55, STR_02E0_CURRENCY_UNITS, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 34, 45, STR_02E1, STR_02E2_CURRENCY_UNITS_SELECTION},
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 20, 55, STR_MEASURING_UNITS, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 34, 45, STR_02E4, STR_MEASURING_UNITS_SELECTION},
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 62, 97, STR_02E6_ROAD_VEHICLES, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 76, 87, STR_02E7, STR_02E8_SELECT_SIDE_OF_ROAD_FOR},
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 62, 97, STR_02EB_TOWN_NAMES, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 76, 87, STR_02EC, STR_02ED_SELECT_STYLE_OF_TOWN_NAMES},
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 104, 139, STR_02F4_AUTOSAVE, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 118, 129, STR_02F5, STR_02F6_SELECT_INTERVAL_BETWEEN},
-
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 104, 139, STR_OPTIONS_LANG, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 118, 129, STR_OPTIONS_LANG_CBO, STR_OPTIONS_LANG_TIP},
-
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 146, 190, STR_OPTIONS_RES, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 160, 171, STR_OPTIONS_RES_CBO, STR_OPTIONS_RES_TIP},
-{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 149, 169, 176, 184, STR_EMPTY, STR_OPTIONS_FULLSCREEN_TIP},
-
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 146, 190, STR_OPTIONS_SCREENSHOT_FORMAT, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 160, 171, STR_OPTIONS_SCREENSHOT_FORMAT_CBO, STR_OPTIONS_SCREENSHOT_FORMAT_TIP},
-
-{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 197, 232, STR_OPTIONS_BASE_GRF, STR_NULL},
-{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 211, 222, STR_OPTIONS_BASE_GRF_CBO, STR_OPTIONS_BASE_GRF_TIP},
+{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // GOW_CLOSEBOX
+{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 369, 0, 13, STR_00B1_GAME_OPTIONS, STR_018C_WINDOW_TITLE_DRAG_THIS}, // GOW_CAPTION
+{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 369, 14, 242, 0x0, STR_NULL}, // GOW_BACKGROUND
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 20, 55, STR_02E0_CURRENCY_UNITS, STR_NULL}, // GOW_CURRENCY_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 34, 45, STR_02E1, STR_02E2_CURRENCY_UNITS_SELECTION}, // GOW_CURRENCY_DROPDOWN
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 20, 55, STR_MEASURING_UNITS, STR_NULL}, // GOW_DISTANCE_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 34, 45, STR_02E4, STR_MEASURING_UNITS_SELECTION}, // GOW_DISTANCE_DROPDOWN
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 62, 97, STR_02E6_ROAD_VEHICLES, STR_NULL}, // GOW_ROADSIDE_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 76, 87, STR_02E7, STR_02E8_SELECT_SIDE_OF_ROAD_FOR}, // GOW_ROADSIDE_DROPDOWN
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 62, 97, STR_02EB_TOWN_NAMES, STR_NULL}, // GOW_TOWNNAME_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 76, 87, STR_02EC, STR_02ED_SELECT_STYLE_OF_TOWN_NAMES}, // GOW_TOWNNAME_DROPDOWN
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 104, 139, STR_02F4_AUTOSAVE, STR_NULL}, // GOW_AUTOSAVE_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 118, 129, STR_02F5, STR_02F6_SELECT_INTERVAL_BETWEEN}, // GOW_AUTOSAVE_DROPDOWN
+
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 104, 139, STR_OPTIONS_LANG, STR_NULL}, // GOW_LANG_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 118, 129, STR_OPTIONS_LANG_CBO, STR_OPTIONS_LANG_TIP}, // GOW_LANG_DROPDOWN
+
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 146, 190, STR_OPTIONS_RES, STR_NULL}, // GOW_RESOLUTION_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 160, 171, STR_OPTIONS_RES_CBO, STR_OPTIONS_RES_TIP}, // GOW_RESOLUTION_DROPDOWN
+{ WWT_TEXT, RESIZE_NONE, COLOUR_GREY, 20, 146, 175, 186, STR_OPTIONS_FULLSCREEN, STR_NULL}, // GOW_FULLSCREEN_LABEL
+{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 149, 169, 176, 184, STR_EMPTY, STR_OPTIONS_FULLSCREEN_TIP}, // GOW_FULLSCREEN_BUTTON
+
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 190, 359, 146, 190, STR_OPTIONS_SCREENSHOT_FORMAT, STR_NULL}, // GOW_SCREENSHOT_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 200, 349, 160, 171, STR_OPTIONS_SCREENSHOT_FORMAT_CBO, STR_OPTIONS_SCREENSHOT_FORMAT_TIP}, // GOW_SCREENSHOT_DROPDOWN
+
+{ WWT_FRAME, RESIZE_NONE, COLOUR_GREY, 10, 179, 197, 232, STR_OPTIONS_BASE_GRF, STR_NULL}, // GOW_BASE_GRF_FRAME
+{ WWT_DROPDOWN, RESIZE_NONE, COLOUR_GREY, 20, 169, 211, 222, STR_OPTIONS_BASE_GRF_CBO, STR_OPTIONS_BASE_GRF_TIP}, // GOW_BASE_GRF_DROPDOWN
{ WIDGETS_END},
};