industry_gui.cpp File Reference

GUIs related to industries. More...

#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.

Detailed Description

GUIs related to industries.

Definition in file industry_gui.cpp.


Enumeration Type Documentation

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 42 of file industry_gui.cpp.


Function Documentation

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 
) [inline, static]

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

Parameters:
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).
See also:
CargoSuffixType
Parameters:
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 CT_INVALID, GetCargoSuffix(), lastof, and lengthof.

Referenced by IndustryViewWindow::DrawInfo(), 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).

Parameters:
cargo the cargo for which the suffix is requested

  • 00 - first accepted cargo type
  • 01 - second accepted cargo type
  • 02 - third accepted cargo type
  • 03 - first produced cargo type
  • 04 - second produced cargo type
cst the cargo suffix type (for which window is it requested).
See also:
CargoSuffixType
Parameters:
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, HasBit(), INVALID_TILE, Industry::location, PrepareTextRefStackUsage(), StopTextRefStackUsage(), and TileArea::tile.

Referenced by GetAllCargoSuffixes().


Variable Documentation

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.

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_CRITERIA),
        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(),
}

Widget definition of the industy directory gui.

Definition at line 836 of file industry_gui.cpp.

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(),
}

Widget definition of the view industy gui.

Definition at line 793 of file industry_gui.cpp.


Generated on Fri Apr 30 21:55:31 2010 for OpenTTD by  doxygen 1.6.1