Changeset - r16801:2886e7400445
[Not reviewed]
master
0 1 0
alberth - 14 years ago 2010-12-20 13:17:54
alberth@openttd.org
(svn r21544) -Codechange: Fold the small static click functions into the switch.
1 file changed with 13 insertions and 85 deletions:
0 comments (0 inline, 0 general)
src/dock_gui.cpp
Show inline comments
 
@@ -148,83 +148,7 @@ enum DockToolbarWidgets {
 
	DTW_END,                       ///< End of toolbar widgets
 
};
 

	
 

	
 
/**
 
  * Handle a click in the build canal widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Canal(Window *w)
 
{
 
	HandlePlacePushButton(w, DTW_CANAL, SPR_CURSOR_CANAL, HT_RECT, PlaceDocks_BuildCanal);
 
}
 

	
 
/**
 
  * Handle a click in the build lock widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Lock(Window *w)
 
{
 
	HandlePlacePushButton(w, DTW_LOCK, SPR_CURSOR_LOCK, HT_SPECIAL, PlaceDocks_BuildLock);
 
}
 

	
 
/**
 
  * Handle a click in the demolish widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Demolish(Window *w)
 
{
 
	HandlePlacePushButton(w, DTW_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT, PlaceProc_DemolishArea);
 
}
 

	
 
/**
 
  * Handle a click in the build ship depot widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Depot(Window *w)
 
{
 
	if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
 
	if (HandlePlacePushButton(w, DTW_DEPOT, SPR_CURSOR_SHIP_DEPOT, HT_RECT, PlaceDocks_Depot)) ShowBuildDocksDepotPicker(w);
 
}
 

	
 
/**
 
  * Handle a click in the build dock widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Dock(Window *w)
 
{
 
	if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
 
	if (HandlePlacePushButton(w, DTW_STATION, SPR_CURSOR_DOCK, HT_SPECIAL, PlaceDocks_Dock)) ShowBuildDockStationPicker(w);
 
}
 

	
 
/**
 
  * Handle a click in the build buoy widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Buoy(Window *w)
 
{
 
	if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
 
	HandlePlacePushButton(w, DTW_BUOY, SPR_CURSOR_BOUY, HT_RECT, PlaceDocks_Buoy);
 
}
 

	
 
/**
 
  * Handle a click in the create river widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_River(Window *w)
 
{
 
	if (_game_mode != GM_EDITOR) return;
 
	HandlePlacePushButton(w, DTW_RIVER, SPR_CURSOR_RIVER, HT_RECT, PlaceDocks_BuildRiver);
 
}
 

	
 
/**
 
  * Handle a click in the build aqueduct widget.
 
  * @param w #Window in which the widget was clicked.
 
  */
 
static void BuildDocksClick_Aqueduct(Window *w)
 
{
 
	HandlePlacePushButton(w, DTW_BUILD_AQUEDUCT, SPR_CURSOR_AQUEDUCT, HT_SPECIAL, PlaceDocks_Aqueduct);
 
}
 

	
 
/** Toolbar window for constructing water infra structure. */
 
struct BuildDocksToolbarWindow : Window {
 
	DockToolbarWidgets last_clicked_widget; ///< Contains the last widget that has been clicked on this toolbar.
 

	
 
@@ -255,35 +179,39 @@ struct BuildDocksToolbarWindow : Window 
 
		this->last_clicked_widget = (DockToolbarWidgets)widget;
 
		switch (widget) {
 
			case DTW_CANAL: // Build canal button
 
				BuildDocksClick_Canal(this);
 
				HandlePlacePushButton(this, DTW_CANAL, SPR_CURSOR_CANAL, HT_RECT, PlaceDocks_BuildCanal);
 
				break;
 

	
 
			case DTW_LOCK: // Build lock button
 
				BuildDocksClick_Lock(this);
 
				HandlePlacePushButton(this, DTW_LOCK, SPR_CURSOR_LOCK, HT_SPECIAL, PlaceDocks_BuildLock);
 
				break;
 

	
 
			case DTW_DEMOLISH: // Demolish aka dynamite button
 
				BuildDocksClick_Demolish(this);
 
				HandlePlacePushButton(this, DTW_DEMOLISH, ANIMCURSOR_DEMOLISH, HT_RECT, PlaceProc_DemolishArea);
 
				break;
 

	
 
			case DTW_DEPOT: // Build depot button
 
				BuildDocksClick_Depot(this);
 
				if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
 
				if (HandlePlacePushButton(this, DTW_DEPOT, SPR_CURSOR_SHIP_DEPOT, HT_RECT, PlaceDocks_Depot)) ShowBuildDocksDepotPicker(this);
 
				break;
 

	
 
			case DTW_STATION: // Build station button
 
				BuildDocksClick_Dock(this);
 
				if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
 
				if (HandlePlacePushButton(this, DTW_STATION, SPR_CURSOR_DOCK, HT_SPECIAL, PlaceDocks_Dock)) ShowBuildDockStationPicker(this);
 
				break;
 

	
 
			case DTW_BUOY: // Build buoy button
 
				BuildDocksClick_Buoy(this);
 
				if (!CanBuildVehicleInfrastructure(VEH_SHIP)) return;
 
				HandlePlacePushButton(this, DTW_BUOY, SPR_CURSOR_BOUY, HT_RECT, PlaceDocks_Buoy);
 
				break;
 

	
 
			case DTW_RIVER: // Build river button (in scenario editor)
 
				BuildDocksClick_River(this);
 
				if (_game_mode != GM_EDITOR) return;
 
				HandlePlacePushButton(this, DTW_RIVER, SPR_CURSOR_RIVER, HT_RECT, PlaceDocks_BuildRiver);
 
				break;
 

	
 
			case DTW_BUILD_AQUEDUCT: // Build aqueduct button
 
				BuildDocksClick_Aqueduct(this);
 
				HandlePlacePushButton(this, DTW_BUILD_AQUEDUCT, SPR_CURSOR_AQUEDUCT, HT_SPECIAL, PlaceDocks_Aqueduct);
 
				break;
 

	
 
			default: break;
0 comments (0 inline, 0 general)