--- 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},
};