From d781fc7cc9d34fec15106f94b9160900beb27068 Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 10 Apr 2008 22:17:06 +0000 Subject: (svn r12655) -Change: show the current state in the drop down 'buttons'. --- src/order_gui.cpp | 57 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 2631978fa..65be76fde 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -127,6 +127,32 @@ static const StringID _station_load_types[][5] = { } }; +static const StringID _order_non_stop_drowdown[] = { + STR_ORDER_GO_TO, + STR_ORDER_GO_NON_STOP_TO, + STR_ORDER_GO_VIA, + STR_ORDER_GO_NON_STOP_VIA, + INVALID_STRING_ID +}; + +static const StringID _order_full_load_drowdown[] = { + 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 +}; + +static const StringID _order_unload_drowdown[] = { + STR_ORDER_DROP_UNLOAD_IF_ACCEPTED, + STR_ORDER_DROP_UNLOAD, + STR_ORDER_DROP_TRANSFER, + STR_EMPTY, + STR_ORDER_DROP_NO_UNLOADING, + INVALID_STRING_ID +}; + static void DrawOrdersWindow(Window *w) { const Vehicle *v = GetVehicle(w->window_number); @@ -138,6 +164,11 @@ static void DrawOrdersWindow(Window *w) const Order *order = GetVehicleOrder(v, sel); if (v->owner == _local_player) { + /* Set the strings for the dropdown boxes. */ + w->widget[ORDER_WIDGET_NON_STOP].data = _order_non_stop_drowdown[order == NULL ? 0 : order->GetNonStopType()]; + w->widget[ORDER_WIDGET_FULL_LOAD].data = _order_full_load_drowdown[order == NULL ? 0 : order->GetLoadType()]; + w->widget[ORDER_WIDGET_UNLOAD].data = _order_unload_drowdown[order == NULL ? 0 : order->GetUnloadType()]; + /* skip */ w->SetWidgetDisabledState(ORDER_WIDGET_SKIP, v->num_orders <= 1); @@ -581,32 +612,6 @@ static const uint16 _order_keycodes[] = { 'K' //unload }; -static const StringID _order_non_stop_drowdown[] = { - STR_ORDER_GO_TO, - STR_ORDER_GO_NON_STOP_TO, - STR_ORDER_GO_VIA, - STR_ORDER_GO_NON_STOP_VIA, - INVALID_STRING_ID -}; - -static const StringID _order_full_load_drowdown[] = { - 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 -}; - -static const StringID _order_unload_drowdown[] = { - STR_ORDER_DROP_UNLOAD_IF_ACCEPTED, - STR_ORDER_DROP_UNLOAD, - STR_ORDER_DROP_TRANSFER, - STR_EMPTY, - STR_ORDER_DROP_NO_UNLOADING, - INVALID_STRING_ID -}; - static void OrdersWndProc(Window *w, WindowEvent *e) { const Vehicle *v = GetVehicle(w->window_number); -- cgit v1.2.3-70-g09d2