Changeset - r11617:a1533d2c4d03
[Not reviewed]
master
0 1 0
alberth - 15 years ago 2009-04-09 11:22:36
alberth@openttd.org
(svn r16002) -Codechange: Added nested widgets for company league window
1 file changed with 17 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/graph_gui.cpp
Show inline comments
 
@@ -874,62 +874,78 @@ public:
 
			SetDParam(3, GetPerformanceTitleFromValue(c->old_economy[1].performance_history));
 

	
 
			DrawString(2, this->width, 15 + i * 10, i == 0 ? STR_7054 : STR_7055, TC_FROMSTRING);
 
			DrawCompanyIcon(c->index, 27, 16 + i * 10);
 
		}
 
	}
 

	
 
	virtual void OnTick()
 
	{
 
		if (this->companies.NeedResort()) {
 
			this->SetDirty();
 
		}
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		if (data == 0) {
 
			this->companies.ForceRebuild();
 
		} else {
 
			this->companies.ForceResort();
 
		}
 
	}
 
};
 

	
 
/** Widget numbers for the company league window. */
 
enum CompanyLeagueWidgets {
 
	CLW_CLOSEBOX,
 
	CLW_CAPTION,
 
	CLW_STICKYBOX,
 
	CLW_BACKGROUND,
 
};
 

	
 
static const Widget _company_league_widgets[] = {
 
{   WWT_CLOSEBOX, RESIZE_NONE,  COLOUR_GREY,   0,  10,  0,  13, STR_00C5,                      STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION, RESIZE_NONE,  COLOUR_GREY,  11, 387,  0,  13, STR_7053_COMPANY_LEAGUE_TABLE, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX, RESIZE_NONE,  COLOUR_GREY, 388, 399,  0,  13, STR_NULL,                      STR_STICKY_BUTTON},
 
{      WWT_PANEL, RESIZE_NONE,  COLOUR_GREY,   0, 399, 14, 166, 0x0,                           STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
static const NWidgetPart _nested_company_league_widgets[] = {
 
	NWidget(NWID_HORIZONTAL),
 
		NWidget(WWT_CLOSEBOX, COLOUR_GREY, CLW_CLOSEBOX),
 
		NWidget(WWT_CAPTION, COLOUR_GREY, CLW_CAPTION), SetDataTip(STR_7053_COMPANY_LEAGUE_TABLE, STR_018C_WINDOW_TITLE_DRAG_THIS),
 
		NWidget(WWT_STICKYBOX, COLOUR_GREY, CLW_STICKYBOX),
 
	EndContainer(),
 
	NWidget(WWT_PANEL, COLOUR_GREY, CLW_BACKGROUND), SetMinimalSize(400, 153),
 
};
 

	
 
static const WindowDesc _company_league_desc(
 
	WDP_AUTO, WDP_AUTO, 400, 167, 400, 167,
 
	WC_COMPANY_LEAGUE, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
 
	_company_league_widgets
 
	_company_league_widgets, _nested_company_league_widgets, lengthof(_nested_company_league_widgets)
 
);
 

	
 
void ShowCompanyLeagueTable()
 
{
 
	AllocateWindowDescFront<CompanyLeagueWindow>(&_company_league_desc, 0);
 
}
 

	
 
/*****************************/
 
/* PERFORMANCE RATING DETAIL */
 
/*****************************/
 

	
 
struct PerformanceRatingDetailWindow : Window {
 
private:
 
	enum PerformanteRatingWidgets {
 
		PRW_COMPANY_FIRST = 13,
 
		PRW_COMPANY_LAST  = PRW_COMPANY_FIRST + MAX_COMPANIES - 1,
 
	};
 

	
 
public:
 
	static CompanyID company;
 
	int timeout;
 

	
 
	PerformanceRatingDetailWindow(const WindowDesc *desc, WindowNumber window_number) : Window(desc, window_number)
 
	{
0 comments (0 inline, 0 general)