|
@@ -166,12 +166,14 @@ struct ValuesInterval {
|
|
|
/*****************/
|
|
|
|
|
|
/** Widget numbers of a base graph window. */
|
|
|
enum CompanyValueWidgets {
|
|
|
BGW_KEY_BUTTON,
|
|
|
BGW_BACKGROUND,
|
|
|
BGW_GRAPH,
|
|
|
BGW_RESIZE,
|
|
|
};
|
|
|
|
|
|
struct BaseGraphWindow : Window {
|
|
|
protected:
|
|
|
enum {
|
|
|
GRAPH_MAX_DATASETS = 32,
|
|
@@ -633,13 +635,13 @@ public:
|
|
|
/********************/
|
|
|
/* OPERATING PROFIT */
|
|
|
/********************/
|
|
|
|
|
|
struct OperatingProfitGraphWindow : BaseGraphWindow {
|
|
|
OperatingProfitGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
|
|
BaseGraphWindow(BGW_BACKGROUND, STR_JUST_CURRCOMPACT)
|
|
|
BaseGraphWindow(BGW_GRAPH, STR_JUST_CURRCOMPACT)
|
|
|
{
|
|
|
this->InitializeWindow(desc, window_number);
|
|
|
}
|
|
|
|
|
|
virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
|
|
|
{
|
|
@@ -652,13 +654,21 @@ static const NWidgetPart _nested_operati
|
|
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_OPERATING_PROFIT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND), SetMinimalSize(576, 160), EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 160), SetFill(1, 1), SetResize(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
|
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _operating_profit_desc(
|
|
|
WDP_AUTO, 0, 0,
|
|
|
WC_OPERATING_PROFIT, WC_NONE,
|
|
|
WDF_UNCLICK_BUTTONS,
|
|
@@ -675,13 +685,13 @@ void ShowOperatingProfitGraph()
|
|
|
/****************/
|
|
|
/* INCOME GRAPH */
|
|
|
/****************/
|
|
|
|
|
|
struct IncomeGraphWindow : BaseGraphWindow {
|
|
|
IncomeGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
|
|
BaseGraphWindow(BGW_BACKGROUND, STR_JUST_CURRCOMPACT)
|
|
|
BaseGraphWindow(BGW_GRAPH, STR_JUST_CURRCOMPACT)
|
|
|
{
|
|
|
this->InitializeWindow(desc, window_number);
|
|
|
}
|
|
|
|
|
|
virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
|
|
|
{
|
|
@@ -694,13 +704,21 @@ static const NWidgetPart _nested_income_
|
|
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_INCOME_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND), SetMinimalSize(576, 128), EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
|
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
};
|
|
|
|
|
|
|
|
|
static const WindowDesc _income_graph_desc(
|
|
|
WDP_AUTO, 0, 0,
|
|
|
WC_INCOME_GRAPH, WC_NONE,
|
|
@@ -716,13 +734,13 @@ void ShowIncomeGraph()
|
|
|
/*******************/
|
|
|
/* DELIVERED CARGO */
|
|
|
/*******************/
|
|
|
|
|
|
struct DeliveredCargoGraphWindow : BaseGraphWindow {
|
|
|
DeliveredCargoGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
|
|
BaseGraphWindow(BGW_BACKGROUND, STR_JUST_COMMA)
|
|
|
BaseGraphWindow(BGW_GRAPH, STR_JUST_COMMA)
|
|
|
{
|
|
|
this->InitializeWindow(desc, window_number);
|
|
|
}
|
|
|
|
|
|
virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
|
|
|
{
|
|
@@ -735,13 +753,21 @@ static const NWidgetPart _nested_deliver
|
|
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_CARGO_DELIVERED_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND), SetMinimalSize(576, 128), EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
|
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _delivered_cargo_graph_desc(
|
|
|
WDP_AUTO, 0, 0,
|
|
|
WC_DELIVERED_CARGO, WC_NONE,
|
|
|
WDF_UNCLICK_BUTTONS,
|
|
@@ -759,17 +785,19 @@ void ShowDeliveredCargoGraph()
|
|
|
|
|
|
/** Widget numbers of the performance history window. */
|
|
|
enum PerformanceHistoryGraphWidgets {
|
|
|
PHW_KEY,
|
|
|
PHW_DETAILED_PERFORMANCE,
|
|
|
PHW_BACKGROUND,
|
|
|
PHW_GRAPH,
|
|
|
PHW_RESIZE,
|
|
|
};
|
|
|
|
|
|
struct PerformanceHistoryGraphWindow : BaseGraphWindow {
|
|
|
PerformanceHistoryGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
|
|
BaseGraphWindow(PHW_BACKGROUND, STR_JUST_COMMA)
|
|
|
BaseGraphWindow(PHW_GRAPH, STR_JUST_COMMA)
|
|
|
{
|
|
|
this->InitializeWindow(desc, window_number);
|
|
|
}
|
|
|
|
|
|
virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
|
|
|
{
|
|
@@ -789,13 +817,21 @@ static const NWidgetPart _nested_perform
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, PHW_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, PHW_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, PHW_BACKGROUND), SetMinimalSize(576, 224), EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, PHW_BACKGROUND),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, PHW_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
|
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY, PHW_RESIZE),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _performance_history_desc(
|
|
|
WDP_AUTO, 0, 0,
|
|
|
WC_PERFORMANCE_HISTORY, WC_NONE,
|
|
|
WDF_UNCLICK_BUTTONS,
|
|
@@ -810,13 +846,13 @@ void ShowPerformanceHistoryGraph()
|
|
|
/*****************/
|
|
|
/* COMPANY VALUE */
|
|
|
/*****************/
|
|
|
|
|
|
struct CompanyValueGraphWindow : BaseGraphWindow {
|
|
|
CompanyValueGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
|
|
|
BaseGraphWindow(BGW_BACKGROUND, STR_JUST_CURRCOMPACT)
|
|
|
BaseGraphWindow(BGW_GRAPH, STR_JUST_CURRCOMPACT)
|
|
|
{
|
|
|
this->InitializeWindow(desc, window_number);
|
|
|
}
|
|
|
|
|
|
virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
|
|
|
{
|
|
@@ -829,13 +865,21 @@ static const NWidgetPart _nested_company
|
|
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_COMPANY_VALUES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, BGW_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND), SetMinimalSize(576, 224), EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, BGW_BACKGROUND),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, BGW_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1),
|
|
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY, BGW_RESIZE),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _company_value_graph_desc(
|
|
|
WDP_AUTO, 0, 0,
|
|
|
WC_COMPANY_VALUE, WC_NONE,
|
|
|
WDF_UNCLICK_BUTTONS,
|
|
@@ -853,12 +897,13 @@ void ShowCompanyValueGraph()
|
|
|
|
|
|
/** Widget numbers of the cargo payment rates. */
|
|
|
enum CargoPaymentRatesWidgets {
|
|
|
CPW_BACKGROUND,
|
|
|
CPW_HEADER,
|
|
|
CPW_GRAPH,
|
|
|
CPW_RESIZE,
|
|
|
CPW_FOOTER,
|
|
|
CPW_ENABLE_CARGOS,
|
|
|
CPW_DISABLE_CARGOS,
|
|
|
CPW_CARGO_FIRST,
|
|
|
};
|
|
|
|
|
@@ -1039,36 +1084,35 @@ static const NWidgetPart _nested_cargo_p
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, CPW_BACKGROUND), SetMinimalSize(568, 128), SetResize(0, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0),
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY, CPW_HEADER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_TITLE, STR_NULL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0),
|
|
|
NWidget(WWT_PANEL, COLOUR_GREY, CPW_BACKGROUND), SetMinimalSize(568, 128),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY, CPW_HEADER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_TITLE, STR_NULL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
|
|
EndContainer(),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, CPW_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1), SetResize(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 0), SetResize(0, 1),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, CPW_ENABLE_CARGOS), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL), SetFill(1, 0),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, CPW_DISABLE_CARGOS), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL), SetFill(1, 0),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(0, 4),
|
|
|
NWidgetFunction(MakeCargoButtons),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1), SetResize(0, 1),
|
|
|
EndContainer(),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_EMPTY, COLOUR_GREY, CPW_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1),
|
|
|
NWidget(NWID_VERTICAL),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 0),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, CPW_ENABLE_CARGOS), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL), SetFill(1, 0),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, CPW_DISABLE_CARGOS), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL), SetFill(1, 0),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(0, 4), SetFill(0, 0),
|
|
|
NWidgetFunction(MakeCargoButtons),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1),
|
|
|
EndContainer(),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(5, 0), SetFill(0, 1),
|
|
|
EndContainer(),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0),
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY, CPW_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL, STR_NULL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0),
|
|
|
EndContainer(),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(5, 0), SetFill(0, 1), SetResize(0, 1),
|
|
|
EndContainer(),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(NWID_SPACER), SetMinimalSize(WD_RESIZEBOX_WIDTH, 0), SetFill(1, 0), SetResize(1, 0),
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY, CPW_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL, STR_NULL),
|
|
|
NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0),
|
|
|
NWidget(WWT_RESIZEBOX, COLOUR_GREY, CPW_RESIZE),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _cargo_payment_rates_desc(
|
|
|
WDP_AUTO, 0, 0,
|