Mercurial > hg > openttd
changeset 8593:90ffef351faa draft
(svn r12174) -Codechange: Make the patches window dynamically resize to the largest patch tab, so adding patch options is simply a case of adding to the lists.
author | peter1138 <peter1138@openttd.org> |
---|---|
date | Mon, 18 Feb 2008 12:36:10 +0000 |
parents | 8d18ff60b07a |
children | 2ed0f71a87ff |
files | src/settings_gui.cpp |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -860,6 +860,7 @@ static void PatchesSelectionWndProc(Window *w, WindowEvent *e) { static Patches *patches_ptr; + static int patches_max = 0; switch (e->event) { case WE_CREATE: { @@ -873,6 +874,8 @@ for (page = &_patches_page[0]; page != endof(_patches_page); page++) { uint i; + if (patches_max < page->num) patches_max = page->num; + page->entries = MallocT<PatchEntry>(page->num); for (i = 0; i != page->num; i++) { uint index; @@ -885,6 +888,10 @@ } first_time = false; } + + /* Resize the window to fit the largest patch tab */ + ResizeWindowForWidget(w, PATCHSEL_OPTIONSPANEL, 0, patches_max * 11); + w->LowerWidget(4); } break; @@ -1071,7 +1078,7 @@ { WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, { WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 41, 0x0, STR_NULL}, -{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 380, 0x0, STR_NULL}, +{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 50, 0x0, STR_NULL}, { WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL}, { WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL}, @@ -1083,7 +1090,7 @@ }; static const WindowDesc _patches_selection_desc = { - WDP_CENTER, WDP_CENTER, 370, 381, 370, 381, + WDP_CENTER, WDP_CENTER, 370, 51, 370, 51, WC_GAME_OPTIONS, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, _patches_selection_widgets,