# HG changeset patch # User belugas # Date 1208315156 0 # Node ID 7fa9c9bf55226f13a28330b6d78d559ea6b8de0b # Parent 80b1d6fe25c5d3e3e1f84719ebffff6af826916d (svn r12733) -Codechange: Merge two more Widgets arrays (town views ) into one. diff -r 80b1d6fe25c5 -r 7fa9c9bf5522 src/town_gui.cpp --- a/src/town_gui.cpp Tue Apr 15 23:07:06 2008 +0000 +++ b/src/town_gui.cpp Wed Apr 16 03:05:56 2008 +0000 @@ -278,6 +278,7 @@ enum TownViewWidget { TVW_CAPTION = 1, + TVW_STICKY, TVW_CENTERVIEW = 6, TVW_SHOWAUTORITY, TVW_CHANGENAME, @@ -290,9 +291,22 @@ Town *t = GetTown(w->window_number); switch (e->event) { - case WE_CREATE: + case WE_CREATE: { + bool ingame = _game_mode != GM_EDITOR; if (t->larger_town) w->widget[TVW_CAPTION].data = STR_CITY; - break; + w->SetWidgetHiddenState(TVW_DELETE, ingame); // hide delete button on game mode + w->SetWidgetHiddenState(TVW_EXPAND, ingame); // hide expand button on game mode + w->SetWidgetHiddenState(TVW_SHOWAUTORITY, !ingame); // hide autority button on editor mode + + if (ingame) { + /* resize caption bar */ + w->widget[TVW_CAPTION].right = w->widget[TVW_STICKY].left -1; + /* move the rename from top on scenario to bottom in game */ + w->widget[TVW_CHANGENAME].top = w->widget[TVW_EXPAND].top; + w->widget[TVW_CHANGENAME].bottom = w->widget[TVW_EXPAND].bottom; + w->widget[TVW_CHANGENAME].right = w->widget[TVW_STICKY].right; + } + } break; case WE_PAINT: /* disable renaming town in network games if you are not the server */ @@ -353,14 +367,16 @@ static const Widget _town_view_widgets[] = { { WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, -{ WWT_CAPTION, RESIZE_NONE, 13, 11, 247, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS}, +{ WWT_CAPTION, RESIZE_NONE, 13, 11, 172, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_STICKYBOX, RESIZE_NONE, 13, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON}, { WWT_PANEL, RESIZE_NONE, 13, 0, 259, 14, 105, 0x0, STR_NULL}, { WWT_INSET, RESIZE_NONE, 13, 2, 257, 16, 103, 0x0, STR_NULL}, { WWT_PANEL, RESIZE_NONE, 13, 0, 259, 106, 137, 0x0, STR_NULL}, { WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 85, 138, 149, STR_00E4_LOCATION, STR_200B_CENTER_THE_MAIN_VIEW_ON}, { WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_2020_LOCAL_AUTHORITY, STR_2021_SHOW_INFORMATION_ON_LOCAL}, -{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME}, +{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 247, 0, 13, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME}, +{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_023C_EXPAND, STR_023B_INCREASE_SIZE_OF_TOWN}, +{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0290_DELETE, STR_0291_DELETE_THIS_TOWN_COMPLETELY}, { WIDGETS_END}, }; @@ -372,38 +388,11 @@ TownViewWndProc }; -static const Widget _town_view_scen_widgets[] = { -{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, -{ WWT_CAPTION, RESIZE_NONE, 13, 11, 172, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS}, -{ WWT_STICKYBOX, RESIZE_NONE, 13, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON}, -{ WWT_PANEL, RESIZE_NONE, 13, 0, 259, 14, 105, 0x0, STR_NULL}, -{ WWT_INSET, RESIZE_NONE, 13, 2, 257, 16, 103, 0x0, STR_NULL}, -{ WWT_PANEL, RESIZE_NONE, 13, 0, 259, 106, 137, 0x0, STR_NULL}, -{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 85, 138, 149, STR_00E4_LOCATION, STR_200B_CENTER_THE_MAIN_VIEW_ON}, -{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, -{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 173, 247, 0, 13, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME}, -{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_023C_EXPAND, STR_023B_INCREASE_SIZE_OF_TOWN}, -{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0290_DELETE, STR_0291_DELETE_THIS_TOWN_COMPLETELY}, -{ WIDGETS_END}, -}; - -static const WindowDesc _town_view_scen_desc = { - WDP_AUTO, WDP_AUTO, 260, 150, 260, 150, - WC_TOWN_VIEW, WC_NONE, - WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, - _town_view_scen_widgets, - TownViewWndProc -}; - void ShowTownViewWindow(TownID town) { Window *w; - if (_game_mode != GM_EDITOR) { - w = AllocateWindowDescFront(&_town_view_desc, town); - } else { - w = AllocateWindowDescFront(&_town_view_scen_desc, town); - } + w = AllocateWindowDescFront(&_town_view_desc, town); if (w != NULL) { w->flags4 |= WF_DISABLE_VP_SCROLL;