(svn r20604) -Feature: add a reset button to the newgrf parameters window

pull/155/head
yexo 14 years ago
parent c370ab2f27
commit 3c5923a62f

@ -203,7 +203,7 @@ static const NWidgetPart _nested_ai_list_widgets[] = {
EndContainer(), EndContainer(),
NWidget(WWT_PANEL, COLOUR_MAUVE, AIL_WIDGET_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0), NWidget(WWT_PANEL, COLOUR_MAUVE, AIL_WIDGET_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0),
EndContainer(), EndContainer(),
NWidget(NWID_HORIZONTAL), NWidget(NWID_HORIZONTAL),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_ACCEPT, STR_AI_LIST_ACCEPT_TOOLTIP), NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_ACCEPT, STR_AI_LIST_ACCEPT_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_CANCEL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_CANCEL, STR_AI_LIST_CANCEL_TOOLTIP), NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, AIL_WIDGET_CANCEL), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_LIST_CANCEL, STR_AI_LIST_CANCEL_TOOLTIP),

@ -2398,6 +2398,8 @@ STR_NEWGRF_SETTINGS_PARAMETER_QUERY :{BLACK}Enter Ne
# NewGRF parameters window # NewGRF parameters window
STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Change NewGRF parameters
STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Close
STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reset
STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Set all parameters to their default value
STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM} STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parameter {NUM}
STR_NEWGRF_PARAMETERS_SETTING :{STRING1}: {ORANGE}{STRING1} STR_NEWGRF_PARAMETERS_SETTING :{STRING1}: {ORANGE}{STRING1}

@ -101,6 +101,9 @@ const char *GRFConfig::GetDescription() const
/** Set the default value for all parameters as specified by action14. */ /** Set the default value for all parameters as specified by action14. */
void GRFConfig::SetParameterDefaults() void GRFConfig::SetParameterDefaults()
{ {
this->num_params = 0;
MemSetT<uint32>(this->param, 0, lengthof(this->param));
if (!this->has_param_defaults) return; if (!this->has_param_defaults) return;
for (uint i = 0; i < this->param_info.Length(); i++) { for (uint i = 0; i < this->param_info.Length(); i++) {

@ -128,6 +128,7 @@ enum ShowNewGRFParametersWidgets {
GRFPAR_WIDGET_BACKGROUND, ///< Panel to draw the settings on GRFPAR_WIDGET_BACKGROUND, ///< Panel to draw the settings on
GRFPAR_WIDGET_SCROLLBAR, ///< Scrollbar to scroll through all settings GRFPAR_WIDGET_SCROLLBAR, ///< Scrollbar to scroll through all settings
GRFPAR_WIDGET_ACCEPT, ///< Accept button GRFPAR_WIDGET_ACCEPT, ///< Accept button
GRFPAR_WIDGET_RESET, ///< Reset button
GRFPAR_WIDGET_DESCRIPTION, ///< Multi-line description of a parameter GRFPAR_WIDGET_DESCRIPTION, ///< Multi-line description of a parameter
}; };
@ -293,6 +294,10 @@ struct NewGRFParametersWindow : public Window {
break; break;
} }
case GRFPAR_WIDGET_RESET:
this->grf_config->SetParameterDefaults();
break;
case GRFPAR_WIDGET_ACCEPT: case GRFPAR_WIDGET_ACCEPT:
delete this; delete this;
break; break;
@ -340,7 +345,10 @@ static const NWidgetPart _nested_newgrf_parameter_widgets[] = {
NWidget(WWT_PANEL, COLOUR_MAUVE, GRFPAR_WIDGET_DESCRIPTION), SetResize(1, 0), SetFill(1, 0), NWidget(WWT_PANEL, COLOUR_MAUVE, GRFPAR_WIDGET_DESCRIPTION), SetResize(1, 0), SetFill(1, 0),
EndContainer(), EndContainer(),
NWidget(NWID_HORIZONTAL), NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, GRFPAR_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_NEWGRF_PARAMETERS_CLOSE, STR_NULL), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, GRFPAR_WIDGET_ACCEPT), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_NEWGRF_PARAMETERS_CLOSE, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_MAUVE, GRFPAR_WIDGET_RESET), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_NEWGRF_PARAMETERS_RESET, STR_NEWGRF_PARAMETERS_RESET_TOOLTIP),
EndContainer(),
NWidget(WWT_RESIZEBOX, COLOUR_MAUVE), NWidget(WWT_RESIZEBOX, COLOUR_MAUVE),
EndContainer(), EndContainer(),
}; };

Loading…
Cancel
Save