diff options
author | rubidium <rubidium@openttd.org> | 2008-04-09 23:00:12 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-04-09 23:00:12 +0000 |
commit | 2ac6af4e48744ee42abff16b2b716a9eeeef36cf (patch) | |
tree | 31e91bb295634439e2d248e142cae0410d992fe4 /src/widgets/dropdown.cpp | |
parent | c9e9e6005bed8e6143fdc571cfebdc993d334dbd (diff) | |
download | openttd-2ac6af4e48744ee42abff16b2b716a9eeeef36cf.tar.xz |
(svn r12644) -Codechange: rework the order gui a little to prepare it for some future changes.
Diffstat (limited to 'src/widgets/dropdown.cpp')
-rw-r--r-- | src/widgets/dropdown.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/widgets/dropdown.cpp b/src/widgets/dropdown.cpp index 89e336a58..70eb81b64 100644 --- a/src/widgets/dropdown.cpp +++ b/src/widgets/dropdown.cpp @@ -201,7 +201,7 @@ static void DropDownMenuWndProc(Window *w, WindowEvent *e) } } -void ShowDropDownList(Window *w, DropDownList *list, int selected, int button) +void ShowDropDownList(Window *w, DropDownList *list, int selected, int button, uint width) { bool is_dropdown_menu_shown = w->IsWidgetLowered(button); @@ -246,17 +246,19 @@ void ShowDropDownList(Window *w, DropDownList *list, int selected, int button) } } + if (width == 0) width = wi->right - wi->left + 1; + Window *dw = AllocateWindow( w->left + wi->left, top, - wi->right - wi->left + 1, + width, height, DropDownMenuWndProc, WC_DROPDOWN_MENU, _dropdown_menu_widgets); dw->widget[0].color = wi->color; - dw->widget[0].right = wi->right - wi->left; + dw->widget[0].right = width + 1; dw->widget[0].bottom = height - 1; dw->SetWidgetHiddenState(1, !scroll); @@ -286,7 +288,7 @@ void ShowDropDownList(Window *w, DropDownList *list, int selected, int button) WP(dw, dropdown_d).drag_mode = true; } -void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask) +void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask, uint width) { /* Don't create a new list if we're just closing an existing menu */ if (w->IsWidgetLowered(button)) { @@ -310,7 +312,7 @@ void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int butt return; } - ShowDropDownList(w, list, selected, button); + ShowDropDownList(w, list, selected, button, width); } /** |