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();
}
void SetStringParameters(WidgetID widget) const override
std::string GetWidgetString(WidgetID widget, StringID stringid) const override
{
switch (widget) {
case WID_AIC_NUMBER:
SetDParam(0, GetGameSettings().difficulty.max_no_competitors);
break;
return GetString(stringid, GetGameSettings().difficulty.max_no_competitors);
case WID_AIC_INTERVAL:
SetDParam(0, GetGameSettings().difficulty.competitors_interval);
break;
return GetString(stringid, GetGameSettings().difficulty.competitors_interval);
default:
return this->Window::GetWidgetString(widget, stringid);
}
}

View File

@ -292,28 +292,26 @@ public:
this->PickerWindowBase::Close();
}
void SetStringParameters(WidgetID widget) const override
std::string GetWidgetString(WidgetID widget, StringID stringid) const override
{
switch (widget) {
case WID_AP_CLASS_DROPDOWN:
SetDParam(0, AirportClass::Get(_selected_airport_class)->name);
break;
return GetString(stringid, AirportClass::Get(_selected_airport_class)->name);
case WID_AP_LAYOUT_NUM:
SetDParam(0, STR_EMPTY);
if (_selected_airport_index != -1) {
const AirportSpec *as = AirportClass::Get(_selected_airport_class)->GetSpec(_selected_airport_index);
StringID string = GetAirportTextCallback(as, _selected_airport_layout, CBID_AIRPORT_LAYOUT_NAME);
if (string != STR_UNDEFINED) {
SetDParam(0, string);
return GetString(stringid, string);
} else if (as->layouts.size() > 1) {
SetDParam(0, STR_STATION_BUILD_AIRPORT_LAYOUT_NAME);
SetDParam(1, _selected_airport_layout + 1);
return GetString(stringid, STR_STATION_BUILD_AIRPORT_LAYOUT_NAME, _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) {
case WID_RV_CAPTION:
SetDParam(0, STR_REPLACE_VEHICLE_TRAIN + this->window_number);
switch (this->sel_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;
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;
default:
SetDParam(1, STR_GROUP_NAME);
SetDParam(2, sel_group);
break;
return GetString(stringid, STR_REPLACE_VEHICLE_TRAIN + this->window_number, STR_GROUP_NAME, sel_group);
}
break;
case WID_RV_SORT_DROPDOWN:
SetDParam(0, std::data(_engine_sort_listing[this->window_number])[this->sort_criteria]);
break;
return GetString(stringid, std::data(_engine_sort_listing[this->window_number])[this->sort_criteria]);
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE: {
bool remove_wagon;
const Group *g = Group::GetIfValid(this->sel_group);
if (g != nullptr) {
remove_wagon = g->flags.Test(GroupFlag::ReplaceWagonRemoval);
SetDParam(0, STR_GROUP_NAME);
SetDParam(1, sel_group);
case WID_RV_TRAIN_WAGONREMOVE_TOGGLE:
if (const Group *g = Group::GetIfValid(this->sel_group); g != nullptr) {
bool remove_wagon = g->flags.Test(GroupFlag::ReplaceWagonRemoval);
return GetString(stringid, STR_GROUP_NAME, sel_group, remove_wagon ? STR_CONFIG_SETTING_ON : STR_CONFIG_SETTING_OFF);
} else {
const Company *c = Company::Get(_local_company);
remove_wagon = c->settings.renew_keep_length;
SetDParam(0, STR_GROUP_DEFAULT_TRAINS + this->window_number);
bool remove_wagon = c->settings.renew_keep_length;
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;
}
case WID_RV_TRAIN_ENGINEWAGON_DROPDOWN:
SetDParam(0, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
break;
return GetString(stringid, this->replace_engines ? STR_REPLACE_ENGINES : STR_REPLACE_WAGONS);
case WID_RV_RAIL_TYPE_DROPDOWN:
SetDParam(0, this->sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(this->sel_railtype)->strings.replace_text);
break;
return GetString(stringid, this->sel_railtype == INVALID_RAILTYPE ? STR_REPLACE_ALL_RAILTYPE : GetRailTypeInfo(this->sel_railtype)->strings.replace_text);
case WID_RV_ROAD_TYPE_DROPDOWN:
SetDParam(0, this->sel_roadtype == INVALID_ROADTYPE ? STR_REPLACE_ALL_ROADTYPE : GetRoadTypeInfo(this->sel_roadtype)->strings.replace_text);
break;
return GetString(stringid, this->sel_roadtype == INVALID_ROADTYPE ? STR_REPLACE_ALL_ROADTYPE : GetRoadTypeInfo(this->sel_roadtype)->strings.replace_text);
default:
return this->Window::GetWidgetString(widget, stringid);
}
}