vehicle_gui.h
author peter1138
Sun, 01 Oct 2006 12:00:32 +0000
changeset 4694 c917a3ad0dd2
parent 4681 bc077405e9a8
child 4712 4335ad42e163
permissions -rw-r--r--
(svn r6601) - Codechange: Support cargo subtypes in the refit window. The refit window has been altered to support resizing and scrolling. Note that the cargo subtype isn't yet passed for actual refitting yet. (Based on mart3p's patch)
2186
db48cf29b983 (svn r2701) Insert Id tags into all source files
tron
parents: 2159
diff changeset
     1
/* $Id$ */
db48cf29b983 (svn r2701) Insert Id tags into all source files
tron
parents: 2159
diff changeset
     2
164
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
     3
#ifndef VEHICLE_GUI_H
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
     4
#define VEHICLE_GUI_H
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
     5
4442
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
     6
#include "window.h"
1752
d65cd19f7117 (svn r2256) - Fix: Trains cannot find a depot when they are in a tunnel. (glx)
matthijs
parents: 1246
diff changeset
     7
2436
7d5df545bd5d (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents: 2186
diff changeset
     8
void DrawVehicleProfitButton(const Vehicle *v, int x, int y);
4642
e27b0f7e89e9 (svn r6518) -Codechange: unified the vehicle refit windows
bjarni
parents: 4546
diff changeset
     9
void ShowVehicleRefitWindow(const Vehicle *v);
1093
4fdc46eaf423 (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile
tron
parents: 842
diff changeset
    10
void InitializeVehiclesGuiList(void);
164
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
    11
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
    12
/* sorter stuff */
588
03521b270f62 (svn r1009) -Feature: per-station vehicle lists
tron
parents: 505
diff changeset
    13
void RebuildVehicleLists(void);
03521b270f62 (svn r1009) -Feature: per-station vehicle lists
tron
parents: 505
diff changeset
    14
void ResortVehicleLists(void);
03521b270f62 (svn r1009) -Feature: per-station vehicle lists
tron
parents: 505
diff changeset
    15
168
79f9ed5b23e6 (svn r169) -Fix: move around sort-widgets a bit so it looks more natural
darkvater
parents: 164
diff changeset
    16
#define PERIODIC_RESORT_DAYS 10
164
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
    17
4449
820974aaa4a6 (svn r6227) -Codechange: added window type flags to use with PlayerVehWndProc
bjarni
parents: 4442
diff changeset
    18
/* Vehicle List Window type flags */
820974aaa4a6 (svn r6227) -Codechange: added window type flags to use with PlayerVehWndProc
bjarni
parents: 4442
diff changeset
    19
enum {
4546
507b7d9bd834 (svn r6378) -Codechange: Rename VLW_FLAGS to VLW_MASK as it is a mask
Darkvater
parents: 4545
diff changeset
    20
	VLW_STANDARD      = 0 << 8,
4449
820974aaa4a6 (svn r6227) -Codechange: added window type flags to use with PlayerVehWndProc
bjarni
parents: 4442
diff changeset
    21
	VLW_SHARED_ORDERS = 1 << 8,
820974aaa4a6 (svn r6227) -Codechange: added window type flags to use with PlayerVehWndProc
bjarni
parents: 4442
diff changeset
    22
	VLW_STATION_LIST  = 2 << 8,
4681
bc077405e9a8 (svn r6586) -Feature: [depot window] added a vehicle list window with all vehicles having a certain depot in their orders
bjarni
parents: 4668
diff changeset
    23
	VLW_DEPOT_LIST    = 3 << 8,
4546
507b7d9bd834 (svn r6378) -Codechange: Rename VLW_FLAGS to VLW_MASK as it is a mask
Darkvater
parents: 4545
diff changeset
    24
	VLW_MASK          = 0x700,
4449
820974aaa4a6 (svn r6227) -Codechange: added window type flags to use with PlayerVehWndProc
bjarni
parents: 4442
diff changeset
    25
};
820974aaa4a6 (svn r6227) -Codechange: added window type flags to use with PlayerVehWndProc
bjarni
parents: 4442
diff changeset
    26
4506
e6a56518135c (svn r6291) -Feature: Vehicle lists from the station window now also got the goto depot button
bjarni
parents: 4485
diff changeset
    27
static inline bool ValidVLWFlags(uint16 flags)
e6a56518135c (svn r6291) -Feature: Vehicle lists from the station window now also got the goto depot button
bjarni
parents: 4485
diff changeset
    28
{
4681
bc077405e9a8 (svn r6586) -Feature: [depot window] added a vehicle list window with all vehicles having a certain depot in their orders
bjarni
parents: 4668
diff changeset
    29
	return (flags == VLW_STANDARD || flags == VLW_SHARED_ORDERS || flags == VLW_STATION_LIST || flags == VLW_DEPOT_LIST);
4506
e6a56518135c (svn r6291) -Feature: Vehicle lists from the station window now also got the goto depot button
bjarni
parents: 4485
diff changeset
    30
}
e6a56518135c (svn r6291) -Feature: Vehicle lists from the station window now also got the goto depot button
bjarni
parents: 4485
diff changeset
    31
4442
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    32
void PlayerVehWndProc(Window *w, WindowEvent *e);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    33
1907
61bafb476865 (svn r2413) - Codechange: Rewrite the displaying of purchase details a bit, make it easyer to add lines later.
hackykid
parents: 1802
diff changeset
    34
void DrawTrainEnginePurchaseInfo(int x, int y, EngineID engine_number);
61bafb476865 (svn r2413) - Codechange: Rewrite the displaying of purchase details a bit, make it easyer to add lines later.
hackykid
parents: 1802
diff changeset
    35
void DrawTrainWagonPurchaseInfo(int x, int y, EngineID engine_number);
61bafb476865 (svn r2413) - Codechange: Rewrite the displaying of purchase details a bit, make it easyer to add lines later.
hackykid
parents: 1802
diff changeset
    36
void DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number);
61bafb476865 (svn r2413) - Codechange: Rewrite the displaying of purchase details a bit, make it easyer to add lines later.
hackykid
parents: 1802
diff changeset
    37
void DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number);
61bafb476865 (svn r2413) - Codechange: Rewrite the displaying of purchase details a bit, make it easyer to add lines later.
hackykid
parents: 1802
diff changeset
    38
void DrawShipPurchaseInfo(int x, int y, EngineID engine_number);
842
efc3546bc313 (svn r1323) Adding autoreplace feature
bjarni
parents: 588
diff changeset
    39
4442
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    40
void DrawTrainImage(const Vehicle *v, int x, int y, int count, int skip, VehicleID selection);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    41
void DrawRoadVehImage(const Vehicle *v, int x, int y, VehicleID selection);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    42
void DrawShipImage(const Vehicle *v, int x, int y, VehicleID selection);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    43
void DrawSmallOrderListShip(const Vehicle *v, int x, int y);
4542
f42ecc669275 (svn r6372) -Codechange: static, unneeded decleration in headers, superfluous header includes
Darkvater
parents: 4506
diff changeset
    44
void DrawAircraftImage(const Vehicle *v, int x, int y, VehicleID selection);
f42ecc669275 (svn r6372) -Codechange: static, unneeded decleration in headers, superfluous header includes
Darkvater
parents: 4506
diff changeset
    45
void DrawSmallOrderListAircraft(const Vehicle *v, int x, int y);
4442
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    46
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    47
void ShowBuildTrainWindow(TileIndex tile);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    48
void ShowBuildRoadVehWindow(TileIndex tile);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    49
void ShowBuildShipWindow(TileIndex tile);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    50
void ShowBuildAircraftWindow(TileIndex tile);
9f8bb348d58f (svn r6215) -Codechange: [vehicle list windows] unified Player(vehicle)WndProc into PlayerVehWndProc
bjarni
parents: 4434
diff changeset
    51
2552
5b586a545665 (svn r3081) -Codechange: [autoreplace] complete rewrite of autoreplace
bjarni
parents: 2548
diff changeset
    52
void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v);
5b586a545665 (svn r3081) -Codechange: [autoreplace] complete rewrite of autoreplace
bjarni
parents: 2548
diff changeset
    53
4542
f42ecc669275 (svn r6372) -Codechange: static, unneeded decleration in headers, superfluous header includes
Darkvater
parents: 4506
diff changeset
    54
int ShowAdditionalText(int x, int y, int w, EngineID engine);
2552
5b586a545665 (svn r3081) -Codechange: [autoreplace] complete rewrite of autoreplace
bjarni
parents: 2548
diff changeset
    55
4668
f7256d0e7682 (svn r6562) -Codechange: merged the vehicle list window widget arrays
bjarni
parents: 4642
diff changeset
    56
void ShowVehicleListWindow(PlayerID player, StationID station, byte vehicle_type);
f7256d0e7682 (svn r6562) -Codechange: merged the vehicle list window widget arrays
bjarni
parents: 4642
diff changeset
    57
void ShowVehWithSharedOrders(Vehicle *v, byte vehicle_type);
4681
bc077405e9a8 (svn r6586) -Feature: [depot window] added a vehicle list window with all vehicles having a certain depot in their orders
bjarni
parents: 4668
diff changeset
    58
void ShowVehDepotOrders(PlayerID player, byte vehicle_type, TileIndex depot_tile);
4668
f7256d0e7682 (svn r6562) -Codechange: merged the vehicle list window widget arrays
bjarni
parents: 4642
diff changeset
    59
164
0cbdf3c9bde1 (svn r165) -Feature: Option to sort vehicles in vehicle-list window by different criteria. Total independent sort for all types and players. Periodic resort of list every 10 TTD days. Thank you for your graphical inspiration follow and buxo (since none of you provided any code).
darkvater
parents:
diff changeset
    60
#endif /* VEHICLE_GUI_H */