mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r19542) -Feature: Add buttons to enable / disable all cargos at the cargo payment rates graph.
This commit is contained in:
parent
31eb17d41a
commit
ad6940a5ff
@ -806,6 +806,8 @@ enum CargoPaymentRatesWidgets {
|
|||||||
CPW_HEADER,
|
CPW_HEADER,
|
||||||
CPW_GRAPH,
|
CPW_GRAPH,
|
||||||
CPW_FOOTER,
|
CPW_FOOTER,
|
||||||
|
CPW_ENABLE_CARGOS,
|
||||||
|
CPW_DISABLE_CARGOS,
|
||||||
CPW_CARGO_FIRST,
|
CPW_CARGO_FIRST,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -904,13 +906,47 @@ struct PaymentRatesGraphWindow : BaseGraphWindow {
|
|||||||
|
|
||||||
virtual void OnClick(Point pt, int widget, int click_count)
|
virtual void OnClick(Point pt, int widget, int click_count)
|
||||||
{
|
{
|
||||||
|
switch (widget) {
|
||||||
|
case CPW_ENABLE_CARGOS:
|
||||||
|
/* Remove all cargos from the excluded lists. */
|
||||||
|
_legend_excluded_cargo = 0;
|
||||||
|
this->excluded_data = 0;
|
||||||
|
this->UpdateLoweredWidgets();
|
||||||
|
/* Toggle appeareance indicating the choice. */
|
||||||
|
this->LowerWidget(CPW_ENABLE_CARGOS);
|
||||||
|
this->RaiseWidget(CPW_DISABLE_CARGOS);
|
||||||
|
this->SetDirty();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CPW_DISABLE_CARGOS: {
|
||||||
|
/* Add all cargos to the excluded lists. */
|
||||||
|
int i = 0;
|
||||||
|
const CargoSpec *cs;
|
||||||
|
FOR_ALL_SORTED_CARGOSPECS(cs) {
|
||||||
|
SetBit(_legend_excluded_cargo, cs->Index());
|
||||||
|
SetBit(this->excluded_data, i);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
this->UpdateLoweredWidgets();
|
||||||
|
/* Toggle appeareance indicating the choice. */
|
||||||
|
this->LowerWidget(CPW_DISABLE_CARGOS);
|
||||||
|
this->RaiseWidget(CPW_ENABLE_CARGOS);
|
||||||
|
this->SetDirty();
|
||||||
|
} break;
|
||||||
|
|
||||||
|
default:
|
||||||
if (widget >= CPW_CARGO_FIRST) {
|
if (widget >= CPW_CARGO_FIRST) {
|
||||||
int i = widget - CPW_CARGO_FIRST;
|
int i = widget - CPW_CARGO_FIRST;
|
||||||
ToggleBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index());
|
ToggleBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index());
|
||||||
this->ToggleWidgetLoweredState(widget);
|
this->ToggleWidgetLoweredState(widget);
|
||||||
this->UpdateExcludedData();
|
this->UpdateExcludedData();
|
||||||
|
/* Raise the two "all" buttons, as we have done a specific choice. */
|
||||||
|
this->RaiseWidget(CPW_ENABLE_CARGOS);
|
||||||
|
this->RaiseWidget(CPW_DISABLE_CARGOS);
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void OnTick()
|
virtual void OnTick()
|
||||||
@ -970,6 +1006,9 @@ static const NWidgetPart _nested_cargo_payment_rates_widgets[] = {
|
|||||||
NWidget(WWT_EMPTY, COLOUR_GREY, CPW_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1),
|
NWidget(WWT_EMPTY, COLOUR_GREY, CPW_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1),
|
||||||
NWidget(NWID_VERTICAL),
|
NWidget(NWID_VERTICAL),
|
||||||
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 0),
|
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 0),
|
||||||
|
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, CPW_ENABLE_CARGOS), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL),SetFill(1, 0),
|
||||||
|
NWidget(WWT_TEXTBTN, COLOUR_ORANGE, CPW_DISABLE_CARGOS), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL),SetFill(1, 0),
|
||||||
|
NWidget(NWID_SPACER), SetMinimalSize(0, 4), SetFill(0, 0),
|
||||||
NWidgetFunction(MakeCargoButtons),
|
NWidgetFunction(MakeCargoButtons),
|
||||||
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1),
|
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
|
@ -522,6 +522,10 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Company
|
|||||||
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Cargo Payment Rates
|
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Cargo Payment Rates
|
||||||
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINYFONT}{BLACK}Days in transit
|
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINYFONT}{BLACK}Days in transit
|
||||||
STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINYFONT}{BLACK}Payment for delivering 10 units (or 10,000 litres) of cargo a distance of 20 squares
|
STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINYFONT}{BLACK}Payment for delivering 10 units (or 10,000 litres) of cargo a distance of 20 squares
|
||||||
|
STR_GRAPH_CARGO_ENABLE_ALL :{TINYFONT}{BLACK}Enable all
|
||||||
|
STR_GRAPH_CARGO_DISABLE_ALL :{TINYFONT}{BLACK}Disable all
|
||||||
|
STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Display all cargos on the cargo payment rates graph
|
||||||
|
STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL :{BLACK}Display no cargos on the cargo payment rates graph
|
||||||
STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Toggle graph for cargo type on/off
|
STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Toggle graph for cargo type on/off
|
||||||
STR_GRAPH_CARGO_PAYMENT_CARGO :{TINYFONT}{BLACK}{STRING}
|
STR_GRAPH_CARGO_PAYMENT_CARGO :{TINYFONT}{BLACK}{STRING}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user