changeset 8888:29207e0e22a0 draft

(svn r12655) -Change: show the current state in the drop down 'buttons'.
author rubidium <rubidium@openttd.org>
date Thu, 10 Apr 2008 22:17:06 +0000
parents 37d60c8d4a82
children dfdaa97931c6
files src/order_gui.cpp
diffstat 1 files changed, 31 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -127,6 +127,32 @@
 	}
 };
 
+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 @@
 	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 @@
 	'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);