(svn r12512) [NoAI] -Fix r12511: it was pointed out to me to handle widgets with enums... I only wish there was a guideline for their names ;) noai
authortruebrain
Mon, 31 Mar 2008 13:51:57 +0000
branchnoai
changeset 9846 6dcf51a0cf7c
parent 9845 c359062b4db0
child 9847 b89e6adc18d4
(svn r12512) [NoAI] -Fix r12511: it was pointed out to me to handle widgets with enums... I only wish there was a guideline for their names ;)
src/ai/ai_gui.cpp
--- a/src/ai/ai_gui.cpp	Mon Mar 31 11:31:44 2008 +0000
+++ b/src/ai/ai_gui.cpp	Mon Mar 31 13:51:57 2008 +0000
@@ -24,6 +24,25 @@
 
 extern AIFactoryBase *AI_GetPlayerFactory(PlayerID player);
 
+enum AIDebugWindowWidgets {
+	AID_WIDGET_CLOSEBOX = 0,
+	AID_WIDGET_CAPTION,
+	AID_WIDGET_VIEW,
+	AID_WIDGET_NAME_TEXT,
+	AID_WIDGET_RELOAD_TOGGLE,
+	AID_WIDGET_LOG_PANEL,
+	AID_WIDGET_UNUSED_1,
+	AID_WIDGET_UNUSED_2,
+	AID_WIDGET_UNUSED_3,
+	AID_WIDGET_UNUSED_4,
+	AID_WIDGET_UNUSED_5,
+	AID_WIDGET_UNUSED_6,
+	AID_WIDGET_UNUSED_7,
+
+	AID_WIDGET_COMPANY_BUTTON_START,
+	AID_WIDGET_COMPANY_BUTTON_END = AID_WIDGET_COMPANY_BUTTON_START + 8,
+};
+
 static void AIDebugWndProc(Window *w, WindowEvent *e)
 {
 	static PlayerID _ai_debug_player = INVALID_PLAYER;
@@ -39,8 +58,8 @@
 			if (_ai_debug_player == INVALID_PLAYER || !GetPlayer(_ai_debug_player)->is_active) {
 				if (_ai_debug_player != INVALID_PLAYER) {
 					/* Raise and disable the widget for the previous selection. */
-					w->RaiseWidget(_ai_debug_player + 13);
-					w->DisableWidget(_ai_debug_player + 13);
+					w->RaiseWidget(_ai_debug_player + AID_WIDGET_COMPANY_BUTTON_START);
+					w->DisableWidget(_ai_debug_player + AID_WIDGET_COMPANY_BUTTON_START);
 					SetWindowDirty(w);
 
 					_ai_debug_player = INVALID_PLAYER;
@@ -49,8 +68,8 @@
 				for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) {
 					if (GetPlayer(i)->is_active && GetPlayer(i)->is_ai) {
 						/* Lower the widget corresponding to this player. */
-						w->LowerWidget(i + 13);
-						w->EnableWidget(4);
+						w->LowerWidget(i + AID_WIDGET_COMPANY_BUTTON_START);
+						w->EnableWidget(AID_WIDGET_RELOAD_TOGGLE);
 						SetWindowDirty(w);
 
 						_ai_debug_player = i;
@@ -66,10 +85,10 @@
 			for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) {
 				if (!GetPlayer(i)->is_active || !GetPlayer(i)->is_ai) {
 					/* Check if we have the player as an active player */
-					if (!w->IsWidgetDisabled(i + 13)) {
+					if (!w->IsWidgetDisabled(i + AID_WIDGET_COMPANY_BUTTON_START)) {
 						/* Bah, player gone :( */
-						w->DisableWidget(i + 13);
-						w->DisableWidget(4);
+						w->DisableWidget(i + AID_WIDGET_COMPANY_BUTTON_START);
+						w->DisableWidget(AID_WIDGET_RELOAD_TOGGLE);
 
 						/* We need a repaint */
 						SetWindowDirty(w);
@@ -78,10 +97,10 @@
 				}
 
 				/* Check if we have the player marked as inactive */
-				if (w->IsWidgetDisabled(i + 13)) {
+				if (w->IsWidgetDisabled(i + AID_WIDGET_COMPANY_BUTTON_START)) {
 					/* New AI! Yippie :p */
-					w->EnableWidget(i + 13);
-					w->EnableWidget(4);
+					w->EnableWidget(i + AID_WIDGET_COMPANY_BUTTON_START);
+					w->EnableWidget(AID_WIDGET_RELOAD_TOGGLE);
 					/* We need a repaint */
 					SetWindowDirty(w);
 				}
@@ -98,16 +117,16 @@
 
 		case WE_CLICK:
 			/* Check which button is clicked */
-			if (IsInsideMM(e->we.click.widget, 13, 21)) {
+			if (IsInsideMM(e->we.click.widget, AID_WIDGET_COMPANY_BUTTON_START, AID_WIDGET_COMPANY_BUTTON_END)) {
 				/* Is it no on disable? */
 				if (!w->IsWidgetDisabled(e->we.click.widget)) {
-					w->RaiseWidget(_ai_debug_player + 13);
-					_ai_debug_player = (PlayerID)(e->we.click.widget - 13);
-					w->LowerWidget(_ai_debug_player + 13);
+					w->RaiseWidget(_ai_debug_player + AID_WIDGET_COMPANY_BUTTON_START);
+					_ai_debug_player = (PlayerID)(e->we.click.widget - AID_WIDGET_COMPANY_BUTTON_START);
+					w->LowerWidget(_ai_debug_player + AID_WIDGET_COMPANY_BUTTON_START);
 					SetWindowDirty(w);
 				}
 			}
-			if (e->we.click.widget == 4 && !w->IsWidgetDisabled(e->we.click.widget)) {
+			if (e->we.click.widget == AID_WIDGET_RELOAD_TOGGLE && !w->IsWidgetDisabled(e->we.click.widget)) {
 				/* Reload the AI */
 				DEBUG(ai, 0, "Reloading not yet supported");
 			}
@@ -116,14 +135,14 @@
 		case WE_CREATE: {
 			/* Disable the players who are not active or not an AI */
 			for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) {
-				w->SetWidgetDisabledState(i + 13, !GetPlayer(i)->is_active || !GetPlayer(i)->is_ai);
+				w->SetWidgetDisabledState(i + AID_WIDGET_COMPANY_BUTTON_START, !GetPlayer(i)->is_active || !GetPlayer(i)->is_ai);
 			}
-			w->DisableWidget(4);
+			w->DisableWidget(AID_WIDGET_RELOAD_TOGGLE);
 
 			w->custom[0] = DAY_TICKS;
 			w->custom[1] = 5;
 
-			if (_ai_debug_player != INVALID_PLAYER) w->LowerWidget(_ai_debug_player + 13);
+			if (_ai_debug_player != INVALID_PLAYER) w->LowerWidget(_ai_debug_player + AID_WIDGET_COMPANY_BUTTON_START);
 			SetWindowDirty(w);
 
 			break;
@@ -145,37 +164,37 @@
 			break;
 
 		case WE_TIMEOUT:
-			w->RaiseWidget(4);
+			w->RaiseWidget(AID_WIDGET_RELOAD_TOGGLE);
 			SetWindowDirty(w);
 			break;
 	}
 }
 
 static const Widget _ai_debug_widgets[] = {
-{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},
-{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   298,     0,    13, STR_AI_DEBUG,               STR_018C_WINDOW_TITLE_DRAG_THIS},
-{      WWT_PANEL,   RESIZE_NONE,    14,     0,   298,    14,    27, 0x0,                        STR_NULL},
+{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},                 // AID_WIDGET_CLOSEBOX
+{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   298,     0,    13, STR_AI_DEBUG,               STR_018C_WINDOW_TITLE_DRAG_THIS},       // AID_WIDGET_CAPTION
+{      WWT_PANEL,   RESIZE_NONE,    14,     0,   298,    14,    27, 0x0,                        STR_NULL},                              // AID_WIDGET_VIEW
 
-{      WWT_PANEL,   RESIZE_NONE,    14,     0,   149,    28,    47, 0x0,                        STR_AI_DEBUG_NAME_TIP},
-{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   150,   298,    28,    47, STR_AI_DEBUG_RELOAD,        STR_AI_DEBUG_RELOAD_TIP},
-{      WWT_PANEL,   RESIZE_NONE,    14,     0,   298,    48,   227, 0x0,                        STR_NULL},
+{      WWT_PANEL,   RESIZE_NONE,    14,     0,   149,    28,    47, 0x0,                        STR_AI_DEBUG_NAME_TIP},                 // AID_WIDGET_NAME_TEXT
+{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   150,   298,    28,    47, STR_AI_DEBUG_RELOAD,        STR_AI_DEBUG_RELOAD_TIP},               // AID_WIDGET_RELOAD_TOGGLE
+{      WWT_PANEL,   RESIZE_NONE,    14,     0,   298,    48,   227, 0x0,                        STR_NULL},                              // AID_WIDGET_LOG_PANEL
 /* As this is WIP, leave the next few so we can work a bit with the GUI */
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,    88,   107, 0x0,                        STR_NULL},
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   108,   127, 0x0,                        STR_NULL},
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   128,   147, 0x0,                        STR_NULL},
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   148,   167, 0x0,                        STR_NULL},
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   168,   187, 0x0,                        STR_NULL},
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   188,   207, 0x0,                        STR_NULL},
-{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   208,   227, 0x0,                        STR_NULL},
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,    88,   107, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_1
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   108,   127, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_2
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   128,   147, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_3
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   148,   167, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_4
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   168,   187, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_5
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   188,   207, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_6
+{      WWT_EMPTY,   RESIZE_NONE,    14,     0,   298,   208,   227, 0x0,                        STR_NULL},                              // AID_WIDGET_UNUSED_7
 
-{      WWT_PANEL,   RESIZE_NONE,    14,     2,    38,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
+{      WWT_PANEL,   RESIZE_NONE,    14,     2,    38,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, // AID_WIDGET_COMPANY_BUTTON_START
 {      WWT_PANEL,   RESIZE_NONE,    14,    39,    75,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 {      WWT_PANEL,   RESIZE_NONE,    14,    76,   112,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 {      WWT_PANEL,   RESIZE_NONE,    14,   113,   149,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 {      WWT_PANEL,   RESIZE_NONE,    14,   150,   186,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 {      WWT_PANEL,   RESIZE_NONE,    14,   187,   223,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 {      WWT_PANEL,   RESIZE_NONE,    14,   224,   260,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
-{      WWT_PANEL,   RESIZE_NONE,    14,   261,   297,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
+{      WWT_PANEL,   RESIZE_NONE,    14,   261,   297,    14,    26, 0x0,                        STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, // AID_WIDGET_COMPANY_BUTTON_END
 {   WIDGETS_END},
 };