GUI for autoreplace handling. More...
#include "stdafx.h"#include "command_func.h"#include "vehicle_gui.h"#include "newgrf_engine.h"#include "group.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 "table/strings.h"Go to the source code of this file.
Data Structures | |
| class | ReplaceVehicleWindow |
| Window for the autoreplacing of vehicles. More... | |
Enumerations | |
| enum | ReplaceVehicleWindowWidgets { RVW_WIDGET_CAPTION, RVW_WIDGET_LEFT_MATRIX, RVW_WIDGET_LEFT_SCROLLBAR, RVW_WIDGET_RIGHT_MATRIX, RVW_WIDGET_RIGHT_SCROLLBAR, RVW_WIDGET_LEFT_DETAILS, RVW_WIDGET_RIGHT_DETAILS, RVW_WIDGET_START_REPLACE, RVW_WIDGET_INFO_TAB, RVW_WIDGET_STOP_REPLACE, RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE, RVW_WIDGET_TRAIN_FLUFF_LEFT, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN, RVW_WIDGET_TRAIN_FLUFF_RIGHT, RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE } |
Widget numbers of the autoreplace GUI. More... | |
Functions | |
| uint | GetEngineListHeight (VehicleType type) |
| Get the height of a single 'entry' in the engine lists. | |
| 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) |
Variables | |
| static const NWidgetPart | _nested_replace_rail_vehicle_widgets [] |
| static const WindowDesc | _replace_rail_vehicle_desc (WDP_AUTO, 456, 140, WC_REPLACE_VEHICLE, WC_NONE, WDF_UNCLICK_BUTTONS|WDF_CONSTRUCTION, _nested_replace_rail_vehicle_widgets, lengthof(_nested_replace_rail_vehicle_widgets)) |
| static const NWidgetPart | _nested_replace_vehicle_widgets [] |
| static const WindowDesc | _replace_vehicle_desc (WDP_AUTO, 456, 118, WC_REPLACE_VEHICLE, WC_NONE, WDF_UNCLICK_BUTTONS|WDF_CONSTRUCTION, _nested_replace_vehicle_widgets, lengthof(_nested_replace_vehicle_widgets)) |
GUI for autoreplace handling.
Definition in file autoreplace_gui.cpp.
Widget numbers of the autoreplace GUI.
Definition at line 35 of 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 92 of file autoreplace_gui.cpp.
References InvalidateWindowClassesData(), and InvalidateWindowData().
Referenced by 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 836 of file build_vehicle_gui.cpp.
References _current_text_dir, _local_company, DrawString(), DrawVehicleEngine(), FONT_HEIGHT_SMALL, GetEngineListHeight(), GetEnginePalette(), GetGroupNumEngines(), lengthof, SA_RIGHT, SetDParam(), WD_FRAMERECT_BOTTOM, and WD_FRAMERECT_LEFT.
Referenced by BuildVehicleWindow::DrawWidget(), and ReplaceVehicleWindow::DrawWidget().
| uint GetEngineListHeight | ( | VehicleType | type | ) |
Get the height of a single 'entry' in the engine lists.
| type | the vehicle type to get the height of |
Definition at line 41 of file build_vehicle_gui.cpp.
References FONT_HEIGHT_NORMAL, GetVehicleHeight(), and WD_MATRIX_TOP.
Referenced by DrawEngineList(), BuildVehicleWindow::UpdateWidgetSize(), and ReplaceVehicleWindow::UpdateWidgetSize().
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 75 of file autoreplace_gui.cpp.
References _local_company, 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 CmdBuildVehicle(), CmdSetAutoReplace(), and Vehicle::PreDestructor().
const NWidgetPart _nested_replace_vehicle_widgets[] [static] |
{
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY, RVW_WIDGET_CAPTION), SetMinimalSize(433, 14), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_GREY),
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_MATRIX, COLOUR_GREY, RVW_WIDGET_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(RVW_WIDGET_LEFT_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, RVW_WIDGET_LEFT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, RVW_WIDGET_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(RVW_WIDGET_RIGHT_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, RVW_WIDGET_RIGHT_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_LEFT_DETAILS), SetMinimalSize(228, 92), SetResize(1, 0), EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_RIGHT_DETAILS), SetMinimalSize(228, 92), SetResize(1, 0), EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_START_REPLACE), SetMinimalSize(139, 12), SetDataTip(STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON),
NWidget(WWT_PANEL, COLOUR_GREY, RVW_WIDGET_INFO_TAB), SetMinimalSize(167, 12), SetDataTip(0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB), SetResize(1, 0), EndContainer(),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, RVW_WIDGET_STOP_REPLACE), SetMinimalSize(138, 12), SetDataTip(STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON),
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
EndContainer(),
}
Definition at line 550 of file autoreplace_gui.cpp.
1.7.1