Data Structures | Enumerations | Functions | Variables

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 "zoom_func.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 SpriteGetAircraftSprite (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

Enumerator:
DEPOT_WIDGET_V_SCROLL 

Vertical scrollbar.

DEPOT_WIDGET_H_SCROLL 

Horizontal scrollbar.

Definition at line 42 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 139 of file depot_gui.cpp.

References CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, 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 1028 of file depot_gui.cpp.

References _special_mouse_mode, FindWindowById(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, 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 207 of file depot_gui.cpp.

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

Referenced by AfterLoadGRFs().

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 1008 of file depot_gui.cpp.

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


Variable Documentation

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 170 of file depot_gui.cpp.

Nested widget definition for train depots.

Definition at line 64 of file depot_gui.cpp.