Company related GUIs. More...
#include "stdafx.h"
#include "error.h"
#include "gui.h"
#include "window_gui.h"
#include "textbuf_gui.h"
#include "viewport_func.h"
#include "company_func.h"
#include "command_func.h"
#include "network/network.h"
#include "network/network_gui.h"
#include "network/network_func.h"
#include "newgrf.h"
#include "company_manager_face.h"
#include "strings_func.h"
#include "date_func.h"
#include "widgets/dropdown_type.h"
#include "tilehighlight_func.h"
#include "company_base.h"
#include "core/geometry_func.hpp"
#include "object_type.h"
#include "rail.h"
#include "engine_base.h"
#include "window_func.h"
#include "road_func.h"
#include "water.h"
#include "station_func.h"
#include "widgets/company_widget.h"
Go to the source code of this file.
Data Structures | |
struct | ExpensesList |
Expense list container. More... | |
struct | CompanyFinancesWindow |
Window class displaying the company finances. More... | |
class | DropDownListColourItem |
struct | SelectCompanyLiveryWindow |
Company livery colour scheme window. More... | |
class | SelectCompanyManagerFaceWindow |
Management class for customizing the face of the company manager. More... | |
struct | CompanyInfrastructureWindow |
Window with detailed information about the company's infrastructure. More... | |
struct | CompanyWindow |
Window with general information about a company. More... | |
struct | BuyCompanyWindow |
Functions | |
static void | DoSelectCompanyManagerFace (Window *parent) |
Open the simple/advanced company manager face selection window. | |
static void | ShowCompanyInfrastructure (CompanyID company) |
Open the infrastructure window of a company. | |
static void | DrawCategories (const Rect &r) |
Draw the expenses categories. | |
static void | DrawPrice (Money amount, int left, int right, int top) |
Draw an amount of money. | |
static void | DrawYearColumn (const Rect &r, int year, const Money(*tbl)[EXPENSES_END]) |
Draw a column with prices. | |
void | ShowCompanyFinances (CompanyID company) |
Open the finances window of a company. | |
void | DrawCompanyManagerFace (CompanyManagerFace cmf, int colour, int x, int y) |
Draws the face of a company manager's face. | |
int | GetAmountOwnedBy (const Company *c, Owner owner) |
void | ShowCompany (CompanyID company) |
Show the window with the overview of the company. | |
void | DirtyCompanyInfrastructureWindows (CompanyID company) |
Redraw all windows with company infrastructure counts. | |
void | ShowBuyCompanyDialog (CompanyID company) |
Show the query to buy another company. | |
Variables | |
static const uint | EXP_LINESPACE = 2 |
Company GUI constants. | |
static const uint | EXP_BLOCKSPACE = 10 |
Amount of vertical space between two blocks of numbers. | |
static ExpensesType | _expenses_list_1 [] |
Standard unsorted list of expenses. | |
static ExpensesType | _expenses_list_2 [] |
Grouped list of expenses. | |
static const ExpensesList | _expenses_list_types [] |
static const NWidgetPart | _nested_company_finances_widgets [] |
static const WindowDesc | _company_finances_desc (WDP_AUTO, 0, 0, WC_FINANCES, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_company_finances_widgets, lengthof(_nested_company_finances_widgets)) |
static const StringID | _colour_dropdown [] |
static const LiveryClass | _livery_class [LS_END] |
static const NWidgetPart | _nested_select_company_livery_widgets [] |
static const WindowDesc | _select_company_livery_desc (WDP_AUTO, 0, 0, WC_COMPANY_COLOUR, WC_NONE, 0, _nested_select_company_livery_widgets, lengthof(_nested_select_company_livery_widgets)) |
static const NWidgetPart | _nested_select_company_manager_face_widgets [] |
Nested widget description for the company manager face selection dialog. | |
static const WindowDesc | _select_company_manager_face_desc (WDP_AUTO, 0, 0, WC_COMPANY_MANAGER_FACE, WC_NONE, WDF_UNCLICK_BUTTONS|WDF_CONSTRUCTION, _nested_select_company_manager_face_widgets, lengthof(_nested_select_company_manager_face_widgets)) |
Company manager face selection window description. | |
static const NWidgetPart | _nested_company_infrastructure_widgets [] |
static const WindowDesc | _company_infrastructure_desc (WDP_AUTO, 0, 0, WC_COMPANY_INFRASTRUCTURE, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_company_infrastructure_widgets, lengthof(_nested_company_infrastructure_widgets)) |
static const NWidgetPart | _nested_company_widgets [] |
static const StringID | _company_view_vehicle_count_strings [] |
Strings for the company vehicle counts. | |
static const WindowDesc | _company_desc (WDP_AUTO, 0, 0, WC_COMPANY, WC_NONE, WDF_UNCLICK_BUTTONS, _nested_company_widgets, lengthof(_nested_company_widgets)) |
static const NWidgetPart | _nested_buy_company_widgets [] |
static const WindowDesc | _buy_company_desc (WDP_AUTO, 0, 0, WC_BUY_COMPANY, WC_NONE, WDF_CONSTRUCTION, _nested_buy_company_widgets, lengthof(_nested_buy_company_widgets)) |
Company related GUIs.
Definition in file company_gui.cpp.
void DirtyCompanyInfrastructureWindows | ( | CompanyID | company | ) |
Redraw all windows with company infrastructure counts.
company | The company to redraw the windows of. |
Definition at line 2426 of file company_gui.cpp.
References SetWindowDirty(), WC_COMPANY, and WC_COMPANY_INFRASTRUCTURE.
Referenced by BuildObject(), CmdBuildAirport(), CmdBuildBridge(), CmdBuildCanal(), CmdBuildDock(), CmdBuildRailStation(), CmdBuildRailWaypoint(), CmdBuildRoad(), CmdBuildRoadDepot(), CmdBuildRoadStop(), CmdBuildShipDepot(), CmdBuildSingleRail(), CmdBuildSingleSignal(), CmdBuildTrainDepot(), CmdBuildTunnel(), CmdConvertRail(), CmdRemoveRoadStop(), CmdRemoveSingleRail(), CmdRemoveSingleSignal(), DoBuildLock(), DoClearBridge(), DoClearTunnel(), RemoveAirport(), RemoveDock(), RemoveFromRailBaseStation(), RemoveLock(), RemoveRailStation(), RemoveRoad(), and RemoveRoadStop().
static void DoSelectCompanyManagerFace | ( | Window * | parent | ) | [static] |
Open the simple/advanced company manager face selection window.
parent | the parent company window | |
adv | simple or advanced face selection window | |
top | previous top position of the window | |
left | previous left position of the window |
Definition at line 1500 of file company_gui.cpp.
References _select_company_manager_face_desc, BringWindowToFrontById(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), WC_COMPANY_MANAGER_FACE, and Window::window_number.
Referenced by CompanyWindow::OnClick().
static void DrawCategories | ( | const Rect & | r | ) | [static] |
Draw the expenses categories.
r | Available space for drawing. |
Definition at line 132 of file company_gui.cpp.
References _settings_client, DrawString(), ExpensesList::et, EXP_BLOCKSPACE, EXP_LINESPACE, GUISettings::expenses_layout, FONT_HEIGHT_NORMAL, ClientSettings::gui, INVALID_EXPENSES, ExpensesList::length, SA_HOR_CENTER, and SA_RIGHT.
Referenced by CompanyFinancesWindow::DrawWidget().
void DrawCompanyManagerFace | ( | CompanyManagerFace | cmf, | |
int | colour, | |||
int | x, | |||
int | y | |||
) |
Draws the face of a company manager's face.
cmf | the company manager's face | |
colour | the (background) colour of the gradient | |
x | x-position to draw the face | |
y | y-position to draw the face |
Definition at line 857 of file company_gui.cpp.
References _cmf_info, DrawSprite(), GE_WM, GENDER_FEMALE, GetCompanyManagerFaceBits(), GetCompanyManagerFaceSprite(), and HasBit().
Referenced by NewsWindow::DrawWidget(), BuyCompanyWindow::DrawWidget(), CompanyWindow::DrawWidget(), and SelectCompanyManagerFaceWindow::DrawWidget().
static void DrawPrice | ( | Money | amount, | |
int | left, | |||
int | right, | |||
int | top | |||
) | [static] |
Draw an amount of money.
amount | Amount of money to draw, | |
left | Left coordinate of the space to draw in. | |
right | Right coordinate of the space to draw in. | |
top | Top coordinate of the space to draw in. |
Definition at line 162 of file company_gui.cpp.
References DrawString(), SA_RIGHT, and SetDParam().
Referenced by DrawYearColumn().
Draw a column with prices.
r | Available space for drawing. | |
year | Year being drawn. | |
tbl | Pointer to table of amounts for year. |
Definition at line 180 of file company_gui.cpp.
References _settings_client, DrawPrice(), DrawString(), ExpensesList::et, EXP_BLOCKSPACE, EXP_LINESPACE, GUISettings::expenses_layout, FONT_HEIGHT_NORMAL, GfxFillRect(), ClientSettings::gui, INVALID_EXPENSES, ExpensesList::length, PC_BLACK, SA_RIGHT, and SetDParam().
Referenced by CompanyFinancesWindow::DrawWidget().
void ShowBuyCompanyDialog | ( | CompanyID | company | ) |
Show the query to buy another company.
company | The company to buy. |
Definition at line 2527 of file company_gui.cpp.
Referenced by HandleBankruptcyTakeover().
void ShowCompany | ( | CompanyID | company | ) |
Show the window with the overview of the company.
company | The company to show the window for. |
Definition at line 2415 of file company_gui.cpp.
Referenced by MenuClickCompany(), and MainToolbarWindow::OnKeyPress().
void ShowCompanyFinances | ( | CompanyID | company | ) |
Open the finances window of a company.
company | Company to show finances of. |
Definition at line 478 of file company_gui.cpp.
References BringWindowToFrontById(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), and WC_FINANCES.
Referenced by CompaniesYearlyLoop(), MenuClickFinances(), StatusBarWindow::OnClick(), and MainToolbarWindow::OnKeyPress().
static void ShowCompanyInfrastructure | ( | CompanyID | company | ) | [static] |
Open the infrastructure window of a company.
company | Company to show infrastructure of. |
Definition at line 1850 of file company_gui.cpp.
Referenced by CompanyWindow::OnClick(), and CompanyFinancesWindow::OnClick().
const StringID _colour_dropdown[] [static] |
{ STR_COLOUR_DARK_BLUE, STR_COLOUR_PALE_GREEN, STR_COLOUR_PINK, STR_COLOUR_YELLOW, STR_COLOUR_RED, STR_COLOUR_LIGHT_BLUE, STR_COLOUR_GREEN, STR_COLOUR_DARK_GREEN, STR_COLOUR_BLUE, STR_COLOUR_CREAM, STR_COLOUR_MAUVE, STR_COLOUR_PURPLE, STR_COLOUR_ORANGE, STR_COLOUR_BROWN, STR_COLOUR_GREY, STR_COLOUR_WHITE, }
Definition at line 487 of file company_gui.cpp.
const StringID _company_view_vehicle_count_strings[] [static] |
{ STR_COMPANY_VIEW_TRAINS, STR_COMPANY_VIEW_ROAD_VEHICLES, STR_COMPANY_VIEW_SHIPS, STR_COMPANY_VIEW_AIRCRAFT }
Strings for the company vehicle counts.
Definition at line 1959 of file company_gui.cpp.
ExpensesType _expenses_list_1[] [static] |
{ EXPENSES_CONSTRUCTION, EXPENSES_NEW_VEHICLES, EXPENSES_TRAIN_RUN, EXPENSES_ROADVEH_RUN, EXPENSES_AIRCRAFT_RUN, EXPENSES_SHIP_RUN, EXPENSES_PROPERTY, EXPENSES_TRAIN_INC, EXPENSES_ROADVEH_INC, EXPENSES_AIRCRAFT_INC, EXPENSES_SHIP_INC, EXPENSES_LOAN_INT, EXPENSES_OTHER, }
Standard unsorted list of expenses.
Definition at line 50 of file company_gui.cpp.
ExpensesType _expenses_list_2[] [static] |
{ EXPENSES_TRAIN_INC, EXPENSES_ROADVEH_INC, EXPENSES_AIRCRAFT_INC, EXPENSES_SHIP_INC, INVALID_EXPENSES, EXPENSES_TRAIN_RUN, EXPENSES_ROADVEH_RUN, EXPENSES_AIRCRAFT_RUN, EXPENSES_SHIP_RUN, EXPENSES_PROPERTY, EXPENSES_LOAN_INT, INVALID_EXPENSES, EXPENSES_CONSTRUCTION, EXPENSES_NEW_VEHICLES, EXPENSES_OTHER, INVALID_EXPENSES, }
Grouped list of expenses.
Definition at line 67 of file company_gui.cpp.
const ExpensesList _expenses_list_types[] [static] |
{ ExpensesList(_expenses_list_1, lengthof(_expenses_list_1), 0), ExpensesList(_expenses_list_2, lengthof(_expenses_list_2), 3), }
Definition at line 122 of file company_gui.cpp.
const LiveryClass _livery_class[LS_END] [static] |
{ LC_OTHER, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_ROAD, LC_ROAD, LC_SHIP, LC_SHIP, LC_AIRCRAFT, LC_AIRCRAFT, LC_AIRCRAFT, LC_ROAD, LC_ROAD, }
Definition at line 507 of file company_gui.cpp.
const NWidgetPart _nested_buy_company_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_LIGHT_BLUE), NWidget(WWT_CAPTION, COLOUR_LIGHT_BLUE, WID_BC_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), EndContainer(), NWidget(WWT_PANEL, COLOUR_LIGHT_BLUE), NWidget(NWID_VERTICAL), SetPIP(8, 8, 8), NWidget(NWID_HORIZONTAL), SetPIP(8, 10, 8), NWidget(WWT_EMPTY, INVALID_COLOUR, WID_BC_FACE), SetFill(0, 1), NWidget(WWT_EMPTY, INVALID_COLOUR, WID_BC_QUESTION), SetMinimalSize(240, 0), SetFill(1, 1), EndContainer(), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(100, 10, 100), NWidget(WWT_TEXTBTN, COLOUR_LIGHT_BLUE, WID_BC_NO), SetMinimalSize(60, 12), SetDataTip(STR_QUIT_NO, STR_NULL), SetFill(1, 0), NWidget(WWT_TEXTBTN, COLOUR_LIGHT_BLUE, WID_BC_YES), SetMinimalSize(60, 12), SetDataTip(STR_QUIT_YES, STR_NULL), SetFill(1, 0), EndContainer(), EndContainer(), EndContainer(), }
Definition at line 2497 of file company_gui.cpp.
const NWidgetPart _nested_select_company_livery_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY), NWidget(WWT_CAPTION, COLOUR_GREY, WID_SCL_CAPTION), SetDataTip(STR_LIVERY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_IMGBTN, COLOUR_GREY, WID_SCL_CLASS_GENERAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_COMPANY_GENERAL, STR_LIVERY_GENERAL_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_GREY, WID_SCL_CLASS_RAIL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_TRAINLIST, STR_LIVERY_TRAIN_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_GREY, WID_SCL_CLASS_ROAD), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_TRUCKLIST, STR_LIVERY_ROAD_VEHICLE_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_GREY, WID_SCL_CLASS_SHIP), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIPLIST, STR_LIVERY_SHIP_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_GREY, WID_SCL_CLASS_AIRCRAFT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AIRPLANESLIST, STR_LIVERY_AIRCRAFT_TOOLTIP), NWidget(WWT_PANEL, COLOUR_GREY), SetMinimalSize(90, 22), SetFill(1, 1), EndContainer(), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_PANEL, COLOUR_GREY, WID_SCL_SPACER_DROPDOWN), SetMinimalSize(150, 12), SetFill(1, 1), EndContainer(), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_SCL_PRI_COL_DROPDOWN), SetMinimalSize(125, 12), SetFill(0, 1), SetDataTip(STR_BLACK_STRING, STR_LIVERY_PRIMARY_TOOLTIP), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_SCL_SEC_COL_DROPDOWN), SetMinimalSize(125, 12), SetFill(0, 1), SetDataTip(STR_BLACK_STRING, STR_LIVERY_SECONDARY_TOOLTIP), EndContainer(), NWidget(WWT_MATRIX, COLOUR_GREY, WID_SCL_MATRIX), SetMinimalSize(275, 15), SetFill(1, 0), SetDataTip((1 << MAT_ROW_START) | (1 << MAT_COL_START), STR_LIVERY_PANEL_TOOLTIP), }
Definition at line 821 of file company_gui.cpp.
const uint EXP_LINESPACE = 2 [static] |
Company GUI constants.
Amount of vertical space for a horizontal (sub-)total line.
Definition at line 43 of file company_gui.cpp.
Referenced by DrawCategories(), CompanyInfrastructureWindow::DrawWidget(), DrawYearColumn(), and CompanyInfrastructureWindow::UpdateWidgetSize().