GUI related to orders. More...
#include "stdafx.h"#include "command_func.h"#include "viewport_func.h"#include "depot_base.h"#include "vehicle_gui.h"#include "roadveh.h"#include "timetable.h"#include "cargotype.h"#include "strings_func.h"#include "window_func.h"#include "vehicle_func.h"#include "company_func.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 "table/sprites.h"#include "table/strings.h"Go to the source code of this file.
Data Structures | |
| struct | OrdersWindow |
| Order window code for all vehicles. More... | |
| struct | OrdersWindow::KeyToEvent |
Enumerations | |
| enum | OrderWindowWidgets { ORDER_WIDGET_CAPTION, ORDER_WIDGET_TIMETABLE_VIEW, ORDER_WIDGET_ORDER_LIST, ORDER_WIDGET_SCROLLBAR, ORDER_WIDGET_SKIP, ORDER_WIDGET_DELETE, ORDER_WIDGET_NON_STOP, ORDER_WIDGET_GOTO, ORDER_WIDGET_FULL_LOAD, ORDER_WIDGET_UNLOAD, ORDER_WIDGET_REFIT, ORDER_WIDGET_SERVICE, ORDER_WIDGET_COND_VARIABLE, ORDER_WIDGET_COND_COMPARATOR, ORDER_WIDGET_COND_VALUE, ORDER_WIDGET_SEL_TOP_LEFT, ORDER_WIDGET_SEL_TOP_MIDDLE, ORDER_WIDGET_SEL_TOP_RIGHT, ORDER_WIDGET_SEL_TOP_ROW, ORDER_WIDGET_SHARED_ORDER_LIST } |
Widget numbers of the order window. 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] |
| 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 StringID | _order_conditional_variable [] |
| static const StringID | _order_conditional_condition [] |
| static const StringID | _order_depot_action_dropdown [] |
| 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.
| enum OrderWindowWidgets |
Widget numbers of the order window.
| ORDER_WIDGET_SEL_TOP_LEFT |
NWID_SELECTION widget for left part of the top row of the 'your train' order window. |
| ORDER_WIDGET_SEL_TOP_MIDDLE |
NWID_SELECTION widget for middle part of the top row of the 'your train' order window. |
| ORDER_WIDGET_SEL_TOP_RIGHT |
NWID_SELECTION widget for right part of the top row of the 'your train' order window. |
| ORDER_WIDGET_SEL_TOP_ROW |
NWID_SELECTION widget for the top row of the 'your non-trains' order window. |
Definition at line 37 of 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 545 of file strings.cpp.
References _settings_game, GameSettings::locale, Units::s_m, Units::s_s, 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 535 of file strings.cpp.
References _settings_game, GameSettings::locale, Units::s_m, and LocaleSettings::units.
Referenced by DrawOrderString(), 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 190 of file order_gui.cpp.
References _dynlang, _station_load_types, ConvertSpeedToDisplaySpeed(), Vehicle::cur_order_index, DrawSprite(), DrawString(), FONT_HEIGHT_NORMAL, CargoSpec::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_depot_pool >::Get(), Order::GetConditionComparator(), Order::GetConditionSkipToOrder(), Order::GetConditionValue(), Order::GetConditionVariable(), Order::GetDepotActionType(), Order::GetDepotOrderType(), Order::GetDestination(), Order::GetLoadType(), Order::GetNonStopType(), Order::GetRefitCargo(), GetSpriteSize(), Order::GetStopLocation(), Order::GetType(), Order::GetUnloadType(), Order::IsRefit(), OCC_IS_FALSE, OCC_IS_TRUE, OCV_MAX_SPEED, OCV_UNCONDITIONALLY, ODATFB_HALT, ODATFB_NEAREST_DEPOT, ODTFB_SERVICE, ONSF_NO_STOP_AT_DESTINATION_STATION, ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS, SA_FORCE, SA_RIGHT, SetDParam(), SetTimetableParams(), TD_RTL, DynamicLanguages::text_dir, BaseVehicle::type, VEH_AIRCRAFT, VEH_ROAD, 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 1294 of file order_gui.cpp.
const NWidgetPart _nested_orders_widgets[] [static] |
Nested widget definition for "your" orders (non-train).
Definition at line 1358 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, ORDER_WIDGET_CAPTION), SetDataTip(STR_ORDERS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, ORDER_WIDGET_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, ORDER_WIDGET_ORDER_LIST), SetMinimalSize(372, 72), SetDataTip(0x0, STR_ORDERS_LIST_TOOLTIP), SetResize(1, 1), EndContainer(),
NWidget(NWID_VERTICAL),
NWidget(WWT_SCROLLBAR, COLOUR_GREY, ORDER_WIDGET_SCROLLBAR),
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
EndContainer(),
EndContainer(),
}
Nested widget definition for competitor orders.
Definition at line 1423 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 145 of file order_gui.cpp.
const StringID _order_conditional_variable[] [static] |
{
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE,
STR_ORDER_CONDITIONAL_RELIABILITY,
STR_ORDER_CONDITIONAL_MAX_SPEED,
STR_ORDER_CONDITIONAL_AGE,
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE,
STR_ORDER_CONDITIONAL_UNCONDITIONALLY,
INVALID_STRING_ID,
}
Definition at line 135 of file order_gui.cpp.
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 160 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 103 of file order_gui.cpp.
const StringID _order_goto_dropdown[] [static] |
{
STR_ORDER_GO_TO,
STR_ORDER_GO_TO_NEAREST_DEPOT,
STR_ORDER_CONDITIONAL,
INVALID_STRING_ID
}
Definition at line 121 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,
INVALID_STRING_ID
}
Definition at line 128 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 95 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 112 of file order_gui.cpp.
const StringID _station_load_types[][5] [static] |
Order load types that could be given to station orders.
Definition at line 61 of file order_gui.cpp.
Referenced by DrawOrderString().
1.6.1