OpenTTD Source  14.0-beta3
news_gui.cpp File Reference
#include "stdafx.h"
#include "gui.h"
#include "viewport_func.h"
#include "strings_func.h"
#include "window_func.h"
#include "vehicle_base.h"
#include "vehicle_func.h"
#include "vehicle_gui.h"
#include "roadveh.h"
#include "station_base.h"
#include "industry.h"
#include "town.h"
#include "sound_func.h"
#include "string_func.h"
#include "widgets/dropdown_func.h"
#include "statusbar_gui.h"
#include "company_manager_face.h"
#include "company_func.h"
#include "engine_base.h"
#include "engine_gui.h"
#include "core/geometry_func.hpp"
#include "command_func.h"
#include "company_base.h"
#include "settings_internal.h"
#include "group_gui.h"
#include "zoom_func.h"
#include "news_cmd.h"
#include "timer/timer.h"
#include "timer/timer_window.h"
#include "timer/timer_game_calendar.h"
#include "widgets/news_widget.h"
#include "table/strings.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  NewsWindow
 Window class displaying a news item. More...
 
struct  MessageHistoryWindow
 

Functions

static TileIndex GetReferenceTile (NewsReferenceType reftype, uint32_t ref)
 Get the position a news-reference is referencing. More...
 
WindowDescGetNewsWindowLayout (NewsFlag flags)
 
static void ShowNewspaper (const NewsItem *ni)
 Open up an own newspaper window for the news item.
 
static void ShowTicker (const NewsItem *ni)
 Show news item in the ticker.
 
void InitNewsItemStructs ()
 Initialize the news-items data structures.
 
static bool ReadyForNextTickerItem ()
 Are we ready to show another ticker item? Only if nothing is in the newsticker is displayed.
 
static bool ReadyForNextNewsItem ()
 Are we ready to show another news item? Only if no newspaper is displayed.
 
static void MoveToNextTickerItem ()
 Move to the next ticker item.
 
static void MoveToNextNewsItem ()
 Move to the next news item.
 
static void DeleteNewsItem (NewsItem *ni)
 Delete a news item from the queue.
 
void AddNewsItem (StringID string, NewsType type, NewsFlag flags, NewsReferenceType reftype1, uint32_t ref1, NewsReferenceType reftype2, uint32_t ref2, const NewsAllocatedData *data)
 Add a new newsitem to be shown. More...
 
CommandCost CmdCustomNewsItem (DoCommandFlag flags, NewsType type, NewsReferenceType reftype1, CompanyID company, uint32_t reference, const std::string &text)
 Create a new custom news item. More...
 
void DeleteVehicleNews (VehicleID vid, StringID news)
 Delete a news item type about a vehicle. More...
 
void DeleteStationNews (StationID sid)
 Remove news regarding given station so there are no 'unknown station now accepts Mail' or 'First train arrived at unknown station' news items. More...
 
void DeleteIndustryNews (IndustryID iid)
 Remove news regarding given industry. More...
 
void DeleteInvalidEngineNews ()
 Remove engine announcements for invalid engines.
 
static void RemoveOldNewsItems ()
 
void ChangeVehicleNews (VehicleID from_index, VehicleID to_index)
 Report a change in vehicle IDs (due to autoreplace) to affected vehicle news. More...
 
void NewsLoop ()
 
static void ShowNewsMessage (const NewsItem *ni)
 Do a forced show of a specific message.
 
bool HideActiveNewsMessage ()
 Close active news message window. More...
 
void ShowLastNewsMessage ()
 Show previous news item.
 
static void DrawNewsString (uint left, uint right, int y, TextColour colour, const NewsItem *ni)
 Draw an unformatted news message truncated to a maximum length. More...
 
void ShowMessageHistory ()
 Display window with news messages history.
 

Variables

const NewsItem_statusbar_news_item = nullptr
 
static uint MIN_NEWS_AMOUNT = 30
 preferred minimum amount of news messages
 
static uint MAX_NEWS_AMOUNT = 1 << 10
 Do not exceed this number of news messages.
 
static uint _total_news = 0
 current number of news items
 
static NewsItem_oldest_news = nullptr
 head of news items queue
 
NewsItem_latest_news = nullptr
 tail of news items queue
 
static const NewsItem_forced_news = nullptr
 Forced news item. More...
 
static const NewsItem_current_news = nullptr
 Current news item (last item shown regularly).
 
static constexpr NWidgetPart _nested_normal_news_widgets []
 
static WindowDesc _normal_news_desc (__FILE__, __LINE__, WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, std::begin(_nested_normal_news_widgets), std::end(_nested_normal_news_widgets))
 
static constexpr NWidgetPart _nested_vehicle_news_widgets []
 
static WindowDesc _vehicle_news_desc (__FILE__, __LINE__, WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, std::begin(_nested_vehicle_news_widgets), std::end(_nested_vehicle_news_widgets))
 
static constexpr NWidgetPart _nested_company_news_widgets []
 
static WindowDesc _company_news_desc (__FILE__, __LINE__, WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, std::begin(_nested_company_news_widgets), std::end(_nested_company_news_widgets))
 
static constexpr NWidgetPart _nested_thin_news_widgets []
 
static WindowDesc _thin_news_desc (__FILE__, __LINE__, WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, std::begin(_nested_thin_news_widgets), std::end(_nested_thin_news_widgets))
 
static constexpr NWidgetPart _nested_small_news_widgets []
 
static WindowDesc _small_news_desc (__FILE__, __LINE__, WDP_MANUAL, nullptr, 0, 0, WC_NEWS_WINDOW, WC_NONE, 0, std::begin(_nested_small_news_widgets), std::end(_nested_small_news_widgets))
 
static WindowDesc_news_window_layout []
 Window layouts for news items. More...
 
static NewsTypeData _news_type_data []
 Per-NewsType data. More...
 
static constexpr NWidgetPart _nested_message_history []
 
static WindowDesc _message_history_desc (__FILE__, __LINE__, WDP_AUTO, "list_news", 400, 140, WC_MESSAGE_HISTORY, WC_NONE, 0, std::begin(_nested_message_history), std::end(_nested_message_history))
 

Detailed Description

GUI functions related to news messages.

Definition in file news_gui.cpp.

Function Documentation

◆ AddNewsItem()

void AddNewsItem ( StringID  string,
NewsType  type,
NewsFlag  flags,
NewsReferenceType  reftype1,
uint32_t  ref1,
NewsReferenceType  reftype2,
uint32_t  ref2,
const NewsAllocatedData data 
)

Add a new newsitem to be shown.

Parameters
stringString to display
typenews category
flagsdisplay flags for the news
reftype1Type of ref1
ref1Reference 1 to some object: Used for a possible viewport, scrolling after clicking on the news, and for deleting the news when the object is deleted.
reftype2Type of ref2
ref2Reference 2 to some object: Used for scrolling after clicking on the news, and for deleting the news when the object is deleted.
dataPointer to data that must be released once the news message is cleared.
See also
NewsSubtype

Definition at line 827 of file news_gui.cpp.

Referenced by AddVehicleAdviceNewsItem(), Subsidy::AwardTo(), CmdCustomNewsItem(), CreateSubsidy(), NewVehicleAvailable(), ShowRejectOrAcceptNews(), and TownActionRoadRebuild().

◆ ChangeVehicleNews()

void ChangeVehicleNews ( VehicleID  from_index,
VehicleID  to_index 
)

Report a change in vehicle IDs (due to autoreplace) to affected vehicle news.

Note
Viewports of currently displayed news is changed via ChangeVehicleViewports
Parameters
from_indexthe old vehicle ID
to_indexthe new vehicle ID

Definition at line 1000 of file news_gui.cpp.

References _oldest_news, NewsItem::flags, NewsItem::next, NF_VEHICLE_PARAM0, NR_VEHICLE, NewsItem::params, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, and NewsItem::reftype2.

◆ CmdCustomNewsItem()

◆ DeleteIndustryNews()

void DeleteIndustryNews ( IndustryID  iid)

Remove news regarding given industry.

Parameters
iidindustry to remove news about

Definition at line 955 of file news_gui.cpp.

References _oldest_news, DeleteNewsItem(), NewsItem::next, NR_INDUSTRY, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, and NewsItem::reftype2.

◆ DeleteStationNews()

void DeleteStationNews ( StationID  sid)

Remove news regarding given station so there are no 'unknown station now accepts Mail' or 'First train arrived at unknown station' news items.

Parameters
sidstation to remove news about

Definition at line 938 of file news_gui.cpp.

References _oldest_news, DeleteNewsItem(), NewsItem::next, NR_STATION, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, and NewsItem::reftype2.

◆ DeleteVehicleNews()

void DeleteVehicleNews ( VehicleID  vid,
StringID  news 
)

Delete a news item type about a vehicle.

When the news item type is INVALID_STRING_ID all news about the vehicle gets deleted.

Parameters
vidThe vehicle to remove the news for.
newsThe news type to remove.

Definition at line 919 of file news_gui.cpp.

References _oldest_news, DeleteNewsItem(), INVALID_STRING_ID, NewsItem::next, NR_VEHICLE, NewsItem::ref1, NewsItem::ref2, NewsItem::reftype1, NewsItem::reftype2, and NewsItem::string_id.

Referenced by AircraftHandleDestTooFar(), DeleteOrderWarnings(), and Vehicle::HandlePathfindingResult().

◆ DrawNewsString()

static void DrawNewsString ( uint  left,
uint  right,
int  y,
TextColour  colour,
const NewsItem ni 
)
static

Draw an unformatted news message truncated to a maximum length.

If length exceeds maximum length it will be postfixed by '...'

Parameters
leftthe left most location for the string
rightthe right most location for the string
yposition of the string
colourthe colour the string will be shown in
*niNewsItem being printed

Definition at line 1105 of file news_gui.cpp.

◆ GetReferenceTile()

static TileIndex GetReferenceTile ( NewsReferenceType  reftype,
uint32_t  ref 
)
static

Get the position a news-reference is referencing.

Parameters
reftypeThe type of reference.
refThe reference.
Returns
A tile for the referenced object, or INVALID_TILE if none.

Definition at line 73 of file news_gui.cpp.

References SpecializedStation< Station, false >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::Get(), INVALID_TILE, NR_INDUSTRY, NR_STATION, NR_TILE, NR_TOWN, TileDiffXY(), and BaseStation::xy.

Referenced by NewsWindow::OnResize().

◆ HideActiveNewsMessage()

bool HideActiveNewsMessage ( )

Close active news message window.

Returns
true if a window was closed.

Definition at line 1046 of file news_gui.cpp.

References Window::Close(), FindWindowById(), and WC_NEWS_WINDOW.

Variable Documentation

◆ _forced_news

const NewsItem* _forced_news = nullptr
static

Forced news item.

Users can force an item by accessing the history or "last message". If the message being shown was forced by the user, a pointer is stored in _forced_news. Otherwise, _forced_news variable is nullptr.

Definition at line 61 of file news_gui.cpp.

Referenced by DeleteNewsItem(), InitNewsItemStructs(), MoveToNextNewsItem(), ReadyForNextNewsItem(), ShowLastNewsMessage(), and ShowNewsMessage().

◆ _nested_company_news_widgets

constexpr NWidgetPart _nested_company_news_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL),
NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1),
NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_TITLE), SetFill(1, 1), SetMinimalSize(410, 20), SetDataTip(STR_EMPTY, STR_NULL),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MGR_FACE), SetMinimalSize(93, 119), SetPadding(2, 6, 2, 1),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MGR_NAME), SetMinimalSize(93, 24), SetPadding(0, 0, 0, 1),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_COMPANY_MSG), SetFill(1, 1), SetMinimalSize(328, 150),
}

Definition at line 134 of file news_gui.cpp.

◆ _nested_message_history

constexpr NWidgetPart _nested_message_history[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_MESSAGE_HISTORY, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
NWidget(WWT_PANEL, COLOUR_BROWN, WID_MH_BACKGROUND), SetMinimalSize(200, 125), SetDataTip(0x0, STR_MESSAGE_HISTORY_TOOLTIP), SetResize(1, 12), SetScrollbar(WID_MH_SCROLLBAR),
NWidget(WWT_RESIZEBOX, COLOUR_BROWN),
}

Definition at line 1212 of file news_gui.cpp.

◆ _nested_normal_news_widgets

constexpr NWidgetPart _nested_normal_news_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL),
NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1),
NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_DATE), SetDataTip(STR_JUST_DATE_LONG, STR_NULL), SetTextStyle(TC_BLACK, FS_SMALL),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(428, 154), SetPadding(0, 5, 1, 5),
}

Definition at line 85 of file news_gui.cpp.

◆ _nested_small_news_widgets

constexpr NWidgetPart _nested_small_news_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_LIGHT_BLUE, WID_N_CLOSEBOX),
NWidget(WWT_EMPTY, COLOUR_LIGHT_BLUE, WID_N_CAPTION), SetFill(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_LIGHT_BLUE, WID_N_SHOW_GROUP), SetMinimalSize(14, 11), SetResize(1, 0),
SetDataTip(STR_NULL , STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP),
NWidget(WWT_PANEL, COLOUR_LIGHT_BLUE, WID_N_HEADLINE),
NWidget(WWT_INSET, COLOUR_LIGHT_BLUE, WID_N_INSET), SetPadding(2, 2, 2, 2),
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetMinimalSize(274, 47), SetFill(1, 0),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5),
}

Definition at line 185 of file news_gui.cpp.

◆ _nested_thin_news_widgets

constexpr NWidgetPart _nested_thin_news_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL),
NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1),
NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_DATE), SetDataTip(STR_JUST_DATE_LONG, STR_NULL), SetTextStyle(TC_BLACK, FS_SMALL),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(428, 48), SetFill(1, 0), SetPadding(0, 5, 0, 5),
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetMinimalSize(426, 70), SetPadding(1, 2, 2, 2),
}

Definition at line 162 of file news_gui.cpp.

◆ _nested_vehicle_news_widgets

constexpr NWidgetPart _nested_vehicle_news_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_PANEL),
NWidget(WWT_CLOSEBOX, COLOUR_WHITE, WID_N_CLOSEBOX), SetPadding(0, 0, 0, 1),
NWidget(WWT_LABEL, COLOUR_WHITE, WID_N_VEH_TITLE), SetFill(1, 1), SetMinimalSize(419, 55), SetDataTip(STR_EMPTY, STR_NULL),
NWidget(WWT_PANEL, COLOUR_WHITE, WID_N_VEH_BKGND), SetPadding(0, 25, 1, 25),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_N_VEH_NAME), SetMinimalSize(369, 33), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_N_VEH_SPR), SetMinimalSize(369, 32), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_N_VEH_INFO), SetMinimalSize(369, 46), SetFill(1, 0),
}

Definition at line 107 of file news_gui.cpp.

◆ _news_type_data

NewsTypeData _news_type_data[]
static
Initial value:
= {
NewsTypeData("news_display.arrival_player", 60, SND_1D_APPLAUSE ),
NewsTypeData("news_display.arrival_other", 60, SND_1D_APPLAUSE ),
NewsTypeData("news_display.accident", 90, SND_BEGIN ),
NewsTypeData("news_display.accident_other", 90, SND_BEGIN ),
NewsTypeData("news_display.company_info", 60, SND_BEGIN ),
NewsTypeData("news_display.open", 90, SND_BEGIN ),
NewsTypeData("news_display.close", 90, SND_BEGIN ),
NewsTypeData("news_display.economy", 30, SND_BEGIN ),
NewsTypeData("news_display.production_player", 30, SND_BEGIN ),
NewsTypeData("news_display.production_other", 30, SND_BEGIN ),
NewsTypeData("news_display.production_nobody", 30, SND_BEGIN ),
NewsTypeData("news_display.advice", 150, SND_BEGIN ),
NewsTypeData("news_display.new_vehicles", 30, SND_1E_NEW_ENGINE),
NewsTypeData("news_display.acceptance", 90, SND_BEGIN ),
NewsTypeData("news_display.subsidies", 180, SND_BEGIN ),
NewsTypeData("news_display.general", 60, SND_BEGIN ),
}

Per-NewsType data.

Definition at line 231 of file news_gui.cpp.

Referenced by MoveToNextNewsItem(), ShowLastNewsMessage(), and ShowNewspaper().

◆ _news_window_layout

WindowDesc* _news_window_layout[]
static
Initial value:
= {
&_thin_news_desc,
&_small_news_desc,
&_normal_news_desc,
&_vehicle_news_desc,
&_company_news_desc,
}

Window layouts for news items.

Definition at line 213 of file news_gui.cpp.

SetFill
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition: widget_type.h:1141
WID_N_VEH_TITLE
@ WID_N_VEH_TITLE
Vehicle new title.
Definition: news_widget.h:29
WWT_STICKYBOX
@ WWT_STICKYBOX
Sticky box (at top-right of a window, after WWT_DEFSIZEBOX)
Definition: widget_type.h:68
WID_N_VEH_NAME
@ WID_N_VEH_NAME
Name of the new vehicle.
Definition: news_widget.h:31
WID_N_SHOW_GROUP
@ WID_N_SHOW_GROUP
Show vehicle's group.
Definition: news_widget.h:34
WID_N_MGR_NAME
@ WID_N_MGR_NAME
Name of the manager.
Definition: news_widget.h:28
WWT_CAPTION
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:63
NewsTypeData
Per-NewsType data.
Definition: news_type.h:100
WWT_LABEL
@ WWT_LABEL
Centered label.
Definition: widget_type.h:59
WWT_DEFSIZEBOX
@ WWT_DEFSIZEBOX
Default window size box (at top-right of a window, between WWT_SHADEBOX and WWT_STICKYBOX)
Definition: widget_type.h:67
NWID_HORIZONTAL
@ NWID_HORIZONTAL
Horizontal container.
Definition: widget_type.h:77
EndContainer
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:1151
WID_N_PANEL
@ WID_N_PANEL
Panel of the window.
Definition: news_widget.h:17
WID_N_TITLE
@ WID_N_TITLE
Title of the company news.
Definition: news_widget.h:18
WWT_EMPTY
@ WWT_EMPTY
Empty widget, place holder to reserve space in widget tree.
Definition: widget_type.h:50
WID_N_INSET
@ WID_N_INSET
Inset around the viewport in the window. Only used in small news items.
Definition: news_widget.h:23
SND_1E_NEW_ENGINE
@ SND_1E_NEW_ENGINE
28 == 0x1C News: new engine available
Definition: sound_type.h:67
WID_N_MESSAGE
@ WID_N_MESSAGE
Space for displaying the message. Only used in small news items.
Definition: news_widget.h:26
WID_N_VEH_SPR
@ WID_N_VEH_SPR
Graphical display of the new vehicle.
Definition: news_widget.h:32
SetPadding
constexpr NWidgetPart SetPadding(uint8_t top, uint8_t right, uint8_t bottom, uint8_t left)
Widget part function for setting additional space around a widget.
Definition: widget_type.h:1188
WID_N_COMPANY_MSG
@ WID_N_COMPANY_MSG
Message in company news items.
Definition: news_widget.h:25
SetResize
constexpr NWidgetPart SetResize(int16_t dx, int16_t dy)
Widget part function for setting the resize step.
Definition: widget_type.h:1086
WID_N_CAPTION
@ WID_N_CAPTION
Title bar of the window. Only used in small news items.
Definition: news_widget.h:22
NWID_VIEWPORT
@ NWID_VIEWPORT
Nested widget containing a viewport.
Definition: widget_type.h:83
SetScrollbar
constexpr NWidgetPart SetScrollbar(WidgetID index)
Attach a scrollbar to a widget.
Definition: widget_type.h:1244
WID_MH_SCROLLBAR
@ WID_MH_SCROLLBAR
Scrollbar for the list.
Definition: news_widget.h:41
WID_N_VIEWPORT
@ WID_N_VIEWPORT
Viewport in the window.
Definition: news_widget.h:24
FS_SMALL
@ FS_SMALL
Index of the small font in the font tables.
Definition: gfx_type.h:204
NWidget
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1258
WID_N_CLOSEBOX
@ WID_N_CLOSEBOX
Close the window.
Definition: news_widget.h:20
NWID_VERTICAL
@ NWID_VERTICAL
Vertical container.
Definition: widget_type.h:79
WID_N_DATE
@ WID_N_DATE
Date of the news item.
Definition: news_widget.h:21
WWT_CLOSEBOX
@ WWT_CLOSEBOX
Close box (at top-left of a window)
Definition: widget_type.h:71
WWT_RESIZEBOX
@ WWT_RESIZEBOX
Resize box (normally at bottom-right of a window)
Definition: widget_type.h:70
NWID_VSCROLLBAR
@ NWID_VSCROLLBAR
Vertical scrollbar.
Definition: widget_type.h:86
WID_N_VEH_INFO
@ WID_N_VEH_INFO
Some technical data of the new vehicle.
Definition: news_widget.h:33
WWT_PANEL
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:52
WID_N_MGR_FACE
@ WID_N_MGR_FACE
Face of the manager.
Definition: news_widget.h:27
NWID_SPACER
@ NWID_SPACER
Invisible widget that takes some space.
Definition: widget_type.h:81
WWT_INSET
@ WWT_INSET
Pressed (inset) panel, most commonly used as combo box text area.
Definition: widget_type.h:53
SetMinimalSize
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition: widget_type.h:1097
SetDataTip
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1162
SND_1D_APPLAUSE
@ SND_1D_APPLAUSE
27 == 0x1B News: first vehicle at station
Definition: sound_type.h:66
SetTextStyle
constexpr NWidgetPart SetTextStyle(TextColour colour, FontSize size=FS_NORMAL)
Widget part function for setting the text style.
Definition: widget_type.h:1120
WID_MH_BACKGROUND
@ WID_MH_BACKGROUND
Background of the window.
Definition: news_widget.h:40
WID_N_VEH_BKGND
@ WID_N_VEH_BKGND
Dark background of new vehicle news.
Definition: news_widget.h:30
WWT_TEXTBTN
@ WWT_TEXTBTN
(Toggle) Button with text
Definition: widget_type.h:57
WWT_SHADEBOX
@ WWT_SHADEBOX
Shade box (at top-right of a window, between WWT_DEBUGBOX and WWT_DEFSIZEBOX)
Definition: widget_type.h:66
WID_N_HEADLINE
@ WID_N_HEADLINE
The news headline.
Definition: news_widget.h:19