src/airport_gui.cpp
changeset 10560 0cf0a95ebaf9
parent 10483 200609cedea9
child 10590 e96b16b574a7
equal deleted inserted replaced
10559:0e5480e9af1e 10560:0cf0a95ebaf9
   100 			break;
   100 			break;
   101 
   101 
   102 		case WE_ABORT_PLACE_OBJ:
   102 		case WE_ABORT_PLACE_OBJ:
   103 			w->RaiseButtons();
   103 			w->RaiseButtons();
   104 
   104 
   105 			w = FindWindowById(WC_BUILD_STATION, 0);
   105 			delete FindWindowById(WC_BUILD_STATION, 0);
   106 			if (w != 0)
       
   107 				WP(w, def_d).close = true;
       
   108 			break;
   106 			break;
   109 
   107 
   110 		case WE_DESTROY:
   108 		case WE_DESTROY:
   111 			if (_patches.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0);
   109 			if (_patches.link_terraform_toolbar) DeleteWindowById(WC_SCEN_LAND_GEN, 0);
   112 			break;
   110 			break;
   169 		case WE_PAINT: {
   167 		case WE_PAINT: {
   170 			int i; // airport enabling loop
   168 			int i; // airport enabling loop
   171 			uint32 avail_airports;
   169 			uint32 avail_airports;
   172 			const AirportFTAClass *airport;
   170 			const AirportFTAClass *airport;
   173 
   171 
   174 			if (WP(w, def_d).close) return;
       
   175 
       
   176 			avail_airports = GetValidAirports();
   172 			avail_airports = GetValidAirports();
   177 
   173 
   178 			w->RaiseWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
   174 			w->RaiseWidget(_selected_airport_type + BAW_SMALL_AIRPORT);
   179 			if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE;
   175 			if (!HasBit(avail_airports, 0) && _selected_airport_type == AT_SMALL) _selected_airport_type = AT_LARGE;
   180 			if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL;
   176 			if (!HasBit(avail_airports, 1) && _selected_airport_type == AT_LARGE) _selected_airport_type = AT_SMALL;
   228 					w->SetDirty();
   224 					w->SetDirty();
   229 					break;
   225 					break;
   230 			}
   226 			}
   231 		} break;
   227 		} break;
   232 
   228 
   233 		case WE_TICK: {
   229 		case WE_TICK:
   234 			if (WP(w, def_d).close) {
       
   235 				delete w;
       
   236 				return;
       
   237 			}
       
   238 
       
   239 			CheckRedrawStationCoverage(w);
   230 			CheckRedrawStationCoverage(w);
   240 		} break;
   231 			break;
   241 
   232 
   242 		case WE_DESTROY:
   233 		case WE_DESTROY:
   243 			if (!WP(w, def_d).close) ResetObjectToPlace();
   234 			ResetObjectToPlace();
   244 			break;
   235 			break;
   245 	}
   236 	}
   246 }
   237 }
   247 
   238 
   248 static const Widget _build_airport_picker_widgets[] = {
   239 static const Widget _build_airport_picker_widgets[] = {