changeset 5828:9dc7252be011 draft

(svn r8394) -Cleanup: added an enum with widget names to the orders window
author bjarni <bjarni@openttd.org>
date Wed, 24 Jan 2007 18:22:31 +0000
parents 832de2ec189f
children 09c5ef7113db
files src/order_gui.cpp
diffstat 1 files changed, 63 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -23,6 +23,24 @@
 #include "water_map.h"
 #include "vehicle_gui.h"
 
+enum OrderWindowWidgets {
+	ORDER_WIDGET_CLOSEBOX = 0,
+	ORDER_WIDGET_CAPTION,
+	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_TRANSFER,
+	ORDER_WIDGET_SHARED_ORDER_LIST,
+	ORDER_WIDGET_REFIT,
+	ORDER_WIDGET_RESIZE_BAR,
+	ORDER_WIDGET_RESIZE,
+};
+
 static int OrderGetSel(const Window *w)
 {
 	const Vehicle *v = GetVehicle(w->window_number);
@@ -72,50 +90,50 @@
 
 	if (v->owner == _local_player) {
 		/* skip */
-		SetWindowWidgetDisabledState(w,  4, v->num_orders == 0);
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_SKIP, v->num_orders == 0);
 
 		/* delete */
-		SetWindowWidgetDisabledState(w,  5,
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_DELETE,
 				(uint)v->num_orders + (shared_orders ? 1 : 0) <= (uint)WP(w, order_d).sel);
 
 		/* non-stop only for trains */
-		SetWindowWidgetDisabledState(w,  6, v->type != VEH_Train || order == NULL);
-		SetWindowWidgetDisabledState(w,  8, order == NULL); // full load
-		SetWindowWidgetDisabledState(w,  9, order == NULL); // unload
-		SetWindowWidgetDisabledState(w, 10, order == NULL); // transfer
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_NON_STOP,  v->type != VEH_Train || order == NULL);
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_FULL_LOAD, order == NULL); // full load
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_UNLOAD,    order == NULL); // unload
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_TRANSFER,  order == NULL); // transfer
 		/* Disable list of vehicles with the same shared orders if there is no list */
-		SetWindowWidgetDisabledState(w, 11, !shared_orders || v->orders == NULL);
-		SetWindowWidgetDisabledState(w, 12, order == NULL); // Refit
-		HideWindowWidget(w, 12); // Refit
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_SHARED_ORDER_LIST, !shared_orders || v->orders == NULL);
+		SetWindowWidgetDisabledState(w, ORDER_WIDGET_REFIT,     order == NULL); // Refit
+		HideWindowWidget(w, ORDER_WIDGET_REFIT); // Refit
 	} else {
-		DisableWindowWidget(w, 10);
+		DisableWindowWidget(w, ORDER_WIDGET_TRANSFER);
 	}
 
-	ShowWindowWidget(w, 9); // Unload
+	ShowWindowWidget(w, ORDER_WIDGET_UNLOAD); // Unload
 
 	if (order != NULL) {
 		switch (order->type) {
 			case OT_GOTO_STATION: break;
 
 			case OT_GOTO_DEPOT:
-				DisableWindowWidget(w, 10);
+				DisableWindowWidget(w, ORDER_WIDGET_TRANSFER);
 
 				/* Remove unload and replace it with refit */
-				HideWindowWidget(w,  9);
-				ShowWindowWidget(w, 12);
+				HideWindowWidget(w, ORDER_WIDGET_UNLOAD);
+				ShowWindowWidget(w, ORDER_WIDGET_REFIT);
 				SetDParam(2,STR_SERVICE);
 				break;
 
 			case OT_GOTO_WAYPOINT:
-				DisableWindowWidget(w,  8);
-				DisableWindowWidget(w,  9);
-				DisableWindowWidget(w, 10);
+				DisableWindowWidget(w, ORDER_WIDGET_FULL_LOAD);
+				DisableWindowWidget(w, ORDER_WIDGET_UNLOAD);
+				DisableWindowWidget(w, ORDER_WIDGET_TRANSFER);
 				break;
 
 			default: // every other orders
-				DisableWindowWidget(w, 6);
-				DisableWindowWidget(w, 8);
-				DisableWindowWidget(w, 9);
+				DisableWindowWidget(w, ORDER_WIDGET_NON_STOP);
+				DisableWindowWidget(w, ORDER_WIDGET_FULL_LOAD);
+				DisableWindowWidget(w, ORDER_WIDGET_UNLOAD);
 		}
 	}
 
@@ -338,9 +356,9 @@
 
 static void OrderClick_Goto(Window *w, const Vehicle *v)
 {
-	InvalidateWidget(w, 7);
-	ToggleWidgetLoweredState(w, 7);
-	if (IsWindowWidgetLowered(w, 7)) {
+	InvalidateWidget(w, ORDER_WIDGET_GOTO);
+	ToggleWidgetLoweredState(w, ORDER_WIDGET_GOTO);
+	if (IsWindowWidgetLowered(w, ORDER_WIDGET_GOTO)) {
 		_place_clicked_vehicle = NULL;
 		SetObjectToPlaceWnd(ANIMCURSOR_PICKSTATION, PAL_NONE, 1, w);
 	} else {
@@ -415,10 +433,10 @@
 		case WE_CREATE:
 			/* Move Refit to the same location as Unload
 			 * This will ensure that they always stay at the same location even if Unload is moved in a later commit */
-			w->widget[12].left   = w->widget[9].left;
-			w->widget[12].right  = w->widget[9].right;
-			w->widget[12].top    = w->widget[9].top;
-			w->widget[12].bottom = w->widget[9].bottom;
+			w->widget[ORDER_WIDGET_REFIT].left   = w->widget[ORDER_WIDGET_UNLOAD].left;
+			w->widget[ORDER_WIDGET_REFIT].right  = w->widget[ORDER_WIDGET_UNLOAD].right;
+			w->widget[ORDER_WIDGET_REFIT].top    = w->widget[ORDER_WIDGET_UNLOAD].top;
+			w->widget[ORDER_WIDGET_REFIT].bottom = w->widget[ORDER_WIDGET_UNLOAD].bottom;
 			break;
 
 	case WE_PAINT:
@@ -428,7 +446,7 @@
 	case WE_CLICK: {
 		Vehicle *v = GetVehicle(w->window_number);
 		switch (e->we.click.widget) {
-		case 2: { /* orders list */
+		case ORDER_WIDGET_ORDER_LIST: {
 			int sel = (e->we.click.pt.y - 15) / 10;
 
 			if ((uint)sel >= w->vscroll.cap) return;
@@ -455,36 +473,36 @@
 			SetWindowDirty(w);
 		}	break;
 
-		case 4: /* skip button */
+		case ORDER_WIDGET_SKIP:
 			OrderClick_Skip(w, v);
 			break;
 
-		case 5: /* delete button */
+		case ORDER_WIDGET_DELETE:
 			OrderClick_Delete(w, v);
 			break;
 
-		case 6: /* non stop button */
+		case ORDER_WIDGET_NON_STOP:
 			OrderClick_Nonstop(w, v);
 			break;
 
-		case 7: /* goto button */
+		case ORDER_WIDGET_GOTO:
 			OrderClick_Goto(w, v);
 			break;
 
-		case 8: /* full load button */
+		case ORDER_WIDGET_FULL_LOAD:
 			OrderClick_FullLoad(w, v);
 			break;
 
-		case 9: /* unload button */
+		case ORDER_WIDGET_UNLOAD:
 			OrderClick_Unload(w, v);
 			break;
-		case 10: /* transfer button */
+		case ORDER_WIDGET_TRANSFER:
 			OrderClick_Transfer(w, v);
 			break;
-		case 11: /* Vehicle with same shared Orders button */
+		case ORDER_WIDGET_SHARED_ORDER_LIST:
 			ShowVehicleListWindow(v);
 			break;
-		case 12:
+		case ORDER_WIDGET_REFIT:
 			OrderClick_Refit(w, v);
 			break;
 		}
@@ -500,7 +518,7 @@
 			if (e->we.keypress.keycode == _order_keycodes[i]) {
 				e->we.keypress.cont = false;
 				//see if the button is disabled
-				if (!IsWindowWidgetDisabled(w, i + 4)) _order_button_proc[i](w, v);
+				if (!IsWindowWidgetDisabled(w, i + ORDER_WIDGET_SKIP)) _order_button_proc[i](w, v);
 				break;
 			}
 		}
@@ -511,7 +529,7 @@
 		const Vehicle *v = GetVehicle(w->window_number);
 		int s = OrderGetSel(w);
 
-		if (e->we.click.widget != 8) break;
+		if (e->we.click.widget != ORDER_WIDGET_FULL_LOAD) break;
 		if (s == v->num_orders || GetVehicleOrder(v, s)->type != OT_GOTO_DEPOT) {
 			GuiShowTooltips(STR_8857_MAKE_THE_HIGHLIGHTED_ORDER);
 		} else {
@@ -524,8 +542,8 @@
 	} break;
 
 	case WE_ABORT_PLACE_OBJ: {
-		RaiseWindowWidget(w, 7);
-		InvalidateWidget(w, 7);
+		RaiseWindowWidget(w, ORDER_WIDGET_GOTO);
+		InvalidateWidget( w, ORDER_WIDGET_GOTO);
 	} break;
 
 	// check if a vehicle in a depot was clicked..
@@ -539,7 +557,7 @@
 		 * the order is copied to the last open window instead of the
 		 * one where GOTO is enabled
 		 */
-		if (v != NULL && IsWindowWidgetLowered(w, 7)) {
+		if (v != NULL && IsWindowWidgetLowered(w, ORDER_WIDGET_GOTO)) {
 			_place_clicked_vehicle = NULL;
 			HandleOrderVehClick(GetVehicle(w->window_number), v, w);
 		}
@@ -547,14 +565,14 @@
 
 	case WE_RESIZE:
 		/* Update the scroll + matrix */
-		w->vscroll.cap = (w->widget[2].bottom - w->widget[2].top) / 10;
+		w->vscroll.cap = (w->widget[ORDER_WIDGET_ORDER_LIST].bottom - w->widget[ORDER_WIDGET_ORDER_LIST].top) / 10;
 		break;
 
 	case WE_TIMEOUT: { // handle button unclick ourselves...
-		// unclick all buttons except for the 'goto' button (7), which is 'persistent'
+		// unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent'
 		uint i;
 		for (i = 0; i < w->widget_count; i++) {
-			if (IsWindowWidgetLowered(w, i) && i != 7) {
+			if (IsWindowWidgetLowered(w, i) && i != ORDER_WIDGET_GOTO) {
 				RaiseWindowWidget(w, i);
 				InvalidateWidget(w, i);
 			}