Definitions about widgets. More...
#include "core/alloc_type.hpp"#include "core/bitmath_func.hpp"#include "strings_type.h"#include "gfx_type.h"#include "window_type.h"Go to the source code of this file.
Data Structures | |
| class | NWidgetBase |
| Baseclass for nested widgets. More... | |
| class | NWidgetResizeBase |
| Base class for a resizable nested widget. More... | |
| class | NWidgetCore |
| Base class for a 'real' widget. More... | |
| class | NWidgetContainer |
| Baseclass for container widgets. More... | |
| class | NWidgetStacked |
| Stacked widgets, widgets all occupying the same space in the window. More... | |
| class | NWidgetPIPContainer |
| Container with pre/inter/post child space. More... | |
| class | NWidgetHorizontal |
| Horizontal container. More... | |
| class | NWidgetHorizontalLTR |
| Horizontal container that doesn't change the direction of the widgets for RTL languages. More... | |
| class | NWidgetVertical |
| Vertical container. More... | |
| class | NWidgetSpacer |
| Spacer widget. More... | |
| class | NWidgetBackground |
| Nested widget with a child. More... | |
| class | NWidgetViewport |
| Nested widget to display a viewport in a window. More... | |
| class | NWidgetLeaf |
| Leaf widget. More... | |
| struct | NWidgetPartDataTip |
| Widget part for storing data and tooltip information. More... | |
| struct | NWidgetPartWidget |
| Widget part for storing basic widget information. More... | |
| struct | NWidgetPartPaddings |
| Widget part for storing padding. More... | |
| struct | NWidgetPartPIP |
| Widget part for storing pre/inter/post spaces. More... | |
| struct | NWidgetPartTextLines |
| Widget part for storing minimal text line data. More... | |
| struct | NWidgetPart |
| Partial widget specification to allow NWidgets to be written nested. More... | |
Typedefs | |
| typedef NWidgetBase * | NWidgetFunctionType (int *biggest_index) |
| Pointer to function returning a nested widget. | |
Enumerations | |
| enum | { WIDGET_LIST_END = -1 } |
| enum | MatrixWidgetValues { MAT_COL_START = 0, MAT_COL_BITS = 8, MAT_ROW_START = 8, MAT_ROW_BITS = 8 } |
Bits of the WWT_MATRIX widget data. More... | |
| enum | ArrowWidgetValues { AWV_DECREASE, AWV_INCREASE, AWV_LEFT, AWV_RIGHT } |
Values for an arrow widget. More... | |
| enum | WidgetType { WWT_EMPTY, WWT_PANEL, WWT_INSET, WWT_IMGBTN, WWT_IMGBTN_2, WWT_TEXTBTN, WWT_TEXTBTN_2, WWT_LABEL, WWT_TEXT, WWT_MATRIX, WWT_SCROLLBAR, WWT_FRAME, WWT_CAPTION, WWT_HSCROLLBAR, WWT_SHADEBOX, WWT_STICKYBOX, WWT_SCROLL2BAR, WWT_RESIZEBOX, WWT_CLOSEBOX, WWT_DROPDOWN, WWT_EDITBOX, WWT_LAST, NWID_HORIZONTAL, NWID_HORIZONTAL_LTR, NWID_VERTICAL, NWID_SPACER, NWID_SELECTION, NWID_VIEWPORT, NWID_BUTTON_DROPDOWN, NWID_BUTTON_ARROW, WPT_RESIZE, WPT_MINSIZE, WPT_MINTEXTLINES, WPT_FILL, WPT_DATATIP, WPT_PADDING, WPT_PIPSPACE, WPT_ENDCONTAINER, WPT_FUNCTION, WWT_MASK = 0x7F, WWB_PUSHBUTTON = 1 << 7, WWT_PUSHBTN = WWT_PANEL | WWB_PUSHBUTTON, WWT_PUSHTXTBTN = WWT_TEXTBTN | WWB_PUSHBUTTON, WWT_PUSHIMGBTN = WWT_IMGBTN | WWB_PUSHBUTTON } |
Window widget types, nested widget types, and nested widget part types. More... | |
| enum | SizingType { ST_SMALLEST, ST_RESIZE } |
Different forms of sizing nested widgets, using NWidgetBase::AssignSizePosition(). More... | |
| enum | NWidgetDisplay { NDB_LOWERED = 0, NDB_DISABLED = 1, NDB_NO_TRANSPARENCY = 2, NDB_SHADE_GREY = 3, NDB_SHADE_DIMMED = 4, NDB_DROPDOWN_ACTIVE = 5, ND_LOWERED = 1 << NDB_LOWERED, ND_DISABLED = 1 << NDB_DISABLED, ND_NO_TRANSPARENCY = 1 << NDB_NO_TRANSPARENCY, ND_SHADE_GREY = 1 << NDB_SHADE_GREY, ND_SHADE_DIMMED = 1 << NDB_SHADE_DIMMED, ND_DROPDOWN_ACTIVE = 1 << NDB_DROPDOWN_ACTIVE } |
Nested widget flags that affect display and interaction withe 'real' widgets. More... | |
| enum | StackedZeroSizePlanes { SZSP_VERTICAL = INT_MAX / 2, SZSP_HORIZONTAL, SZSP_NONE, SZSP_BEGIN = SZSP_VERTICAL } |
Display planes with zero size for NWidgetStacked. More... | |
| enum | NWidContainerFlags { NCB_EQUALSIZE = 0, NC_NONE = 0, NC_EQUALSIZE = 1 << NCB_EQUALSIZE } |
Nested widget container flags,. More... | |
Functions | |
| DECLARE_ENUM_AS_BIT_SET (NWidgetDisplay) | |
| DECLARE_ENUM_AS_BIT_SET (NWidContainerFlags) | |
| static NWidgetPart | SetResize (int16 dx, int16 dy) |
| Widget part function for setting the resize step. | |
| static NWidgetPart | SetMinimalSize (int16 x, int16 y) |
| Widget part function for setting the minimal size. | |
| static NWidgetPart | SetMinimalTextLines (uint8 lines, uint8 spacing, FontSize size=FS_NORMAL) |
| Widget part function for setting the minimal text lines. | |
| static NWidgetPart | SetFill (uint fill_x, uint fill_y) |
| Widget part function for setting filling. | |
| static NWidgetPart | EndContainer () |
| Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME, WWT_INSET, or WWT_PANEL). | |
| static NWidgetPart | SetDataTip (uint16 data, StringID tip) |
| Widget part function for setting the data and tooltip. | |
| static NWidgetPart | SetPadding (uint8 top, uint8 right, uint8 bottom, uint8 left) |
| Widget part function for setting additional space around a widget. | |
| static NWidgetPart | SetPadding (uint8 padding) |
| Widget part function for setting a padding. | |
| static NWidgetPart | SetPIP (uint8 pre, uint8 inter, uint8 post) |
| Widget part function for setting a pre/inter/post spaces. | |
| static NWidgetPart | NWidget (WidgetType tp, Colours col, int16 idx=-1) |
| Widget part function for starting a new 'real' widget. | |
| static NWidgetPart | NWidget (WidgetType tp, NWidContainerFlags cont_flags=NC_NONE) |
| Widget part function for starting a new horizontal container, vertical container, or spacer widget. | |
| static NWidgetPart | NWidgetFunction (NWidgetFunctionType *func_ptr) |
| Obtain a nested widget (sub)tree from an external source. | |
| NWidgetContainer * | MakeNWidgets (const NWidgetPart *parts, int count, int *biggest_index, NWidgetContainer *container) |
| Construct a nested widget tree from an array of parts. | |
| NWidgetContainer * | MakeWindowNWidgetTree (const NWidgetPart *parts, int count, int *biggest_index, NWidgetStacked **shade_select) |
| Make a nested widget tree for a window from a parts array. | |
Definitions about widgets.
Definition in file widget_type.h.
| typedef NWidgetBase* NWidgetFunctionType(int *biggest_index) |
Pointer to function returning a nested widget.
| biggest_index | Pointer to storage for collecting the biggest index used in the nested widget. |
*biggest_index must contain the value of the biggest index in the returned tree. Definition at line 574 of file widget_type.h.
| anonymous enum |
Definition at line 21 of file widget_type.h.
| enum ArrowWidgetValues |
Values for an arrow widget.
Definition at line 37 of file widget_type.h.
| enum MatrixWidgetValues |
Bits of the WWT_MATRIX widget data.
Definition at line 26 of file widget_type.h.
| enum NWidContainerFlags |
Nested widget container flags,.
| NCB_EQUALSIZE |
Containers should keep all their (resizing) children equally large. |
| NC_NONE |
All flags cleared. |
| NC_EQUALSIZE |
Value of the NCB_EQUALSIZE flag. |
Definition at line 355 of file widget_type.h.
| enum NWidgetDisplay |
Nested widget flags that affect display and interaction withe 'real' widgets.
Definition at line 220 of file widget_type.h.
| enum SizingType |
Different forms of sizing nested widgets, using NWidgetBase::AssignSizePosition().
| ST_SMALLEST |
Initialize nested widget tree to smallest size. Also updates current_x and current_y. |
| ST_RESIZE |
Resize the nested widget tree. |
Definition at line 107 of file widget_type.h.
Display planes with zero size for NWidgetStacked.
Definition at line 318 of file widget_type.h.
| enum WidgetType |
Window widget types, nested widget types, and nested widget part types.
| WWT_EMPTY |
Empty widget, place holder to reserve space in widget array. |
| WWT_PANEL |
Simple depressed panel. |
| WWT_INSET |
Pressed (inset) panel, most commonly used as combo box _text_ area. |
| WWT_IMGBTN |
Button with image. |
| WWT_IMGBTN_2 |
Button with diff image when clicked. |
| WWT_TEXTBTN |
Button with text. |
| WWT_TEXTBTN_2 |
Button with diff text when clicked. |
| WWT_LABEL |
Centered label. |
| WWT_TEXT |
Pure simple text. |
| WWT_MATRIX |
Grid of rows and columns.
|
| WWT_SCROLLBAR |
Vertical scrollbar. |
| WWT_FRAME |
Frame. |
| WWT_CAPTION |
Window caption (window title between closebox and stickybox). |
| WWT_HSCROLLBAR |
Horizontal scrollbar. |
| WWT_SHADEBOX |
Shade box (at top-right of a window, between caption and stickybox). |
| WWT_STICKYBOX |
Sticky box (normally at top-right of a window). |
| WWT_SCROLL2BAR |
2nd vertical scrollbar |
| WWT_RESIZEBOX |
Resize box (normally at bottom-right of a window). |
| WWT_CLOSEBOX |
Close box (at top-left of a window). |
| WWT_DROPDOWN |
Drop down list. |
| WWT_EDITBOX |
a textbox for typing |
| WWT_LAST |
Last Item. use WIDGETS_END to fill up padding!! |
| NWID_HORIZONTAL |
Horizontal container. |
| NWID_HORIZONTAL_LTR |
Horizontal container that doesn't change the order of the widgets for RTL languages. |
| NWID_VERTICAL |
Vertical container. |
| NWID_SPACER |
Invisible widget that takes some space. |
| NWID_SELECTION |
Stacked widgets, only one visible at a time (eg in a panel with tabs). |
| NWID_VIEWPORT |
Nested widget containing a viewport. |
| NWID_BUTTON_DROPDOWN |
Button with a drop-down. |
| NWID_BUTTON_ARROW |
Button with an arrow. |
| WPT_RESIZE |
Widget part for specifying resizing. |
| WPT_MINSIZE |
Widget part for specifying minimal size. |
| WPT_MINTEXTLINES |
Widget part for specifying minimal number of lines of text. |
| WPT_FILL |
Widget part for specifying fill. |
| WPT_DATATIP |
Widget part for specifying data and tooltip. |
| WPT_PADDING |
Widget part for specifying a padding. |
| WPT_PIPSPACE |
Widget part for specifying pre/inter/post space for containers. |
| WPT_ENDCONTAINER |
Widget part to denote end of a container. |
| WPT_FUNCTION |
Widget part for calling a user function. |
Definition at line 47 of file widget_type.h.
1.6.1