OpenTTD Source  20241108-master-g80f628063a
industry_gui.cpp File Reference

GUIs related to industries. More...

#include "stdafx.h"
#include "error.h"
#include "gui.h"
#include "settings_gui.h"
#include "sound_func.h"
#include "window_func.h"
#include "textbuf_gui.h"
#include "command_func.h"
#include "viewport_func.h"
#include "industry.h"
#include "town.h"
#include "cheat_type.h"
#include "newgrf_industries.h"
#include "newgrf_text.h"
#include "newgrf_debug.h"
#include "network/network.h"
#include "strings_func.h"
#include "company_func.h"
#include "tilehighlight_func.h"
#include "string_func.h"
#include "sortlist_type.h"
#include "dropdown_func.h"
#include "company_base.h"
#include "core/geometry_func.hpp"
#include "core/random_func.hpp"
#include "core/backup_type.hpp"
#include "genworld.h"
#include "smallmap_gui.h"
#include "dropdown_type.h"
#include "clear_map.h"
#include "zoom_func.h"
#include "industry_cmd.h"
#include "graph_gui.h"
#include "querystring_gui.h"
#include "stringfilter_type.h"
#include "timer/timer.h"
#include "timer/timer_window.h"
#include "hotkeys.h"
#include "widgets/industry_widget.h"
#include "table/strings.h"
#include <bitset>
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  CargoSuffix
 Transfer storage of cargo suffix information. More...
 
class  BuildIndustryWindow
 Build (fund or prospect) a new industry,. More...
 
class  IndustryViewWindow
 
class  IndustryDirectoryWindow
 The list of industries. More...
 
struct  CargoesField
 Data about a single field in the IndustryCargoesWindow panel. More...
 
struct  CargoesRow
 A single row of CargoesField. More...
 
struct  IndustryCargoesWindow
 Window displaying the cargo connections around an industry (or cargo). More...
 

Typedefs

typedef GUIList< const Industry *, const CargoID &, const std::pair< CargoID, CargoID > & > GUIIndustryList
 

Enumerations

enum  CargoSuffixType { CST_FUND , CST_VIEW , CST_DIR }
 Cargo suffix type (for which window is it requested) More...
 
enum  CargoSuffixDisplay { CSD_CARGO , CSD_CARGO_AMOUNT , CSD_CARGO_TEXT , CSD_CARGO_AMOUNT_TEXT }
 Ways of displaying the cargo. More...
 
enum  CargoSuffixInOut { CARGOSUFFIX_OUT = 0 , CARGOSUFFIX_IN = 1 }
 
enum  IndustryDirectoryHotkeys { IDHK_FOCUS_FILTER_BOX }
 Enum referring to the Hotkeys in the industry directory window. More...
 
enum  CargoesFieldType {
  CFT_EMPTY , CFT_SMALL_EMPTY , CFT_INDUSTRY , CFT_CARGO ,
  CFT_CARGO_LABEL , CFT_HEADER
}
 Available types of field. More...
 

Functions

void GenerateIndustries ()
 This function will create random industries during game creation. More...
 
static void ShowIndustryCargoesWindow (IndustryType id)
 Open the industry and cargoes window. More...
 
static void GetCargoSuffix (uint cargo, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, CargoSuffix &suffix)
 Gets the string to display after the cargo name (using callback 37) More...
 
template<typename TC , typename TS >
static void GetAllCargoSuffixes (CargoSuffixInOut use_input, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, const TC &cargoes, TS &suffixes)
 Gets all strings to display after the cargoes of industries (using callback 37) More...
 
void GetCargoSuffix (CargoSuffixInOut use_input, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, CargoID cargo, uint8_t slot, CargoSuffix &suffix)
 Gets the strings to display after the cargo of industries (using callback 37) More...
 
static bool IndustryTypeNameSorter (const IndustryType &a, const IndustryType &b)
 Sort industry types by their name.
 
void SortIndustryTypes ()
 Initialize the list of sorted industry types.
 
void CcBuildIndustry (Commands, const CommandCost &result, TileIndex tile, IndustryType indtype, uint32_t, bool, uint32_t)
 Command callback. More...
 
void ShowBuildIndustryWindow ()
 
static void UpdateIndustryProduction (Industry *i)
 
static bool IsProductionAlterable (const Industry *i)
 
void ShowIndustryViewWindow (int industry)
 
static bool CargoFilter (const Industry *const *industry, const std::pair< CargoID, CargoID > &cargoes)
 Cargo filter functions. More...
 
void ShowIndustryDirectory ()
 
void ShowIndustryCargoesWindow ()
 Open the industry and cargoes window with an industry.
 

Variables

bool _ignore_restrictions
 
std::bitset< NUM_INDUSTRYTYPES_displayed_industries
 Communication from the industry chain window to the smallmap window about what industries to display.
 
std::array< IndustryType, NUM_INDUSTRYTYPES_sorted_industry_types
 Industry types sorted by name.
 
static constexpr NWidgetPart _nested_build_industry_widgets []
 
static WindowDesc _build_industry_desc (WDP_AUTO, "build_industry", 170, 212, WC_BUILD_INDUSTRY, WC_NONE, WDF_CONSTRUCTION, _nested_build_industry_widgets)
 Window definition of the dynamic place industries gui.
 
static constexpr NWidgetPart _nested_industry_view_widgets []
 Widget definition of the view industry gui. More...
 
static WindowDesc _industry_view_desc (WDP_AUTO, "view_industry", 260, 120, WC_INDUSTRY_VIEW, WC_NONE, 0, _nested_industry_view_widgets)
 Window definition of the view industry gui.
 
static constexpr NWidgetPart _nested_industry_directory_widgets []
 Widget definition of the industry directory gui. More...
 
static GUIIndustryList::FilterFunction *const _industry_filter_funcs [] = { &CargoFilter }
 
static WindowDesc _industry_directory_desc (WDP_AUTO, "list_industries", 428, 190, WC_INDUSTRY_DIRECTORY, WC_NONE, 0, _nested_industry_directory_widgets, &IndustryDirectoryWindow::hotkeys)
 Window definition of the industry directory gui.
 
static constexpr NWidgetPart _nested_industry_cargoes_widgets []
 Widgets of the industry cargoes window. More...
 
static WindowDesc _industry_cargoes_desc (WDP_AUTO, "industry_cargoes", 300, 210, WC_INDUSTRY_CARGOES, WC_NONE, 0, _nested_industry_cargoes_widgets)
 Window description for the industry cargoes window.
 
static const uint MAX_CARGOES = 16
 Maximum number of cargoes carried in a CFT_CARGO field in CargoesField.
 

Detailed Description

GUIs related to industries.

Definition in file industry_gui.cpp.

Enumeration Type Documentation

◆ CargoesFieldType

Available types of field.

Enumerator
CFT_EMPTY 

Empty field.

CFT_SMALL_EMPTY 

Empty small field (for the header).

CFT_INDUSTRY 

Display industry.

CFT_CARGO 

Display cargo connections.

CFT_CARGO_LABEL 

Display cargo labels.

CFT_HEADER 

Header text.

Definition at line 1989 of file industry_gui.cpp.

◆ CargoSuffixDisplay

Ways of displaying the cargo.

Enumerator
CSD_CARGO 

Display the cargo without sub-type (cb37 result 401).

CSD_CARGO_AMOUNT 

Display the cargo and amount (if useful), but no sub-type (cb37 result 400 or fail).

CSD_CARGO_TEXT 

Display then cargo and supplied string (cb37 result 800-BFF).

CSD_CARGO_AMOUNT_TEXT 

Display then cargo, amount, and string (cb37 result 000-3FF).

Definition at line 68 of file industry_gui.cpp.

◆ CargoSuffixType

Cargo suffix type (for which window is it requested)

Enumerator
CST_FUND 

Fund-industry window.

CST_VIEW 

View-industry window.

CST_DIR 

Industry-directory window.

Definition at line 61 of file industry_gui.cpp.

◆ IndustryDirectoryHotkeys

Enum referring to the Hotkeys in the industry directory window.

Enumerator
IDHK_FOCUS_FILTER_BOX 

Focus the filter box.

Definition at line 1337 of file industry_gui.cpp.

Function Documentation

◆ CargoFilter()

static bool CargoFilter ( const Industry *const *  industry,
const std::pair< CargoID, CargoID > &  cargoes 
)
static

Cargo filter functions.

Check whether an industry accepts and produces a certain cargo pair.

Parameters
industryThe industry whose cargoes will being checked.
cargoesThe accepted and produced cargo pair to look for.
Returns
bool Whether the given cargoes accepted and produced by the industry.

Definition at line 1294 of file industry_gui.cpp.

References CargoFilterCriteria::CF_ANY, and CargoFilterCriteria::CF_NONE.

◆ CcBuildIndustry()

void CcBuildIndustry ( Commands  cmd,
const CommandCost result,
TileIndex  tile,
IndustryType  indtype,
uint32_t  ,
bool  ,
uint32_t   
)

Command callback.

In case of failure to build an industry, show an error message.

Parameters
resultResult of the command.
tileTile where the industry is placed.
indtypeIndustry type.

Definition at line 255 of file industry_gui.cpp.

◆ GenerateIndustries()

void GenerateIndustries ( )

This function will create random industries during game creation.

It will scale the amount of industries by mapsize and difficulty level.

Definition at line 2460 of file industry_cmd.cpp.

◆ GetAllCargoSuffixes()

template<typename TC , typename TS >
static void GetAllCargoSuffixes ( CargoSuffixInOut  use_input,
CargoSuffixType  cst,
const Industry ind,
IndustryType  ind_type,
const IndustrySpec indspec,
const TC &  cargoes,
TS &  suffixes 
)
inlinestatic

Gets all strings to display after the cargoes of industries (using callback 37)

Parameters
use_inputget suffixes for output cargoes or input cargoes?
cstthe cargo suffix type (for which window is it requested).
See also
CargoSuffixType
Parameters
indthe industry (nullptr if in fund window)
ind_typethe industry type
indspecthe industry spec
cargoesarray with cargotypes. for INVALID_CARGO no suffix will be determined
suffixesis filled with the suffixes

Definition at line 157 of file industry_gui.cpp.

References IndustrySpec::behaviour, GRFFile::cargo_map, CSD_CARGO, GetCargoSuffix(), IndustrySpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, INDUSTRYBEH_CARGOTYPES_UNLIMITED, IsValidCargoID(), and lengthof.

◆ GetCargoSuffix() [1/2]

void GetCargoSuffix ( CargoSuffixInOut  use_input,
CargoSuffixType  cst,
const Industry ind,
IndustryType  ind_type,
const IndustrySpec indspec,
CargoID  cargo,
uint8_t  slot,
CargoSuffix suffix 
)

Gets the strings to display after the cargo of industries (using callback 37)

Parameters
use_inputget suffixes for output cargo or input cargo?
cstthe cargo suffix type (for which window is it requested).
See also
CargoSuffixType
Parameters
indthe industry (nullptr if in fund window)
ind_typethe industry type
indspecthe industry spec
cargocargotype. for INVALID_CARGO no suffix will be determined
slotaccepts/produced slot number, used for old-style 3-in/2-out industries.
suffixis filled with the suffix

Definition at line 208 of file industry_gui.cpp.

References IndustrySpec::behaviour, GRFFile::cargo_map, CSD_CARGO, CargoSuffix::display, GetCargoSuffix(), IndustrySpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, INDUSTRYBEH_CARGOTYPES_UNLIMITED, IsValidCargoID(), and CargoSuffix::text.

◆ GetCargoSuffix() [2/2]

static void GetCargoSuffix ( uint  cargo,
CargoSuffixType  cst,
const Industry ind,
IndustryType  ind_type,
const IndustrySpec indspec,
CargoSuffix suffix 
)
static

Gets the string to display after the cargo name (using callback 37)

Parameters
cargothe cargo for which the suffix is requested, meaning depends on presence of flag 18 in prop 1A
cstthe cargo suffix type (for which window is it requested).
See also
CargoSuffixType
Parameters
indthe industry (nullptr if in fund window)
ind_typethe industry type
indspecthe industry spec
suffixis filled with the string to display

Definition at line 93 of file industry_gui.cpp.

References IndustrySpec::callback_mask, CBM_IND_CARGO_SUFFIX, CSD_CARGO_AMOUNT, CST_FUND, CargoSuffix::display, HasBit(), INVALID_TILE, Industry::location, CargoSuffix::text, and OrthogonalTileArea::tile.

Referenced by IndustryViewWindow::DrawInfo(), GetAllCargoSuffixes(), and GetCargoSuffix().

◆ ShowIndustryCargoesWindow()

static void ShowIndustryCargoesWindow ( IndustryType  id)
static

Open the industry and cargoes window.

Parameters
idIndustry type to display, NUM_INDUSTRYTYPES selects a default industry type.

Definition at line 3213 of file industry_gui.cpp.

References _sorted_industry_types, BringWindowToFrontById(), IndustrySpec::enabled, GetIndustrySpec(), Window::InvalidateData(), NUM_INDUSTRYTYPES, and WC_INDUSTRY_CARGOES.

Referenced by ShowIndustryCargoesWindow().

Variable Documentation

◆ _nested_build_industry_widgets

constexpr NWidgetPart _nested_build_industry_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN),
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_FUND_INDUSTRY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_DARK_GREEN),
NWidget(WWT_DEFSIZEBOX, COLOUR_DARK_GREEN),
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
SetDataTip(STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES, STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP),
SetDataTip(STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES, STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP),
NWidget(WWT_MATRIX, COLOUR_DARK_GREEN, WID_DPI_MATRIX_WIDGET), SetMatrixDataTip(1, 0, STR_FUND_INDUSTRY_SELECTION_TOOLTIP), SetFill(1, 0), SetResize(1, 1), SetScrollbar(WID_DPI_SCROLLBAR),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_DPI_INFOPANEL), SetResize(1, 0),
NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, WID_DPI_DISPLAY_WIDGET), SetFill(1, 0), SetResize(1, 0),
SetDataTip(STR_INDUSTRY_DISPLAY_CHAIN, STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP),
NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, WID_DPI_FUND_WIDGET), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_NULL),
NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN),
}
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition: widget_type.h:1181
constexpr NWidgetPart SetScrollbar(WidgetID index)
Attach a scrollbar to a widget.
Definition: widget_type.h:1284
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1202
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition: widget_type.h:1137
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1309
constexpr NWidgetPart SetMatrixDataTip(uint8_t cols, uint8_t rows, StringID tip)
Widget part function for setting the data and tooltip of WWT_MATRIX widgets.
Definition: widget_type.h:1214
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:1191
constexpr NWidgetPart SetResize(int16_t dx, int16_t dy)
Widget part function for setting the resize step.
Definition: widget_type.h:1126
@ WID_DPI_MATRIX_WIDGET
Matrix of the industries.
@ WID_DPI_REMOVE_ALL_INDUSTRIES_WIDGET
Remove all industries button.
@ WID_DPI_INFOPANEL
Info panel about the industry.
@ WID_DPI_SCENARIO_EDITOR_PANE
Pane containing SE-only widgets.
@ WID_DPI_SCROLLBAR
Scrollbar of the matrix.
@ WID_DPI_CREATE_RANDOM_INDUSTRIES_WIDGET
Create random industries button.
@ WID_DPI_FUND_WIDGET
Fund button.
@ WID_DPI_DISPLAY_WIDGET
Display chain button.
@ NWID_HORIZONTAL
Horizontal container.
Definition: widget_type.h:75
@ WWT_TEXTBTN
(Toggle) Button with text
Definition: widget_type.h:55
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:50
@ WWT_STICKYBOX
Sticky box (at top-right of a window, after WWT_DEFSIZEBOX)
Definition: widget_type.h:66
@ WWT_MATRIX
Grid of rows and columns.
Definition: widget_type.h:59
@ WWT_SHADEBOX
Shade box (at top-right of a window, between WWT_DEBUGBOX and WWT_DEFSIZEBOX)
Definition: widget_type.h:64
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:61
@ NWID_VSCROLLBAR
Vertical scrollbar.
Definition: widget_type.h:84
@ NWID_VERTICAL
Vertical container.
Definition: widget_type.h:77
@ WWT_CLOSEBOX
Close box (at top-left of a window)
Definition: widget_type.h:69
@ WWT_RESIZEBOX
Resize box (normally at bottom-right of a window)
Definition: widget_type.h:68
@ WWT_DEFSIZEBOX
Default window size box (at top-right of a window, between WWT_SHADEBOX and WWT_STICKYBOX)
Definition: widget_type.h:65
@ NWID_SELECTION
Stacked widgets, only one visible at a time (eg in a panel with tabs).
Definition: widget_type.h:80

Definition at line 268 of file industry_gui.cpp.

◆ _nested_industry_cargoes_widgets

constexpr NWidgetPart _nested_industry_cargoes_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN, WID_IC_CAPTION), SetDataTip(STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
SetDataTip(STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP, STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP),
NWidget(WWT_PANEL, COLOUR_BROWN), SetFill(1, 0), SetResize(0, 0), EndContainer(),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_IC_IND_DROPDOWN), SetFill(0, 0), SetResize(0, 0),
SetDataTip(STR_INDUSTRY_CARGOES_SELECT_INDUSTRY, STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP),
SetDataTip(STR_INDUSTRY_CARGOES_SELECT_CARGO, STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP),
NWidget(WWT_RESIZEBOX, COLOUR_BROWN),
}
@ WID_IC_SCROLLBAR
Scrollbar of the panel.
@ WID_IC_NOTIFY
Row of buttons at the bottom.
@ WID_IC_IND_DROPDOWN
Select industry dropdown.
@ WID_IC_CAPTION
Caption of the window.
@ WID_IC_PANEL
Panel that shows the chain.
@ WID_IC_CARGO_DROPDOWN
Select cargo dropdown.
@ WWT_DROPDOWN
Drop down list.
Definition: widget_type.h:70

Widgets of the industry cargoes window.

Definition at line 1956 of file industry_gui.cpp.

◆ _nested_industry_directory_widgets

constexpr NWidgetPart _nested_industry_directory_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN, WID_ID_CAPTION), SetDataTip(STR_INDUSTRY_DIRECTORY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_ID_DROPDOWN_ORDER), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_DROPDOWN_CRITERIA), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA),
NWidget(WWT_EDITBOX, COLOUR_BROWN, WID_ID_FILTER), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_FILTER_BY_ACC_CARGO), SetMinimalSize(225, 12), SetFill(0, 1), SetDataTip(STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER, STR_TOOLTIP_FILTER_CRITERIA),
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_FILTER_BY_PROD_CARGO), SetMinimalSize(225, 12), SetFill(0, 1), SetDataTip(STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER, STR_TOOLTIP_FILTER_CRITERIA),
NWidget(WWT_PANEL, COLOUR_BROWN), SetResize(1, 0), EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN, WID_ID_INDUSTRY_LIST), SetDataTip(0x0, STR_INDUSTRY_DIRECTORY_LIST_CAPTION), SetResize(1, 1), SetScrollbar(WID_ID_VSCROLLBAR),
NWidget(WWT_RESIZEBOX, COLOUR_BROWN),
}
@ WID_ID_HSCROLLBAR
Horizontal scrollbar of the list.
@ WID_ID_INDUSTRY_LIST
Industry list.
@ WID_ID_DROPDOWN_ORDER
Dropdown for the order of the sort.
@ WID_ID_FILTER_BY_PROD_CARGO
Produced cargo filter dropdown list.
@ WID_ID_DROPDOWN_CRITERIA
Dropdown for the criteria of the sort.
@ WID_ID_CAPTION
Caption of the window.
@ WID_ID_FILTER
Textbox to filter industry name.
@ WID_ID_FILTER_BY_ACC_CARGO
Accepted cargo filter dropdown list.
@ WID_ID_VSCROLLBAR
Vertical scrollbar of the list.
@ WWT_EDITBOX
a textbox for typing
Definition: widget_type.h:71
@ NWID_HSCROLLBAR
Horizontal scrollbar.
Definition: widget_type.h:83

Widget definition of the industry directory gui.

Definition at line 1254 of file industry_gui.cpp.

◆ _nested_industry_view_widgets

constexpr NWidgetPart _nested_industry_view_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_CREAM),
NWidget(WWT_CAPTION, COLOUR_CREAM, WID_IV_CAPTION), SetDataTip(STR_INDUSTRY_VIEW_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PUSHIMGBTN, COLOUR_CREAM, WID_IV_GOTO), SetAspect(WidgetDimensions::ASPECT_LOCATION), SetDataTip(SPR_GOTO_LOCATION, STR_INDUSTRY_VIEW_LOCATION_TOOLTIP),
NWidget(WWT_DEBUGBOX, COLOUR_CREAM),
NWidget(WWT_SHADEBOX, COLOUR_CREAM),
NWidget(WWT_DEFSIZEBOX, COLOUR_CREAM),
NWidget(WWT_STICKYBOX, COLOUR_CREAM),
NWidget(WWT_PANEL, COLOUR_CREAM),
NWidget(WWT_INSET, COLOUR_CREAM), SetPadding(2, 2, 2, 2),
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_IV_VIEWPORT), SetMinimalSize(254, 86), SetFill(1, 0), SetResize(1, 1),
NWidget(WWT_PANEL, COLOUR_CREAM, WID_IV_INFO), SetMinimalSize(260, 0), SetMinimalTextLines(2, WidgetDimensions::unscaled.framerect.Vertical()), SetResize(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_CREAM, WID_IV_DISPLAY), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_INDUSTRY_DISPLAY_CHAIN, STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_CREAM, WID_IV_GRAPH), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_INDUSTRY_VIEW_PRODUCTION_GRAPH, STR_INDUSTRY_VIEW_PRODUCTION_GRAPH_TOOLTIP),
NWidget(WWT_RESIZEBOX, COLOUR_CREAM),
}
static const WidgetDimensions unscaled
Unscaled widget dimensions.
Definition: window_gui.h:67
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:1228
constexpr NWidgetPart SetMinimalTextLines(uint8_t lines, uint8_t spacing, FontSize size=FS_NORMAL)
Widget part function for setting the minimal text lines.
Definition: widget_type.h:1149
constexpr NWidgetPart SetAspect(float ratio, AspectFlags flags=AspectFlags::ResizeX)
Widget part function for setting the aspect ratio.
Definition: widget_type.h:1295
@ WID_IV_INFO
Info of the industry.
@ WID_IV_CAPTION
Caption of the window.
@ WID_IV_GRAPH
Production history button.
@ WID_IV_DISPLAY
Display chain button.
@ WID_IV_GOTO
Goto button.
@ WID_IV_VIEWPORT
Viewport of the industry.
@ WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:112
@ WWT_INSET
Pressed (inset) panel, most commonly used as combo box text area.
Definition: widget_type.h:51
@ WWT_PUSHIMGBTN
Normal push-button (no toggle button) with image caption.
Definition: widget_type.h:113
@ NWID_VIEWPORT
Nested widget containing a viewport.
Definition: widget_type.h:81
@ WWT_DEBUGBOX
NewGRF debug box (at top-right of a window, between WWT_CAPTION and WWT_SHADEBOX)
Definition: widget_type.h:63

Widget definition of the view industry gui.

Definition at line 1216 of file industry_gui.cpp.