#include "stdafx.h"
#include "openttd.h"
#include "gui.h"
#include "textbuf_gui.h"
#include "command_func.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "industry.h"
#include "town.h"
#include "variables.h"
#include "cheat_type.h"
#include "newgrf.h"
#include "newgrf_industries.h"
#include "newgrf_text.h"
#include "strings_func.h"
#include "company_func.h"
#include "tilehighlight_func.h"
#include "string_func.h"
#include "sortlist_type.h"
#include "widgets/dropdown_func.h"
#include "company_base.h"
#include "core/geometry_func.hpp"
#include "core/random_func.hpp"
#include "table/strings.h"
#include "table/sprites.h"
Go to the source code of this file.
Data Structures | |
class | BuildIndustryWindow |
Build (fund or prospect) a new industry,. More... | |
class | IndustryViewWindow |
class | IndustryDirectoryWindow |
The list of industries. More... | |
Typedefs | |
typedef GUIList< const Industry * > | GUIIndustryList |
Enumerations | |
enum | CargoSuffixType { CST_FUND, CST_VIEW, CST_DIR } |
Cargo suffix type (for which window is it requested). More... | |
enum | DynamicPlaceIndustriesWidgets { DPIW_MATRIX_WIDGET, DPIW_SCROLLBAR, DPIW_INFOPANEL, DPIW_FUND_WIDGET } |
Names of the widgets of the dynamic place industries gui. | |
enum | IndustryViewWidgets { IVW_CAPTION, IVW_VIEWPORT, IVW_INFO, IVW_GOTO } |
Names of the widgets of the view industry gui. | |
enum | IndustryDirectoryWidgets { IDW_DROPDOWN_ORDER, IDW_DROPDOWN_CRITERIA, IDW_INDUSTRY_LIST, IDW_SCROLLBAR } |
Names of the widgets of the industry directory gui. | |
Functions | |
static void | GetCargoSuffix (uint cargo, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, char *suffix, const char *suffix_last) |
Gets the string to display after the cargo name (using callback 37). | |
template<typename TC, typename TS> | |
static void | GetAllCargoSuffixes (uint cb_offset, CargoSuffixType cst, const Industry *ind, IndustryType ind_type, const IndustrySpec *indspec, const TC &cargos, TS &suffixes) |
Gets all strings to display after the cargos of industries (using callback 37). | |
void | ShowBuildIndustryWindow () |
static void | UpdateIndustryProduction (Industry *i) |
static bool | IsProductionMinimum (const Industry *i, int pt) |
static bool | IsProductionMaximum (const Industry *i, int pt) |
static bool | IsProductionAlterable (const Industry *i) |
void | ShowIndustryViewWindow (int industry) |
void | ShowIndustryDirectory () |
Variables | |
bool | _ignore_restrictions |
static const NWidgetPart | _nested_build_industry_widgets [] |
static const WindowDesc | _build_industry_desc (WDP_AUTO, 170, 212, WC_BUILD_INDUSTRY, WC_NONE, WDF_CONSTRUCTION, _nested_build_industry_widgets, lengthof(_nested_build_industry_widgets)) |
Window definition of the dynamic place industries gui. | |
static const NWidgetPart | _nested_industry_view_widgets [] |
Widget definition of the view industy gui. | |
static const WindowDesc | _industry_view_desc (WDP_AUTO, 260, 120, WC_INDUSTRY_VIEW, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_industry_view_widgets, lengthof(_nested_industry_view_widgets)) |
Window definition of the view industy gui. | |
static const NWidgetPart | _nested_industry_directory_widgets [] |
Widget definition of the industy directory gui. | |
static const WindowDesc | _industry_directory_desc (WDP_AUTO, 428, 190, WC_INDUSTRY_DIRECTORY, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_industry_directory_widgets, lengthof(_nested_industry_directory_widgets)) |
Window definition of the industy directory gui. |
Definition in file industry_gui.cpp.
enum CargoSuffixType |
Cargo suffix type (for which window is it requested).
CST_FUND | Fund-industry window. |
CST_VIEW | View-industry window. |
CST_DIR | Industry-directory window. |
Definition at line 42 of file industry_gui.cpp.
static void GetAllCargoSuffixes | ( | uint | cb_offset, | |
CargoSuffixType | cst, | |||
const Industry * | ind, | |||
IndustryType | ind_type, | |||
const IndustrySpec * | indspec, | |||
const TC & | cargos, | |||
TS & | suffixes | |||
) | [inline, static] |
Gets all strings to display after the cargos of industries (using callback 37).
cb_offset | The offset for the cargo used in cb37, 0 for accepted cargos, 3 for produced cargos | |
cst | the cargo suffix type (for which window is it requested). |
ind | the industry (NULL if in fund window) | |
ind_type | the industry type | |
indspec | the industry spec | |
cargos | array with cargotypes. for CT_INVALID no suffix will be determined | |
suffixes | is filled with the suffixes |
Definition at line 87 of file industry_gui.cpp.
References assert_compile(), CT_INVALID, GetCargoSuffix(), lastof, and lengthof.
Referenced by BuildIndustryWindow::DrawWidget(), IndustryDirectoryWindow::GetIndustryString(), and BuildIndustryWindow::UpdateWidgetSize().
static void GetCargoSuffix | ( | uint | cargo, | |
CargoSuffixType | cst, | |||
const Industry * | ind, | |||
IndustryType | ind_type, | |||
const IndustrySpec * | indspec, | |||
char * | suffix, | |||
const char * | suffix_last | |||
) | [static] |
Gets the string to display after the cargo name (using callback 37).
cargo | the cargo for which the suffix is requested
| |
cst | the cargo suffix type (for which window is it requested). |
ind | the industry (NULL if in fund window) | |
ind_type | the industry type | |
indspec | the industry spec | |
suffix | is filled with the string to display | |
suffix_last | lastof(suffix) |
Definition at line 63 of file industry_gui.cpp.
References IndustrySpec::callback_mask, CBID_INDUSTRY_CARGO_SUFFIX, CBM_IND_CARGO_SUFFIX, CST_FUND, GB(), GetGRFStringID(), IndustrySpec::grf_prop, GRFFileProps::grffile, GRFFile::grfid, HasBit(), INVALID_TILE, Industry::location, PrepareTextRefStackUsage(), StopTextRefStackUsage(), and TileArea::tile.
Referenced by GetAllCargoSuffixes().
const NWidgetPart _nested_build_industry_widgets[] [static] |
Initial value:
{ NWidget(NWID_HORIZONTAL), 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_STICKYBOX, COLOUR_DARK_GREEN), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_MATRIX, COLOUR_DARK_GREEN, DPIW_MATRIX_WIDGET), SetDataTip(0x801, STR_FUND_INDUSTRY_SELECTION_TOOLTIP), SetFill(1, 0), SetResize(1, 1), NWidget(WWT_SCROLLBAR, COLOUR_DARK_GREEN, DPIW_SCROLLBAR), EndContainer(), NWidget(WWT_PANEL, COLOUR_DARK_GREEN, DPIW_INFOPANEL), SetResize(1, 0), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, DPIW_FUND_WIDGET), SetFill(1, 0), SetResize(1, 0), SetDataTip(STR_JUST_STRING, STR_NULL), NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN), EndContainer(), }
Definition at line 107 of file industry_gui.cpp.
const NWidgetPart _nested_industry_directory_widgets[] [static] |
Initial value:
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_INDUSTRY_DIRECTORY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_SHADEBOX, COLOUR_BROWN), NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(NWID_VERTICAL), NWidget(NWID_HORIZONTAL), NWidget(WWT_TEXTBTN, COLOUR_BROWN, IDW_DROPDOWN_ORDER), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), NWidget(WWT_DROPDOWN, COLOUR_BROWN, IDW_DROPDOWN_CRITERIA), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIAP), NWidget(WWT_PANEL, COLOUR_BROWN), SetResize(1, 0), EndContainer(), EndContainer(), NWidget(WWT_PANEL, COLOUR_BROWN, IDW_INDUSTRY_LIST), SetDataTip(0x0, STR_INDUSTRY_DIRECTORY_LIST_CAPTION), SetResize(1, 1), EndContainer(), EndContainer(), NWidget(NWID_VERTICAL), NWidget(WWT_SCROLLBAR, COLOUR_BROWN, IDW_SCROLLBAR), NWidget(WWT_RESIZEBOX, COLOUR_BROWN), EndContainer(), EndContainer(), }
Definition at line 840 of file industry_gui.cpp.
const NWidgetPart _nested_industry_view_widgets[] [static] |
Initial value:
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_CREAM), NWidget(WWT_CAPTION, COLOUR_CREAM, IVW_CAPTION), SetDataTip(STR_INDUSTRY_VIEW_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_SHADEBOX, COLOUR_CREAM), NWidget(WWT_STICKYBOX, COLOUR_CREAM), EndContainer(), NWidget(WWT_PANEL, COLOUR_CREAM), NWidget(WWT_INSET, COLOUR_CREAM), SetPadding(2, 2, 2, 2), NWidget(NWID_VIEWPORT, INVALID_COLOUR, IVW_VIEWPORT), SetMinimalSize(254, 86), SetFill(1, 0), SetPadding(1, 1, 1, 1), SetResize(1, 1), EndContainer(), EndContainer(), NWidget(WWT_PANEL, COLOUR_CREAM, IVW_INFO), SetMinimalSize(260, 2), SetResize(1, 0), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_PUSHTXTBTN, COLOUR_CREAM, IVW_GOTO), SetMinimalSize(130, 12), SetDataTip(STR_BUTTON_LOCATION, STR_INDUSTRY_VIEW_LOCATION_TOOLTIP), NWidget(WWT_PANEL, COLOUR_CREAM), SetResize(1, 0), EndContainer(), NWidget(WWT_RESIZEBOX, COLOUR_CREAM), EndContainer(), }
Definition at line 797 of file industry_gui.cpp.