# autoreplace_gui.h File Reference

Functions related to the autoreplace GUIs. More...

`#include "engine_type.h"`
`#include "group_type.h"`
`#include "vehicle_type.h"`

Go to the source code of this file.

## Functions

void | AddRemoveEngineFromAutoreplaceAndBuildWindows (VehicleType type)
| When an engine is made buildable or is removed from being buildable, add/remove it from the build/autoreplace lists.
void | InvalidateAutoreplaceWindow (EngineID e, GroupID id_g)
| Rebuild the left autoreplace list if an engine is removed or added.
void | ShowReplaceGroupVehicleWindow (GroupID group, VehicleType veh)

## Detailed Description

Functions related to the autoreplace GUIs.

Definition in file autoreplace_gui.h.

## Function Documentation

void AddRemoveEngineFromAutoreplaceAndBuildWindows | ( | VehicleType | type | ) |

When an engine is made buildable or is removed from being buildable, add/remove it from the build/autoreplace lists.

Parameters:

  | type | The type of engine

Definition at line 90 of file autoreplace_gui.cpp.

References InvalidateWindowClassesData(), and InvalidateWindowData().

void InvalidateAutoreplaceWindow | ( | EngineID | e,
|  | GroupID | id_g |
| ) |  |  |

Rebuild the left autoreplace list if an engine is removed or added.

Parameters:

  | e | Engine to check if it is removed or added

  id_g

  The group the engine belongs to Note: this function only works if it is called either
  - when a new vehicle is build, but before it's counted in num_engines
  - when a vehicle is deleted and after it's substracted from num_engines
  - when not changing the count (used when changing replace orders)

Definition at line 74 of file autoreplace_gui.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), GetGroupNumEngines(), InvalidateWindowData(), and Company::num_engines.

Referenced by CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVeh(), CmdBuildShip(), CmdSetAutoReplace(), and Vehicle::PreDestructor().