Changeset - r15735:f28325f49ee0
[Not reviewed]
master
0 1 0
alberth - 14 years ago 2010-08-08 11:02:57
alberth@openttd.org
(svn r20412) -Codechange: Replace an if by a switch in IndustryCargoesWindow::OnClick.
1 file changed with 25 insertions and 22 deletions:
0 comments (0 inline, 0 general)
src/industry_gui.cpp
Show inline comments
 
@@ -2346,33 +2346,36 @@ struct IndustryCargoesWindow : public Wi
 

	
 
	virtual void OnClick(Point pt, int widget, int click_count)
 
	{
 
		if (widget != ICW_PANEL) return;
 
		switch (widget) {
 
			case ICW_PANEL: {
 
				Point fieldxy, xy;
 
				if (!CalculatePositionInWidget(pt, &fieldxy, &xy)) return;
 

	
 
		Point fieldxy, xy;
 
		if (!CalculatePositionInWidget(pt, &fieldxy, &xy)) return;
 
				const CargoesField *fld = this->fields[fieldxy.y].columns + fieldxy.x;
 
				switch (fld->type) {
 
					case CFT_INDUSTRY:
 
						if (fld->u.industry.ind_type < NUM_INDUSTRYTYPES) this->ComputeIndustryDisplay(fld->u.industry.ind_type);
 
						break;
 

	
 
		const CargoesField *fld = this->fields[fieldxy.y].columns + fieldxy.x;
 
		switch (fld->type) {
 
			case CFT_INDUSTRY:
 
				if (fld->u.industry.ind_type < NUM_INDUSTRYTYPES) this->ComputeIndustryDisplay(fld->u.industry.ind_type);
 
				break;
 
					case CFT_CARGO: {
 
						CargoesField *lft = (fieldxy.x > 0) ? this->fields[fieldxy.y].columns + fieldxy.x - 1 : NULL;
 
						CargoesField *rgt = (fieldxy.x < 4) ? this->fields[fieldxy.y].columns + fieldxy.x + 1 : NULL;
 
						CargoID cid = fld->CargoClickedAt(lft, rgt, xy);
 
						if (cid != INVALID_CARGO) this->ComputeCargoDisplay(cid);
 
						break;
 
					}
 

	
 
			case CFT_CARGO: {
 
				CargoesField *lft = (fieldxy.x > 0) ? this->fields[fieldxy.y].columns + fieldxy.x - 1 : NULL;
 
				CargoesField *rgt = (fieldxy.x < 4) ? this->fields[fieldxy.y].columns + fieldxy.x + 1 : NULL;
 
				CargoID cid = fld->CargoClickedAt(lft, rgt, xy);
 
				if (cid != INVALID_CARGO) this->ComputeCargoDisplay(cid);
 
					case CFT_CARGO_LABEL: {
 
						CargoID cid = fld->CargoLabelClickedAt(xy);
 
						if (cid != INVALID_CARGO) this->ComputeCargoDisplay(cid);
 
						break;
 
					}
 

	
 
					default:
 
						break;
 
				}
 
				break;
 
			}
 

	
 
			case CFT_CARGO_LABEL: {
 
				CargoID cid = fld->CargoLabelClickedAt(xy);
 
				if (cid != INVALID_CARGO) this->ComputeCargoDisplay(cid);
 
				break;
 
			}
 

	
 
			default:
 
				break;
 
		}
 
	}
 

	
0 comments (0 inline, 0 general)