Changeset - r12661:2deac14d6a7d
[Not reviewed]
master
0 1 0
alberth - 15 years ago 2009-08-08 22:26:45
alberth@openttd.org
(svn r17126) -Fix [FS#3096]: Initialize graph data from the constructor of the derived class.
1 file changed with 23 insertions and 9 deletions:
0 comments (0 inline, 0 general)
src/graph_gui.cpp
Show inline comments
 
@@ -398,9 +398,6 @@ protected:
 
		InvalidateWindow(WC_GRAPH_LEGEND, 0);
 
		this->num_vert_lines = 24;
 

	
 
		/* Initialise the dataset */
 
		this->OnTick();
 

	
 
		this->graph_location.left   = left;
 
		this->graph_location.right  = left + GRAPH_X_POSITION_BEGINNING + this->num_vert_lines * GRAPH_X_POSITION_SEPARATION - 1;
 

	
 
@@ -408,6 +405,14 @@ protected:
 
		this->graph_location.bottom = top + height - 1;
 
	}
 

	
 
	void InitializeWindow(const WindowDesc *desc)
 
	{
 
		this->FindWindowPlacementAndResize(desc);
 

	
 
		/* Initialise the dataset */
 
		this->UpdateStatistics(true);
 
	}
 

	
 
public:
 
	virtual void OnPaint()
 
	{
 
@@ -429,6 +434,15 @@ public:
 

	
 
	virtual void OnTick()
 
	{
 
		this->UpdateStatistics(false);
 
	}
 

	
 
	/**
 
	 * Update the statistics.
 
	 * @param initialize Initialize the data structure.
 
	 */
 
	void UpdateStatistics(bool initialize)
 
	{
 
		uint excluded_companies = _legend_excluded_companies;
 

	
 
		/* Exclude the companies which aren't valid */
 
@@ -449,7 +463,7 @@ public:
 
			mo += 12;
 
		}
 

	
 
		if (this->excluded_data == excluded_companies && this->num_on_x_axis == nums &&
 
		if (!initialize && this->excluded_data == excluded_companies && this->num_on_x_axis == nums &&
 
				this->year == yr && this->month == mo) {
 
			/* There's no reason to get new stats */
 
			return;
 
@@ -486,7 +500,7 @@ struct OperatingProfitGraphWindow : Base
 
	OperatingProfitGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
 
			BaseGraphWindow(desc, window_number, 2, 18, 136, true, STR_JUST_CURRCOMPACT)
 
	{
 
		this->FindWindowPlacementAndResize(desc);
 
		this->InitializeWindow(desc);
 
	}
 

	
 
	virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
 
@@ -534,7 +548,7 @@ struct IncomeGraphWindow : BaseGraphWind
 
	IncomeGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
 
			BaseGraphWindow(desc, window_number, 2, 18, 104, false, STR_JUST_CURRCOMPACT)
 
	{
 
		this->FindWindowPlacementAndResize(desc);
 
		this->InitializeWindow(desc);
 
	}
 

	
 
	virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
 
@@ -581,7 +595,7 @@ struct DeliveredCargoGraphWindow : BaseG
 
	DeliveredCargoGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
 
			BaseGraphWindow(desc, window_number, 2, 18, 104, false, STR_JUST_COMMA)
 
	{
 
		this->FindWindowPlacementAndResize(desc);
 
		this->InitializeWindow(desc);
 
	}
 

	
 
	virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
 
@@ -636,7 +650,7 @@ struct PerformanceHistoryGraphWindow : B
 
	PerformanceHistoryGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
 
			BaseGraphWindow(desc, window_number, 2, 18, 200, false, STR_JUST_COMMA)
 
	{
 
		this->FindWindowPlacementAndResize(desc);
 
		this->InitializeWindow(desc);
 
	}
 

	
 
	virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
 
@@ -690,7 +704,7 @@ struct CompanyValueGraphWindow : BaseGra
 
	CompanyValueGraphWindow(const WindowDesc *desc, WindowNumber window_number) :
 
			BaseGraphWindow(desc, window_number, 2, 18, 200, false, STR_JUST_CURRCOMPACT)
 
	{
 
		this->FindWindowPlacementAndResize(desc);
 
		this->InitializeWindow(desc);
 
	}
 

	
 
	virtual OverflowSafeInt64 GetGraphData(const Company *c, int j)
0 comments (0 inline, 0 general)