OpenTTD
|
GUI for autoreplace handling. More...
#include "stdafx.h"
#include "command_func.h"
#include "vehicle_gui.h"
#include "newgrf_engine.h"
#include "rail.h"
#include "strings_func.h"
#include "window_func.h"
#include "autoreplace_func.h"
#include "company_func.h"
#include "engine_base.h"
#include "window_gui.h"
#include "engine_gui.h"
#include "settings_func.h"
#include "core/geometry_func.hpp"
#include "rail_gui.h"
#include "widgets/dropdown_func.h"
#include "widgets/autoreplace_widget.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
class | ReplaceVehicleWindow |
Window for the autoreplacing of vehicles. More... |
Functions | |
void | DrawEngineList (VehicleType type, int x, int r, int y, const GUIEngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, bool show_count, GroupID selected_group) |
Engine drawing loop. | |
static int CDECL | EngineNumberSorter (const EngineID *a, const EngineID *b) |
void | InvalidateAutoreplaceWindow (EngineID e, GroupID id_g) |
Rebuild the left autoreplace list if an engine is removed or added. | |
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 | ShowReplaceGroupVehicleWindow (GroupID id_g, VehicleType vehicletype) |
Show the autoreplace configuration window for a particular group. |
Variables | |
static const StringID | _start_replace_dropdown [] |
static const NWidgetPart | _nested_replace_rail_vehicle_widgets [] |
static WindowDesc | _replace_rail_vehicle_desc (WDP_AUTO,"replace_vehicle_train", 500, 140, WC_REPLACE_VEHICLE, WC_NONE, WDF_CONSTRUCTION, _nested_replace_rail_vehicle_widgets, lengthof(_nested_replace_rail_vehicle_widgets)) |
static const NWidgetPart | _nested_replace_vehicle_widgets [] |
static WindowDesc | _replace_vehicle_desc (WDP_AUTO,"replace_vehicle", 456, 118, WC_REPLACE_VEHICLE, WC_NONE, WDF_CONSTRUCTION, _nested_replace_vehicle_widgets, lengthof(_nested_replace_vehicle_widgets)) |
GUI for autoreplace handling.
Definition in file autoreplace_gui.cpp.
void AddRemoveEngineFromAutoreplaceAndBuildWindows | ( | VehicleType | type | ) |
When an engine is made buildable or is removed from being buildable, add/remove it from the build/autoreplace lists.
type | The type of engine |
Definition at line 65 of file autoreplace_gui.cpp.
References InvalidateWindowClassesData(), InvalidateWindowData(), WC_BUILD_VEHICLE, and WC_REPLACE_VEHICLE.
Referenced by AcceptEnginePreview(), CalcEngineReliability(), CmdSetVehicleVisibility(), and NewVehicleAvailable().
void DrawEngineList | ( | VehicleType | type, |
int | l, | ||
int | r, | ||
int | y, | ||
const GUIEngineList * | eng_list, | ||
uint16 | min, | ||
uint16 | max, | ||
EngineID | selected_id, | ||
bool | show_count, | ||
GroupID | selected_group | ||
) |
Engine drawing loop.
type | Type of vehicle (VEH_*) |
l | The left most location of the list |
r | The right most location of the list |
y | The top most location of the list |
eng_list | What engines to draw |
min | where to start in the list |
max | where in the list to end |
selected_id | what engine to highlight as selected, if any |
show_count | Whether to show the amount of engines or not |
selected_group | the group to list the engines of |
Definition at line 880 of file build_vehicle_gui.cpp.
References _current_text_dir, _local_company, Engine::company_hidden, DrawSprite(), DrawString(), DrawVehicleEngine(), EIT_PURCHASE, EngineHasReplacementForCompany(), VehicleCellSize::extend_left, VehicleCellSize::extend_right, FONT_HEIGHT_NORMAL, FONT_HEIGHT_SMALL, FS_SMALL, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), GetEngineListHeight(), GetEnginePalette(), GetGroupNumEngines(), GetSpriteSize(), GetStringBoundingBox(), GetVehicleImageCellSize(), HasBit(), max(), min(), PALETTE_CRASH, SA_FORCE, SA_RIGHT, SetDParam(), SetDParamMaxDigits(), TC_NO_SHADE, TD_RTL, WD_FRAMERECT_BOTTOM, WD_FRAMERECT_LEFT, WD_FRAMERECT_RIGHT, WD_FRAMETEXT_LEFT, and WD_FRAMETEXT_RIGHT.
Referenced by ReplaceVehicleWindow::DrawWidget(), and BuildVehicleWindow::DrawWidget().
Rebuild the left autoreplace list if an engine is removed or added.
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
|
Definition at line 51 of file autoreplace_gui.cpp.
References _local_company, ALL_GROUP, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), GetGroupNumEngines(), InvalidateWindowData(), and WC_REPLACE_VEHICLE.
Referenced by CmdBuildVehicle(), CmdSetAutoReplace(), and Vehicle::PreDestructor().
void ShowReplaceGroupVehicleWindow | ( | GroupID | id_g, |
VehicleType | vehicletype | ||
) |
Show the autoreplace configuration window for a particular group.
id_g | The group to replace the vehicles for. |
vehicletype | The type of vehicles in the group. |
Definition at line 705 of file autoreplace_gui.cpp.
References DeleteWindowById(), VEH_TRAIN, and WC_REPLACE_VEHICLE.
Referenced by VehicleGroupWindow::OnDropdownSelect(), and VehicleListWindow::OnDropdownSelect().
|
static |
Definition at line 71 of file autoreplace_gui.cpp.