Data Structures | Typedefs | Functions

dropdown_type.h File Reference

Types related to the drop down widget. More...

#include "../window_type.h"
#include "../gfx_func.h"
#include "../core/smallvec_type.hpp"
#include "table/strings.h"

Go to the source code of this file.

Data Structures

class  DropDownListItem
 Base list item class from which others are derived. More...
class  DropDownListStringItem
 Common string list item. More...
class  DropDownListParamStringItem
 String list item with parameters. More...
class  DropDownListCharStringItem
 List item containing a C char string. More...

Typedefs

typedef AutoDeleteSmallVector
< const DropDownListItem *, 4 > 
DropDownList
 A drop down list is a collection of drop down list items.

Functions

void ShowDropDownListAt (Window *w, const DropDownList *list, int selected, int button, Rect wi_rect, Colours wi_colour, bool auto_width=false, bool instant_close=false)
 Show a drop down list.
void ShowDropDownList (Window *w, const DropDownList *list, int selected, int button, uint width=0, bool auto_width=false, bool instant_close=false)
 Show a drop down list.

Detailed Description

Types related to the drop down widget.

Definition in file dropdown_type.h.


Function Documentation

void ShowDropDownList ( Window w,
const DropDownList list,
int  selected,
int  button,
uint  width,
bool  auto_width,
bool  instant_close 
)

Show a drop down list.

Parameters:
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 408 of file dropdown.cpp.

References _current_text_dir, NWidgetCore::colour, NWidgetBase::current_x, NWidgetBase::current_y, NWidgetCore::disp_flags, Window::GetWidget(), Window::LowerWidget(), NWidgetBase::pos_x, NWidgetBase::pos_y, Window::SetWidgetDirty(), ShowDropDownListAt(), TD_RTL, and NWidgetBase::type.

Referenced by VehicleListWindow::OnClick(), StoryBookWindow::OnClick(), GameSettingsWindow::OnClick(), GameOptionsWindow::OnClick(), OrdersWindow::OnClick(), IndustryCargoesWindow::OnClick(), VehicleGroupWindow::OnClick(), CreateScenarioWindow::OnClick(), GenerateLandscapeWindow::OnClick(), ReplaceVehicleWindow::OnClick(), BuildAirportWindow::OnClick(), PopupMainToolbMenu(), ShowDropDownMenu(), and ToolbarOptionsClick().

void ShowDropDownListAt ( Window w,
const DropDownList list,
int  selected,
int  button,
Rect  wi_rect,
Colours  wi_colour,
bool  auto_width,
bool  instant_close 
)

Show a drop down list.

Parameters:
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 which is passed to Window::OnDropdownSelect and OnDropdownClose. Unless you override those functions, this should be then widget index of the dropdown button.
wi_rect Coord of the parent drop down button, used to position the dropdown menu.
auto_width The width is determined by the widest item in the list, in this case only one of left or right is used (depending on text direction).
instant_close Set to true if releasing mouse button should close the list regardless of where the cursor is.

Definition at line 335 of file dropdown.cpp.

References _current_text_dir, SmallVector< T, S >::Begin(), DeleteWindowById(), SmallVector< T, S >::End(), GetMainViewBottom(), GetMainViewTop(), Window::left, SmallVector< T, S >::Length(), max(), TD_RTL, Window::top, and WC_DROPDOWN_MENU.

Referenced by GameSettingsWindow::OnClick(), NewGRFParametersWindow::OnClick(), AISettingsWindow::OnClick(), and ShowDropDownList().