1
0
Fork 0

(svn r20466) -Codechange: USe NWID_SELECTION to hide the scrollbar in dropdowns.

release/1.1
frosch 2010-08-12 11:53:11 +00:00
parent 419c269e56
commit 28048826f8
1 changed files with 9 additions and 8 deletions

View File

@ -69,14 +69,17 @@ static void DeleteDropDownList(DropDownList *list)
/** Widget numbers of the dropdown menu. */ /** Widget numbers of the dropdown menu. */
enum DropdownMenuWidgets { enum DropdownMenuWidgets {
DDM_ITEMS, ///< Panel showing the dropdown items. DDM_ITEMS, ///< Panel showing the dropdown items.
DDM_SCROLL, ///< Scrollbar. DDM_SHOW_SCROLL, ///< Hide scrollbar if too few items.
DDM_SCROLL, ///< Scrollbar.
}; };
static const NWidgetPart _nested_dropdown_menu_widgets[] = { static const NWidgetPart _nested_dropdown_menu_widgets[] = {
NWidget(NWID_HORIZONTAL), NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_END, DDM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(DDM_SCROLL), EndContainer(), NWidget(WWT_PANEL, COLOUR_END, DDM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(DDM_SCROLL), EndContainer(),
NWidget(NWID_VSCROLLBAR, COLOUR_END, DDM_SCROLL), NWidget(NWID_SELECTION, INVALID_COLOUR, DDM_SHOW_SCROLL),
NWidget(NWID_VSCROLLBAR, COLOUR_END, DDM_SCROLL),
EndContainer(),
EndContainer(), EndContainer(),
}; };
@ -128,11 +131,9 @@ struct DropdownWindow : Window {
nwi->colour = wi_colour; nwi->colour = wi_colour;
nwi = this->GetWidget<NWidgetCore>(DDM_SCROLL); nwi = this->GetWidget<NWidgetCore>(DDM_SCROLL);
if (scroll) { nwi->colour = wi_colour;
nwi->colour = wi_colour;
} else { this->GetWidget<NWidgetStacked>(DDM_SHOW_SCROLL)->SetDisplayedPlane(scroll ? 0 : SZSP_NONE);
nwi->min_x = 0; // Make scrollbar invisible.
}
this->FinishInitNested(&_dropdown_desc, 0); this->FinishInitNested(&_dropdown_desc, 0);
this->flags4 &= ~WF_WHITE_BORDER_MASK; this->flags4 &= ~WF_WHITE_BORDER_MASK;