Changeset - r9060:95eaab033b9c
[Not reviewed]
master
0 2 0
bjarni - 16 years ago 2008-04-27 18:05:48
bjarni@openttd.org
(svn r12912) -Codechange: overloaded ChangeVehicleViewWindow() so each argument can be either a Vehicle pointer or a VehicleID
2 files changed with 35 insertions and 17 deletions:
0 comments (0 inline, 0 general)
src/vehicle_gui.cpp
Show inline comments
 
@@ -731,40 +731,39 @@ void InitializeGUI()
 
/** Assigns an already open vehicle window to a new vehicle.
 
 * Assigns an already open vehicle window to a new vehicle. If the vehicle got
 
 * any sub window open (orders and so on) it will change owner too.
 
 * @param *from_v the current owner of the window
 
 * @param *to_v the new owner of the window
 
 * @param from_index the current owner of the window
 
 * @param to_index the new owner of the window
 
 */
 
void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v)
 
void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index)
 
{
 
	Window *w;
 
	Window *w = FindWindowById(WC_VEHICLE_VIEW, from_index);
 

	
 
	w = FindWindowById(WC_VEHICLE_VIEW, from_v->index);
 
	if (w != NULL) {
 
		w->window_number = to_v->index;
 
		WP(w, vp_d).follow_vehicle = to_v->index;
 
		w->window_number = to_index;
 
		WP(w, vp_d).follow_vehicle = to_index;
 
		SetWindowDirty(w);
 

	
 
		w = FindWindowById(WC_VEHICLE_ORDERS, from_v->index);
 
		w = FindWindowById(WC_VEHICLE_ORDERS, from_index);
 
		if (w != NULL) {
 
			w->window_number = to_v->index;
 
			w->window_number = to_index;
 
			SetWindowDirty(w);
 
		}
 

	
 
		w = FindWindowById(WC_VEHICLE_REFIT, from_v->index);
 
		w = FindWindowById(WC_VEHICLE_REFIT, from_index);
 
		if (w != NULL) {
 
			w->window_number = to_v->index;
 
			w->window_number = to_index;
 
			SetWindowDirty(w);
 
		}
 

	
 
		w = FindWindowById(WC_VEHICLE_DETAILS, from_v->index);
 
		w = FindWindowById(WC_VEHICLE_DETAILS, from_index);
 
		if (w != NULL) {
 
			w->window_number = to_v->index;
 
			w->window_number = to_index;
 
			SetWindowDirty(w);
 
		}
 

	
 
		w = FindWindowById(WC_VEHICLE_TIMETABLE, from_v->index);
 
		w = FindWindowById(WC_VEHICLE_TIMETABLE, from_index);
 
		if (w != NULL) {
 
			w->window_number = to_v->index;
 
			w->window_number = to_index;
 
			SetWindowDirty(w);
 
		}
 
	}
src/vehicle_gui.h
Show inline comments
 
@@ -10,6 +10,7 @@
 
#include "order_type.h"
 
#include "station_type.h"
 
#include "engine_type.h"
 
#include "vehicle_base.h"
 

	
 
void DrawVehicleProfitButton(const Vehicle *v, int x, int y);
 
void ShowVehicleRefitWindow(const Vehicle *v, VehicleOrderID order);
 
@@ -80,8 +81,6 @@ void DrawAircraftImage(const Vehicle *v,
 

	
 
void ShowBuildVehicleWindow(TileIndex tile, VehicleType type);
 

	
 
void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v);
 

	
 
uint ShowAdditionalText(int x, int y, uint w, EngineID engine);
 
uint ShowRefitOptionsList(int x, int y, uint w, EngineID engine);
 

	
 
@@ -94,6 +93,26 @@ void DrawSmallOrderList(const Vehicle *v
 

	
 
void DrawVehicleImage(const Vehicle *v, int x, int y, VehicleID selection, int count, int skip);
 

	
 

	
 
/* ChangeVehicleViewWindow() moves all windows for one vehicle to another vehicle.
 
 * For ease of use it can be called with both Vehicle pointers and VehicleIDs. */
 
void ChangeVehicleViewWindow(VehicleID from_index, VehicleID to_index);
 

	
 
static inline void ChangeVehicleViewWindow(const Vehicle *from_v, VehicleID to_index)
 
{
 
	ChangeVehicleViewWindow(from_v->index, to_index);
 
}
 

	
 
static inline void ChangeVehicleViewWindow(VehicleID from_index, const Vehicle *to_v)
 
{
 
	ChangeVehicleViewWindow(from_index, to_v->index);
 
}
 

	
 
static inline void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v)
 
{
 
	ChangeVehicleViewWindow(from_v->index, to_v->index);
 
}
 

	
 
static inline uint GetVehicleListHeight(VehicleType type)
 
{
 
	return (type == VEH_TRAIN || type == VEH_ROAD) ? 14 : 24;
0 comments (0 inline, 0 general)