Changeset - r16836:cf0fdabe17c4
[Not reviewed]
master
0 1 0
alberth - 13 years ago 2010-12-21 16:27:50
alberth@openttd.org
(svn r21580) -Codechange: Replace callback via pointer by a switch statement.
1 file changed with 17 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/airport_gui.cpp
Show inline comments
 
@@ -46,6 +46,10 @@ void CcBuildAirport(const CommandCost &r
 
	if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
 
}
 

	
 
/**
 
 * Place an airport.
 
 * @param tile Position to put the new airport.
 
 */
 
static void PlaceAirport(TileIndex tile)
 
{
 
	if (_selected_airport_index == -1) return;
 
@@ -85,14 +89,14 @@ struct BuildAirToolbarWindow : Window {
 
	{
 
		switch (widget) {
 
			case ATW_AIRPORT:
 
				if (HandlePlacePushButton(this, ATW_AIRPORT, SPR_CURSOR_AIRPORT, HT_RECT, PlaceAirport)) {
 
				if (HandlePlacePushButton(this, ATW_AIRPORT, SPR_CURSOR_AIRPORT, HT_RECT, NULL)) {
 
					ShowBuildAirportPicker(this);
 
					this->last_user_action = widget;
 
				}
 
				break;
 

	
 
			case ATW_DEMOLISH:
 
				HandlePlacePushButton(this, ATW_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT, PlaceProc_DemolishArea);
 
				HandlePlacePushButton(this, ATW_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT, NULL);
 
				this->last_user_action = widget;
 
				break;
 

	
 
@@ -111,7 +115,17 @@ struct BuildAirToolbarWindow : Window {
 

	
 
	virtual void OnPlaceObject(Point pt, TileIndex tile)
 
	{
 
		_place_proc(tile);
 
		switch (this->last_user_action) {
 
			case ATW_AIRPORT:
 
				PlaceAirport(tile);
 
				break;
 

	
 
			case ATW_DEMOLISH:
 
				PlaceProc_DemolishArea(tile);
 
				break;
 

	
 
			default: NOT_REACHED();
 
		}
 
	}
 

	
 
	virtual void OnPlaceDrag(ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt)
0 comments (0 inline, 0 general)