Changeset - r14929:7421ef7e6635
[Not reviewed]
master
0 2 0
terkhen - 14 years ago 2010-04-02 14:11:10
terkhen@openttd.org
(svn r19542) -Feature: Add buttons to enable / disable all cargos at the cargo payment rates graph.
2 files changed with 49 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/graph_gui.cpp
Show inline comments
 
@@ -806,6 +806,8 @@ enum CargoPaymentRatesWidgets {
 
	CPW_HEADER,
 
	CPW_GRAPH,
 
	CPW_FOOTER,
 
	CPW_ENABLE_CARGOS,
 
	CPW_DISABLE_CARGOS,
 
	CPW_CARGO_FIRST,
 
};
 

	
 
@@ -904,12 +906,46 @@ struct PaymentRatesGraphWindow : BaseGra
 

	
 
	virtual void OnClick(Point pt, int widget, int click_count)
 
	{
 
		if (widget >= CPW_CARGO_FIRST) {
 
			int i = widget - CPW_CARGO_FIRST;
 
			ToggleBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index());
 
			this->ToggleWidgetLoweredState(widget);
 
			this->UpdateExcludedData();
 
			this->SetDirty();
 
		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) {
 
					int i = widget - CPW_CARGO_FIRST;
 
					ToggleBit(_legend_excluded_cargo, _sorted_cargo_specs[i]->Index());
 
					this->ToggleWidgetLoweredState(widget);
 
					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();
 
				}
 
				break;
 
		}
 
	}
 

	
 
@@ -970,6 +1006,9 @@ static const NWidgetPart _nested_cargo_p
 
				NWidget(WWT_EMPTY, COLOUR_GREY, CPW_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1),
 
				NWidget(NWID_VERTICAL),
 
					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),
 
					NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1),
 
				EndContainer(),
src/lang/english.txt
Show inline comments
 
@@ -522,6 +522,10 @@ STR_GRAPH_COMPANY_VALUES_CAPTION        
 
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_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_CARGO                                   :{TINYFONT}{BLACK}{STRING}
 

	
0 comments (0 inline, 0 general)