GUI related to orders. More...
#include "stdafx.h"
#include "command_func.h"
#include "viewport_func.h"
#include "depot_map.h"
#include "roadveh.h"
#include "timetable.h"
#include "strings_func.h"
#include "company_func.h"
#include "widgets/dropdown_type.h"
#include "widgets/dropdown_func.h"
#include "textbuf_gui.h"
#include "string_func.h"
#include "tilehighlight_func.h"
#include "network/network.h"
#include "station_base.h"
#include "waypoint_base.h"
#include "core/geometry_func.hpp"
#include "hotkeys.h"
#include "aircraft.h"
#include "widgets/order_widget.h"
Go to the source code of this file.
Data Structures | |
struct | OrdersWindow |
Order window code for all vehicles. More... | |
Functions | |
uint | ConvertSpeedToDisplaySpeed (uint speed) |
Convert the given (internal) speed to the display speed. | |
uint | ConvertDisplaySpeedToSpeed (uint speed) |
Convert the given display speed to the (internal) speed. | |
static int | DepotActionStringIndex (const Order *order) |
void | DrawOrderString (const Vehicle *v, const Order *order, int order_index, int y, bool selected, bool timetable, int left, int middle, int right) |
Draws an order in order or timetable GUI. | |
static Order | GetOrderCmdFromTile (const Vehicle *v, TileIndex tile) |
void | ShowOrdersWindow (const Vehicle *v) |
Variables | |
static const StringID | _station_load_types [][5][5] |
Order load types that could be given to station orders. | |
static const StringID | _order_non_stop_drowdown [] |
static const StringID | _order_full_load_drowdown [] |
static const StringID | _order_unload_drowdown [] |
static const StringID | _order_goto_dropdown [] |
static const StringID | _order_goto_dropdown_aircraft [] |
static const OrderConditionVariable | _order_conditional_variable [] |
Variables for conditional orders; this defines the order of appearance in the dropdown box. | |
static const StringID | _order_conditional_condition [] |
static const StringID | _order_depot_action_dropdown [] |
static const StringID | _order_refit_action_dropdown [] |
Hotkey< OrdersWindow > * | _order_hotkeys = OrdersWindow::order_hotkeys |
static const NWidgetPart | _nested_orders_train_widgets [] |
Nested widget definition for "your" train orders. | |
static const WindowDesc | _orders_train_desc (WDP_AUTO, 384, 100, WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, _nested_orders_train_widgets, lengthof(_nested_orders_train_widgets)) |
static const NWidgetPart | _nested_orders_widgets [] |
Nested widget definition for "your" orders (non-train). | |
static const WindowDesc | _orders_desc (WDP_AUTO, 384, 100, WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW, WDF_CONSTRUCTION, _nested_orders_widgets, lengthof(_nested_orders_widgets)) |
static const NWidgetPart | _nested_other_orders_widgets [] |
Nested widget definition for competitor orders. | |
static const WindowDesc | _other_orders_desc (WDP_AUTO, 384, 86, WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW, WDF_UNCLICK_BUTTONS|WDF_CONSTRUCTION, _nested_other_orders_widgets, lengthof(_nested_other_orders_widgets)) |
GUI related to orders.
Definition in file order_gui.cpp.
uint ConvertDisplaySpeedToSpeed | ( | uint | speed | ) |
Convert the given display speed to the (internal) speed.
speed | the speed to convert |
Definition at line 680 of file strings.cpp.
References _settings_game, Units::c_velocity, UnitConversion::FromDisplay(), GameSettings::locale, and LocaleSettings::units.
Referenced by OrdersWindow::OnQueryTextFinished().
uint ConvertSpeedToDisplaySpeed | ( | uint | speed | ) |
Convert the given (internal) speed to the display speed.
speed | the speed to convert |
Definition at line 667 of file strings.cpp.
References _settings_game, Units::c_velocity, GameSettings::locale, UnitConversion::ToDisplay(), and LocaleSettings::units.
Referenced by DrawOrderString(), FormatString(), OrdersWindow::OnClick(), and OrdersWindow::SetStringParameters().
void DrawOrderString | ( | const Vehicle * | v, | |
const Order * | order, | |||
int | order_index, | |||
int | y, | |||
bool | selected, | |||
bool | timetable, | |||
int | left, | |||
int | middle, | |||
int | right | |||
) |
Draws an order in order or timetable GUI.
v | Vehicle the order belongs to | |
order | The order to draw | |
order_index | Index of the order in the orders of the vehicle | |
y | Y position for drawing | |
selected | True, if the order is selected | |
timetable | True, when drawing in the timetable GUI | |
left | Left border for text drawing | |
middle | X position between order index and order text | |
right | Right border for text drawing |
Definition at line 210 of file order_gui.cpp.
References _current_text_dir, _station_load_types, ConvertSpeedToDisplaySpeed(), Vehicle::cur_implicit_order_index, Vehicle::cur_real_order_index, DrawSprite(), DrawString(), FONT_HEIGHT_NORMAL, CargoSpec::Get(), Order::GetConditionComparator(), Order::GetConditionSkipToOrder(), Order::GetConditionValue(), Order::GetConditionVariable(), Order::GetDepotActionType(), Order::GetDepotOrderType(), Order::GetDestination(), Vehicle::GetFirstOrder(), Order::GetLoadType(), Order::GetNonStopType(), GetOrderDistance(), Order::GetRefitCargo(), GetSpriteSize(), Order::GetStopLocation(), Order::GetType(), Order::GetUnloadType(), Order::IsAutoRefit(), Order::IsGotoOrder(), Vehicle::IsGroundVehicle(), Order::IsRefit(), Order::IsType(), Order::next, OCC_IS_FALSE, OCC_IS_TRUE, SA_FORCE, SA_RIGHT, SetDParam(), SetTimetableParams(), TC_NO_SHADE, BaseVehicle::type, VEH_AIRCRAFT, VEH_TRAIN, and Order::wait_time.
Referenced by TimetableWindow::DrawWidget(), and OrdersWindow::DrawWidget().
const NWidgetPart _nested_orders_train_widgets[] [static] |
Nested widget definition for "your" train orders.
Definition at line 1539 of file order_gui.cpp.
const NWidgetPart _nested_orders_widgets[] [static] |
Nested widget definition for "your" orders (non-train).
Definition at line 1615 of file order_gui.cpp.
const NWidgetPart _nested_other_orders_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), NWidget(WWT_CAPTION, COLOUR_GREY, WID_O_CAPTION), SetDataTip(STR_ORDERS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_O_TIMETABLE_VIEW), SetMinimalSize(61, 14), SetDataTip(STR_ORDERS_TIMETABLE_VIEW, STR_ORDERS_TIMETABLE_VIEW_TOOLTIP), NWidget(WWT_SHADEBOX, COLOUR_GREY), NWidget(WWT_STICKYBOX, COLOUR_GREY), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_PANEL, COLOUR_GREY, WID_O_ORDER_LIST), SetMinimalSize(372, 72), SetDataTip(0x0, STR_ORDERS_LIST_TOOLTIP), SetResize(1, 1), SetScrollbar(WID_O_SCROLLBAR), EndContainer(), NWidget(NWID_VERTICAL), NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_O_SCROLLBAR), NWidget(WWT_RESIZEBOX, COLOUR_GREY), EndContainer(), EndContainer(), }
Nested widget definition for competitor orders.
Definition at line 1686 of file order_gui.cpp.
const StringID _order_conditional_condition[] [static] |
{ STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS, STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS, STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN, STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS, STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN, STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS, STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE, STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE, INVALID_STRING_ID, }
Definition at line 159 of file order_gui.cpp.
const OrderConditionVariable _order_conditional_variable[] [static] |
{ OCV_LOAD_PERCENTAGE, OCV_RELIABILITY, OCV_MAX_SPEED, OCV_AGE, OCV_REMAINING_LIFETIME, OCV_REQUIRES_SERVICE, OCV_UNCONDITIONALLY, }
Variables for conditional orders; this defines the order of appearance in the dropdown box.
Definition at line 149 of file order_gui.cpp.
Referenced by OrdersWindow::OnClick(), and OrdersWindow::UpdateWidgetSize().
const StringID _order_depot_action_dropdown[] [static] |
{ STR_ORDER_DROP_GO_ALWAYS_DEPOT, STR_ORDER_DROP_SERVICE_DEPOT, STR_ORDER_DROP_HALT_DEPOT, INVALID_STRING_ID }
Definition at line 174 of file order_gui.cpp.
const StringID _order_full_load_drowdown[] [static] |
{ STR_ORDER_DROP_LOAD_IF_POSSIBLE, STR_EMPTY, STR_ORDER_DROP_FULL_LOAD_ALL, STR_ORDER_DROP_FULL_LOAD_ANY, STR_ORDER_DROP_NO_LOADING, INVALID_STRING_ID }
Definition at line 114 of file order_gui.cpp.
const StringID _order_goto_dropdown[] [static] |
{ STR_ORDER_GO_TO, STR_ORDER_GO_TO_NEAREST_DEPOT, STR_ORDER_CONDITIONAL, STR_ORDER_SHARE, INVALID_STRING_ID }
Definition at line 132 of file order_gui.cpp.
const StringID _order_goto_dropdown_aircraft[] [static] |
{ STR_ORDER_GO_TO, STR_ORDER_GO_TO_NEAREST_HANGAR, STR_ORDER_CONDITIONAL, STR_ORDER_SHARE, INVALID_STRING_ID }
Definition at line 140 of file order_gui.cpp.
const StringID _order_non_stop_drowdown[] [static] |
{ STR_ORDER_GO_TO, STR_ORDER_GO_NON_STOP_TO, STR_ORDER_GO_VIA, STR_ORDER_GO_NON_STOP_VIA, INVALID_STRING_ID }
Definition at line 106 of file order_gui.cpp.
const StringID _order_refit_action_dropdown[] [static] |
{ STR_ORDER_DROP_REFIT_AUTO, STR_ORDER_DROP_REFIT_AUTO_ANY, INVALID_STRING_ID }
Definition at line 192 of file order_gui.cpp.
const StringID _order_unload_drowdown[] [static] |
{ STR_ORDER_DROP_UNLOAD_IF_ACCEPTED, STR_ORDER_DROP_UNLOAD, STR_ORDER_DROP_TRANSFER, STR_EMPTY, STR_ORDER_DROP_NO_UNLOADING, INVALID_STRING_ID }
Definition at line 123 of file order_gui.cpp.
const StringID _station_load_types[][5][5] [static] |
Order load types that could be given to station orders.
Definition at line 36 of file order_gui.cpp.
Referenced by DrawOrderString().