Changeset - r16150:2a38d0a45d22
[Not reviewed]
master
0 3 0
terkhen - 14 years ago 2010-09-28 21:58:06
terkhen@openttd.org
(svn r20856) -Fix [FS#4141]: Road/water toolbars did not get updated when the first vehicle of their type becomes available.
3 files changed with 28 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/dock_gui.cpp
Show inline comments
 
@@ -173,6 +173,7 @@ struct BuildDocksToolbarWindow : Window 
 
	BuildDocksToolbarWindow(const WindowDesc *desc, WindowNumber window_number) : Window()
 
	{
 
		this->InitNested(desc, window_number);
 
		this->OnInvalidateData();
 
		if (_settings_client.gui.link_terraform_toolbar) ShowTerraformToolbar(this);
 
	}
 

	
 
@@ -181,9 +182,17 @@ struct BuildDocksToolbarWindow : Window 
 
		if (_settings_client.gui.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0, false);
 
	}
 

	
 
	void OnInvalidateData(int data = 0)
 
	{
 
		this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_SHIP),
 
			DTW_DEPOT,
 
			DTW_STATION,
 
			DTW_BUOY,
 
			WIDGET_LIST_END);
 
	}
 

	
 
	virtual void OnPaint()
 
	{
 
		this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_SHIP), DTW_DEPOT, DTW_STATION, DTW_BUOY, WIDGET_LIST_END);
 
		this->DrawWidgets();
 
	}
 

	
src/engine.cpp
Show inline comments
 
@@ -605,6 +605,10 @@ static void AcceptEnginePreview(EngineID
 
	if (company == _local_company) {
 
		AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
 
	}
 

	
 
	/* Update the toolbar. */
 
	if (e->type == VEH_ROAD) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_ROAD);
 
	if (e->type == VEH_SHIP) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_WATER);
 
}
 

	
 
/**
 
@@ -749,6 +753,10 @@ static void NewVehicleAvailable(Engine *
 
	SetDParam(0, GetEngineCategoryName(index));
 
	SetDParam(1, index);
 
	AddNewsItem(STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE, NS_NEW_VEHICLES, NR_ENGINE, index);
 

	
 
	/* Update the toolbar. */
 
	if (e->type == VEH_ROAD) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_ROAD);
 
	if (e->type == VEH_SHIP) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_WATER);
 
}
 

	
 
void EnginesMonthlyLoop()
src/road_gui.cpp
Show inline comments
 
@@ -457,11 +457,7 @@ struct BuildRoadToolbarWindow : Window {
 
			RTW_ONE_WAY,
 
			WIDGET_LIST_END);
 

	
 
		this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_ROAD),
 
			RTW_DEPOT,
 
			RTW_BUS_STATION,
 
			RTW_TRUCK_STATION,
 
			WIDGET_LIST_END);
 
		this->OnInvalidateData();
 

	
 
		if (_settings_client.gui.link_terraform_toolbar) ShowTerraformToolbar(this);
 
	}
 
@@ -471,6 +467,15 @@ struct BuildRoadToolbarWindow : Window {
 
		if (_settings_client.gui.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0, false);
 
	}
 

	
 
	void OnInvalidateData(int data = 0)
 
	{
 
		this->SetWidgetsDisabledState(!CanBuildVehicleInfrastructure(VEH_ROAD),
 
			RTW_DEPOT,
 
			RTW_BUS_STATION,
 
			RTW_TRUCK_STATION,
 
			WIDGET_LIST_END);
 
	}
 

	
 
	/**
 
	 * Update the remove button lowered state of the road toolbar
 
	 *
0 comments (0 inline, 0 general)