| OpenTTD
    | 
Definitions about widgets. More...
#include "core/alloc_type.hpp"#include "core/bitmath_func.hpp"#include "core/math_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 | NWidgetMatrix | 
| Matrix container with implicitly equal sized (virtual) sub-widgets.  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 | Scrollbar | 
| Scrollbar data structure.  More... | |
| class | NWidgetScrollbar | 
| Nested widget to display and control a scrollbar 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. | |
| Functions | |
| static uint | ComputeMaxSize (uint base, uint max_space, uint step) | 
| Return the biggest possible size of a nested widget. | |
| 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 (uint32 data, StringID tip) | 
| Widget part function for setting the data and tooltip. | |
| static NWidgetPart | SetMatrixDataTip (uint8 cols, uint8 rows, StringID tip) | 
| Widget part function for setting the data and tooltip of WWT_MATRIX widgets. | |
| 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 | SetScrollbar (int index) | 
| Attach a scrollbar to a widget. | |
| 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. | |
| NWidgetBase * | MakeCompanyButtonRows (int *biggest_index, int widget_first, int widget_last, int max_length, StringID button_tooltip) | 
| Make a number of rows with button-like graphics, for enabling/disabling each company. | |
| Variables | |
| static const int | WIDGET_LIST_END = -1 | 
| indicate the end of widgets' list for vararg functions | |
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 904 of file widget_type.h.
| enum ArrowWidgetValues | 
Values for an arrow widget.
Definition at line 36 of file widget_type.h.
| enum MatrixWidgetValues | 
Bits of the WWT_MATRIX widget data.
Definition at line 25 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 425 of file widget_type.h.
| enum NWidgetDisplay | 
Nested widget flags that affect display and interaction withe 'real' widgets.
Definition at line 251 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 111 of file widget_type.h.
Display planes with zero size for NWidgetStacked.
Definition at line 387 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 | (Toggle) Button with image | 
| WWT_IMGBTN_2 | (Toggle) Button with diff image when clicked | 
| WWT_ARROWBTN | (Toggle) Button with an arrow | 
| WWT_TEXTBTN | (Toggle) Button with text | 
| WWT_TEXTBTN_2 | (Toggle) Button with diff text when clicked | 
| WWT_LABEL | Centered label. | 
| WWT_TEXT | Pure simple text. | 
| WWT_MATRIX | Grid of rows and columns. 
 | 
| WWT_FRAME | Frame. | 
| WWT_CAPTION | Window caption (window title between closebox and stickybox) | 
| WWT_DEBUGBOX | NewGRF debug box (at top-right of a window, between WWT_CAPTION and WWT_SHADEBOX) | 
| WWT_SHADEBOX | Shade box (at top-right of a window, between WWT_DEBUGBOX and WWT_DEFSIZEBOX) | 
| WWT_DEFSIZEBOX | Default window size box (at top-right of a window, between WWT_SHADEBOX and WWT_STICKYBOX) | 
| WWT_STICKYBOX | Sticky box (at top-right of a window, after WWT_DEFSIZEBOX) | 
| 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_MATRIX | Matrix 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_HSCROLLBAR | Horizontal scrollbar. | 
| NWID_VSCROLLBAR | Vertical scrollbar. | 
| 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. | 
| WPT_SCROLLBAR | Widget part for attaching a scrollbar. | 
| WWT_PUSHBTN | Normal push-button (no toggle button) with custom drawing. | 
| WWT_PUSHTXTBTN | Normal push-button (no toggle button) with text caption. | 
| WWT_PUSHIMGBTN | Normal push-button (no toggle button) with image caption. | 
| WWT_PUSHARROWBTN | Normal push-button (no toggle button) with arrow caption. | 
Definition at line 46 of file widget_type.h.
| 
 | inlinestatic | 
Return the biggest possible size of a nested widget.
| base | Base size of the widget. | 
| max_space | Available space for the widget. | 
| step | Stepsize of the widget. | 
Definition at line 798 of file widget_type.h.
Referenced by NWidgetStacked::AssignSizePosition(), NWidgetHorizontal::AssignSizePosition(), NWidgetVertical::AssignSizePosition(), NWidgetNewGRFDisplay::AssignSizePosition(), and NWidgetNewGRFDisplay::SetupSmallestSize().
| NWidgetBase* MakeCompanyButtonRows | ( | int * | biggest_index, | 
| int | widget_first, | ||
| int | widget_last, | ||
| int | max_length, | ||
| StringID | button_tooltip | ||
| ) | 
Make a number of rows with button-like graphics, for enabling/disabling each company.
| biggest_index | Storage for collecting the biggest index used in the returned tree. | 
| widget_first | The first widget index to use. | 
| widget_last | The last widget index to use. | 
| max_length | Maximal number of company buttons in one row. | 
| button_tooltip | The tooltip-string of every button. | 
*biggest_index contains the largest used index in the tree. Definition at line 2863 of file widget.cpp.
References NWidgetContainer::Add(), GetSpriteSize(), NWidgetCore::SetDataTip(), NWidgetResizeBase::SetFill(), NWidgetResizeBase::SetMinimalSize(), NWidgetResizeBase::SetResize(), WD_MATRIX_BOTTOM, WD_MATRIX_LEFT, WD_MATRIX_RIGHT, WD_MATRIX_TOP, and WWT_PANEL.
Referenced by MakeCompanyButtonRowsAIDebug(), MakeCompanyButtonRowsGraphGUI(), and MakeCompanyButtonRowsLinkGraphGUI().
 1.8.1.2
 1.8.1.2