Implementation of the dropdown widget. More...
#include "../stdafx.h"#include "../window_gui.h"#include "../string_func.h"#include "../strings_func.h"#include "../window_func.h"#include "dropdown_type.h"#include "dropdown_widget.h"Go to the source code of this file.
Data Structures | |
| struct | DropdownWindow |
| Drop-down menu window. More... | |
Functions | |
| static void | DeleteDropDownList (DropDownList *list) |
| Delete all items of a drop down list and the list itself. | |
| void | ShowDropDownList (Window *w, DropDownList *list, int selected, int button, uint width, bool auto_width, bool instant_close) |
| Show a drop down list. | |
| void | ShowDropDownMenu (Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask, uint width) |
| Show a dropdown menu window near a widget of the parent window. | |
| int | HideDropDownMenu (Window *pw) |
| Delete the drop-down menu from window pw. | |
Variables | |
| static const NWidgetPart | _nested_dropdown_menu_widgets [] |
| const WindowDesc | _dropdown_desc (WDP_MANUAL, 0, 0, WC_DROPDOWN_MENU, WC_NONE, 0, _nested_dropdown_menu_widgets, lengthof(_nested_dropdown_menu_widgets)) |
Implementation of the dropdown widget.
Definition in file dropdown.cpp.
| static void DeleteDropDownList | ( | DropDownList * | list | ) | [static] |
Delete all items of a drop down list and the list itself.
| list | List to delete. |
Definition at line 75 of file dropdown.cpp.
Referenced by ShowDropDownMenu().
| int HideDropDownMenu | ( | Window * | pw | ) |
Delete the drop-down menu from window pw.
| pw | Parent window of the drop-down menu window |
-1 if the window was not found. Definition at line 458 of file dropdown.cpp.
References DropdownWindow::parent_button, DropdownWindow::parent_wnd_class, DropdownWindow::parent_wnd_num, WC_DROPDOWN_MENU, Window::window_class, and Window::window_number.
Referenced by DispatchLeftClickEvent(), OrdersWindow::OnClick(), OrdersWindow::OnInvalidateData(), VehicleGroupWindow::OnInvalidateData(), VehicleListWindow::OnPaint(), and VehicleGroupWindow::OnPaint().
| void ShowDropDownList | ( | Window * | w, | |
| DropDownList * | list, | |||
| int | selected, | |||
| int | button, | |||
| uint | width = 0, |
|||
| bool | auto_width = false, |
|||
| bool | instant_close = false | |||
| ) |
Show a drop down list.
| w | Parent window for the list. | |
| list | Prepopulated DropDownList. Will be deleted when the list is closed. | |
| selected | The initially selected list item. | |
| button | The widget within the parent window that is used to determine the list's location. | |
| width | Override the width determined by the selected widget. | |
| auto_width | Maximum width is determined by the widest item in the list. | |
| instant_close | Set to true if releasing mouse button should close the list regardless of where the cursor is. |
Definition at line 346 of file dropdown.cpp.
References _current_text_dir, NWidgetCore::colour, NWidgetBase::current_x, NWidgetBase::current_y, DeleteWindowById(), NWidgetCore::disp_flags, GetMainViewBottom(), GetMainViewTop(), Window::GetWidget(), Window::left, Window::LowerWidget(), max(), NWID_BUTTON_DROPDOWN, NWidgetBase::pos_x, NWidgetBase::pos_y, Window::SetWidgetDirty(), TD_RTL, Window::top, NWidgetBase::type, and WC_DROPDOWN_MENU.
Referenced by VehicleListWindow::OnClick(), GameOptionsWindow::OnClick(), OrdersWindow::OnClick(), VehicleGroupWindow::OnClick(), CreateScenarioWindow::OnClick(), ReplaceVehicleWindow::OnClick(), BuildAirportWindow::OnClick(), PopupMainCompanyToolbMenu(), PopupMainToolbMenu(), ShowDropDownMenu(), and ToolbarOptionsClick().
| void ShowDropDownMenu | ( | Window * | w, | |
| const StringID * | strings, | |||
| int | selected, | |||
| int | button, | |||
| uint32 | disabled_mask, | |||
| uint32 | hidden_mask, | |||
| uint | width | |||
| ) |
Show a dropdown menu window near a widget of the parent window.
The result code of the items is their index in the strings list.
| w | Parent window that wants the dropdown menu. | |
| strings | Menu list, end with INVALID_STRING_ID | |
| selected | Index of initial selected item. | |
| button | Button widget number of the parent window w that wants the dropdown menu. | |
| disabled_mask | Bitmask for diabled items (items with their bit set are not copied to the dropdown list). | |
| hidden_mask | Bitmask for hidden items (items with their bit set are displayed, but not selectable in the dropdown list). | |
| width | Width of the dropdown menu. If 0, use the width of parent widget button. |
Definition at line 434 of file dropdown.cpp.
References DeleteDropDownList(), HasBit(), INVALID_STRING_ID, and ShowDropDownList().
Referenced by VehicleListWindow::OnClick(), CompanyStationsWindow::OnClick(), OrdersWindow::OnClick(), MessageOptionsWindow::OnClick(), IndustryDirectoryWindow::OnClick(), VehicleGroupWindow::OnClick(), BuildVehicleWindow::OnClick(), and BuildBridgeWindow::OnClick().
const NWidgetPart _nested_dropdown_menu_widgets[] [static] |
{
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_END, WID_DM_ITEMS), SetMinimalSize(1, 1), SetScrollbar(WID_DM_SCROLL), EndContainer(),
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_DM_SHOW_SCROLL),
NWidget(NWID_VSCROLLBAR, COLOUR_END, WID_DM_SCROLL),
EndContainer(),
EndContainer(),
}
Definition at line 84 of file dropdown.cpp.
1.7.1