diff options
author | alberth <alberth@openttd.org> | 2010-12-21 16:27:50 +0000 |
---|---|---|
committer | alberth <alberth@openttd.org> | 2010-12-21 16:27:50 +0000 |
commit | 264acca2fafc83e225c3faacffd82bc4a6c979dd (patch) | |
tree | da105471df44cb6343412c0afaa189a4c2129628 /src | |
parent | 5a2bf89cafad925c566a67fe93ee1ed13cbc24b0 (diff) | |
download | openttd-264acca2fafc83e225c3faacffd82bc4a6c979dd.tar.xz |
(svn r21580) -Codechange: Replace callback via pointer by a switch statement.
Diffstat (limited to 'src')
-rw-r--r-- | src/airport_gui.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/airport_gui.cpp b/src/airport_gui.cpp index a85944c13..0c903d242 100644 --- a/src/airport_gui.cpp +++ b/src/airport_gui.cpp @@ -46,6 +46,10 @@ void CcBuildAirport(const CommandCost &result, TileIndex tile, uint32 p1, uint32 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) |