1
0
Fork 0

Codechange: replace SetStringParameters with GetWidgetString for AI, airport and autoreplace windows

pull/13697/head
Rubidium 2025-03-01 22:08:57 +01:00 committed by rubidium42
parent d94d421772
commit 8d63aea929
3 changed files with 30 additions and 40 deletions

View File

@ -115,16 +115,17 @@ struct AIConfigWindow : public Window {
this->Window::Close(); this->Window::Close();
} }
void SetStringParameters(WidgetID widget) const override std::string GetWidgetString(WidgetID widget, StringID stringid) const override
{ {
switch (widget) { switch (widget) {
case WID_AIC_NUMBER: case WID_AIC_NUMBER:
SetDParam(0, GetGameSettings().difficulty.max_no_competitors); return GetString(stringid, GetGameSettings().difficulty.max_no_competitors);
break;
case WID_AIC_INTERVAL: case WID_AIC_INTERVAL:
SetDParam(0, GetGameSettings().difficulty.competitors_interval); return GetString(stringid, GetGameSettings().difficulty.competitors_interval);
break;
default:
return this->Window::GetWidgetString(widget, stringid);
} }
} }

View File

@ -292,28 +292,26 @@ public:
this->PickerWindowBase::Close(); this->PickerWindowBase::Close();
} }
void SetStringParameters(WidgetID widget) const override std::string GetWidgetString(WidgetID widget, StringID stringid) const override
{ {
switch (widget) { switch (widget) {
case WID_AP_CLASS_DROPDOWN: case WID_AP_CLASS_DROPDOWN:
SetDParam(0, AirportClass::Get(_selected_airport_class)->name); return GetString(stringid, AirportClass::Get(_selected_airport_class)->name);
break;
case WID_AP_LAYOUT_NUM: case WID_AP_LAYOUT_NUM:
SetDParam(0, STR_EMPTY);
if (_selected_airport_index != -1) { if (_selected_airport_index != -1) {
const AirportSpec *as = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index); const AirportSpec *as = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index);
StringID string = GetAirportTextCallback(as, _selected_airport_layout, CBID_AIRPORT_LAYOUT_NAME); StringID string = GetAirportTextCallback(as, _selected_airport_layout, CBID_AIRPORT_LAYOUT_NAME);
if (string != STR_UNDEFINED) { if (string != STR_UNDEFINED) {
SetDParam(0, string); return GetString(stringid, string);
} else if (as->layouts.size() > 1) { } else if (as->layouts.size() > 1) {
SetDParam(0, STR_STATION_BUILD_AIRPORT_LAYOUT_NAME); return GetString(stringid, STR_STATION_BUILD_AIRPORT_LAYOUT_NAME, _selected_airport_layout + 1);
SetDParam(1, _selected_airport_layout + 1);
} }
} }
break; return GetString(stringid, STR_EMPTY);
default: break; default:
return this->Window::GetWidgetString(widget, stringid);
} }
} }

View File

@ -380,58 +380,49 @@ public:
} }
} }
void SetStringParameters(WidgetID widget) const override std::string GetWidgetString(WidgetID widget, StringID stringid) const override
{ {
switch (widget) { switch (widget) {
case WID_RV_CAPTION: case WID_RV_CAPTION:
SetDParam(0, STR_REPLACE_VEHICLE_TRAIN + this->window_number);
switch (this->sel_group.base()) { switch (this->sel_group.base()) {
case ALL_GROUP.base(): case ALL_GROUP.base():
SetDParam(1, STR_GROUP_ALL_TRAINS + this->window_number); return GetString(stringid, STR_REPLACE_VEHICLE_TRAIN + this->window_number, STR_GROUP_ALL_TRAINS + this->window_number);
break; break;
case DEFAULT_GROUP.base(): case DEFAULT_GROUP.base():
SetDParam(1, STR_GROUP_DEFAULT_TRAINS + this->window_number); return GetString(stringid, STR_REPLACE_VEHICLE_TRAIN + this->window_number, STR_GROUP_DEFAULT_TRAINS + this->window_number);
break; break;
default: default:
SetDParam(1, STR_GROUP_NAME); return GetString(stringid, STR_REPLACE_VEHICLE_TRAIN + this->window_number, STR_GROUP_NAME, sel_group);
SetDParam(2, sel_group);
break;
} }
break; break;
case WID_RV_SORT_DROPDOWN: case WID_RV_SORT_DROPDOWN:
SetDParam(0, std::data(_engine_sort_listing[this->window_number])[this->sort_criteria]); return GetString(stringid, std::data(_engine_sort_listing[this->window_number])[this->sort_criteria]);
break;
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: { case WID_RV_TRAIN_WAGONREMOVE_TOGGLE:
bool remove_wagon; if (const Group *g = Group::GetIfValid(this->sel_group); g != nullptr) {
const Group *g = Group::GetIfValid(this->sel_group); bool remove_wagon = g->flags.Test(GroupFlag::ReplaceWagonRemoval);
if (g != nullptr) { return GetString(stringid, STR_GROUP_NAME, sel_group, remove_wagon ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
remove_wagon = g->flags.Test(GroupFlag::ReplaceWagonRemoval);
SetDParam(0, STR_GROUP_NAME);
SetDParam(1, sel_group);
} else { } else {
const Company *c = Company::Get(_local_company); const Company *c = Company::Get(_local_company);
remove_wagon = c->settings.renew_keep_length; bool remove_wagon = c->settings.renew_keep_length;
SetDParam(0, STR_GROUP_DEFAULT_TRAINS + this->window_number); return GetString(stringid, STR_GROUP_DEFAULT_TRAINS + this->window_number, std::monostate{}, remove_wagon ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
} }
SetDParam(2, remove_wagon ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
break; break;
}
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN: case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN:
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS); return GetString(stringid, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
break;
case WID_RV_RAIL_TYPE_DROPDOWN: case WID_RV_RAIL_TYPE_DROPDOWN:
SetDParam(0, this->sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(this->sel_railtype)->strings.replace_text); return GetString(stringid, this->sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(this->sel_railtype)->strings.replace_text);
break;
case WID_RV_ROAD_TYPE_DROPDOWN: case WID_RV_ROAD_TYPE_DROPDOWN:
SetDParam(0, this->sel_roadtype == INVALID_ROADTYPE ? STR_REPLACE_ALL_ROADTYPE : GetRoadTypeInfo(this->sel_roadtype)->strings.replace_text); return GetString(stringid, this->sel_roadtype == INVALID_ROADTYPE ? STR_REPLACE_ALL_ROADTYPE : GetRoadTypeInfo(this->sel_roadtype)->strings.replace_text);
break;
default:
return this->Window::GetWidgetString(widget, stringid);
} }
} }