# depot_gui.cpp File Reference

The GUI for depots. More...

`#include "stdafx.h"`
`#include "train.h"`
`#include "ship.h"`
`#include "aircraft.h"`
`#include "gui.h"`
`#include "textbuf_gui.h"`
`#include "viewport_func.h"`
`#include "command_func.h"`
`#include "depot_base.h"`
`#include "vehicle_gui.h"`
`#include "spritecache.h"`
`#include "strings_func.h"`
`#include "window_func.h"`
`#include "vehicle_func.h"`
`#include "company_func.h"`
`#include "tilehighlight_func.h"`
`#include "window_gui.h"`
`#include "vehiclelist.h"`
`#include "order_backup.h"`
`#include "table/strings.h"`

Go to the source code of this file.

## Data Structures
struct | DepotWindow
struct | DepotWindow::GetDepotVehiclePtData
## Enumerations
enum | DepotWindowWidgets { DEPOT_WIDGET_CAPTION, DEPOT_WIDGET_SELL, DEPOT_WIDGET_SHOW_SELL_CHAIN, DEPOT_WIDGET_SELL_CHAIN, DEPOT_WIDGET_SELL_ALL, DEPOT_WIDGET_AUTOREPLACE, DEPOT_WIDGET_MATRIX, DEPOT_WIDGET_V_SCROLL, DEPOT_WIDGET_SHOW_H_SCROLL, DEPOT_WIDGET_H_SCROLL, DEPOT_WIDGET_BUILD, DEPOT_WIDGET_CLONE, DEPOT_WIDGET_LOCATION, DEPOT_WIDGET_SHOW_RENAME, DEPOT_WIDGET_RENAME, DEPOT_WIDGET_VEHICLE_LIST, DEPOT_WIDGET_STOP_ALL, DEPOT_WIDGET_START_ALL }
## Functions
void | DepotSortList (VehicleList *list)
void | CcCloneVehicle (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
| This is the Callback method after the cloning attempt of a vehicle.
static void | TrainDepotMoveVehicle (const Vehicle *wagon, VehicleID sel, const Vehicle *head)
static void | InitBlocksizeForShipAircraft (VehicleType type)
void | InitDepotWindowBlockSizes ()
| Set the size of the blocks in the window so we can be sure that they are big enough for the vehicle sprites in the current game.
static void | DepotSellAllConfirmationCallback (Window *w, bool confirmed)
const Sprite * | GetAircraftSprite (EngineID engine)
void | ShowDepotWindow (TileIndex tile, VehicleType type)
| Opens a depot window.
void | DeleteDepotHighlightOfVehicle (const Vehicle *v)
| Removes the highlight of a vehicle in a depot window.
## Variables
static const NWidgetPart | _nested_train_depot_widgets []
| Nested widget definition for train depots.
static const WindowDesc | _train_depot_desc (WDP_AUTO, 362, 123, WC_VEHICLE_DEPOT, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_train_depot_widgets, lengthof(_nested_train_depot_widgets))
static const WindowDesc | _road_depot_desc (WDP_AUTO, 316, 97, WC_VEHICLE_DEPOT, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_train_depot_widgets, lengthof(_nested_train_depot_widgets))
static const WindowDesc | _ship_depot_desc (WDP_AUTO, 306, 99, WC_VEHICLE_DEPOT, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_train_depot_widgets, lengthof(_nested_train_depot_widgets))
static const WindowDesc | _aircraft_depot_desc (WDP_AUTO, 332, 99, WC_VEHICLE_DEPOT, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_train_depot_widgets, lengthof(_nested_train_depot_widgets))
static Dimension | _base_block_sizes [4]
| Array containing the cell size in pixels of the DEPOT_WIDGET_MATRIX widget for each vehicle type.

## Detailed Description

The GUI for depots.

Definition in file depot_gui.cpp.

## Enumeration Type Documentation

enum DepotWindowWidgets

Enumerator:

  DEPOT_WIDGET_V_SCROLL | Vertical scrollbar.
  DEPOT_WIDGET_H_SCROLL | Horizontal scrollbar.

Definition at line 41 of file depot_gui.cpp.

## Function Documentation

void CcCloneVehicle | ( | const CommandCost & | result,
|  | TileIndex | tile,
|  | uint32 | p1,
|  | uint32 | p2 |
| ) |  |  |

This is the Callback method after the cloning attempt of a vehicle.

Parameters:

  | result | the result of the cloning command
  | tile | unused
  | p1 | unused
  | p2 | unused

Definition at line 138 of file depot_gui.cpp.

References CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Get(), and ShowVehicleViewWindow().

Referenced by VehicleViewWindow::OnClick(), and DepotWindow::OnVehicleSelect().

void DeleteDepotHighlightOfVehicle | ( | const Vehicle * | v | ) |

Removes the highlight of a vehicle in a depot window.

Parameters:

  | *v | Vehicle to remove all highlights from

Definition at line 1023 of file depot_gui.cpp.

References _special_mouse_mode, FindWindowById(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, Vehicle::tile, and WSM_DRAGDROP.

Referenced by Vehicle::PreDestructor().

void InitDepotWindowBlockSizes | ( |  | ) |

Set the size of the blocks in the window so we can be sure that they are big enough for the vehicle sprites in the current game.

Note:
  Calling this function once for each game is enough.

Definition at line 206 of file depot_gui.cpp.

References GetVehicleHeight(), VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.

void ShowDepotWindow | ( | TileIndex | tile,
|  | VehicleType | type |
| ) |  |  |

Opens a depot window.

Parameters:

  | tile | The tile where the depot/hangar is located
  | type | The type of vehicles in the depot

Definition at line 1003 of file depot_gui.cpp.

References BringWindowToFrontById(), VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.

## Variable Documentation

Dimension _base_block_sizes[4]`[static]`

Array containing the cell size in pixels of the DEPOT_WIDGET_MATRIX widget for each vehicle type.

Note:
  The train vehicle type uses the entire row for each train.

Definition at line 169 of file depot_gui.cpp.

const NWidgetPart _nested_train_depot_widgets[]`[static]`

Nested widget definition for train depots.

Definition at line 63 of file depot_gui.cpp.