src/road_gui.cpp
branchcpp_gui
changeset 6308 646711c5feaa
parent 6307 f40e88cff863
equal deleted inserted replaced
6307:f40e88cff863 6308:646711c5feaa
   225 		w->DrawWidgets();
   225 		w->DrawWidgets();
   226 		break;
   226 		break;
   227 
   227 
   228 	case WE_CLICK: {
   228 	case WE_CLICK: {
   229 		if (e->we.click.widget >= 3) _build_road_button_proc[e->we.click.widget - 3](w);
   229 		if (e->we.click.widget >= 3) _build_road_button_proc[e->we.click.widget - 3](w);
   230 	}	break;
   230 	} break;
   231 
   231 
   232 	case WE_KEYPRESS:
   232 	case WE_KEYPRESS:
   233 		switch (e->we.keypress.keycode) {
   233 		switch (e->we.keypress.keycode) {
   234 			case '1': BuildRoadClick_NE(w);           break;
   234 			case '1': BuildRoadClick_NE(w);           break;
   235 			case '2': BuildRoadClick_NW(w);           break;
   235 			case '2': BuildRoadClick_NW(w);           break;
   255 		w->RaiseButtons();
   255 		w->RaiseButtons();
   256 		w->DisableWidget(RTW_REMOVE);
   256 		w->DisableWidget(RTW_REMOVE);
   257 		w->InvalidateWidget(RTW_REMOVE);
   257 		w->InvalidateWidget(RTW_REMOVE);
   258 
   258 
   259 		w = BaseWindow::FindById(WC_BUS_STATION, 0);
   259 		w = BaseWindow::FindById(WC_BUS_STATION, 0);
   260 		if (w != NULL) WP(w,def_d).close = true;
   260 		if (w != NULL) WP(w, def_d).close = true;
   261 		w = BaseWindow::FindById(WC_TRUCK_STATION, 0);
   261 		w = BaseWindow::FindById(WC_TRUCK_STATION, 0);
   262 		if (w != NULL) WP(w,def_d).close = true;
   262 		if (w != NULL) WP(w, def_d).close = true;
   263 		w = BaseWindow::FindById(WC_BUILD_DEPOT, 0);
   263 		w = BaseWindow::FindById(WC_BUILD_DEPOT, 0);
   264 		if (w != NULL) WP(w,def_d).close = true;
   264 		if (w != NULL) WP(w, def_d).close = true;
   265 		break;
   265 		break;
   266 
   266 
   267 	case WE_PLACE_DRAG: {
   267 	case WE_PLACE_DRAG: {
   268 		int sel_method;
   268 		int sel_method;
   269 		switch (e->we.place.userdata) {
   269 		switch (e->we.place.userdata) {
   409 			w->LowerWidget(_road_depot_orientation + 3);
   409 			w->LowerWidget(_road_depot_orientation + 3);
   410 			SndPlayFx(SND_15_BEEP);
   410 			SndPlayFx(SND_15_BEEP);
   411 			w->SetDirty();
   411 			w->SetDirty();
   412 			break;
   412 			break;
   413 		}
   413 		}
   414 	}	break;
   414 	} break;
   415 
   415 
   416 	case WE_MOUSELOOP:
   416 	case WE_MOUSELOOP:
   417 		if (WP(w,def_d).close) w->Close();
   417 		if (WP(w, def_d).close) w->Close();
   418 		break;
   418 		break;
   419 
   419 
   420 	case WE_DESTROY:
   420 	case WE_DESTROY:
   421 		if (!WP(w,def_d).close) ResetObjectToPlace();
   421 		if (!WP(w, def_d).close) ResetObjectToPlace();
   422 		break;
   422 		break;
   423 	}
   423 	}
   424 }
   424 }
   425 
   425 
   426 static const OldWidget _build_road_depot_widgets[] = {
   426 static const OldWidget _build_road_depot_widgets[] = {
   456 		break;
   456 		break;
   457 
   457 
   458 	case WE_PAINT: {
   458 	case WE_PAINT: {
   459 		int image;
   459 		int image;
   460 
   460 
   461 		if (WP(w,def_d).close) return;
   461 		if (WP(w, def_d).close) return;
   462 
   462 
   463 		w->DrawWidgets();
   463 		w->DrawWidgets();
   464 
   464 
   465 		if (_station_show_coverage) {
   465 		if (_station_show_coverage) {
   466 			int rad = _patches.modified_catchment ? CA_TRUCK /* = CA_BUS */ : 4;
   466 			int rad = _patches.modified_catchment ? CA_TRUCK /* = CA_BUS */ : 4;
   470 		}
   470 		}
   471 
   471 
   472 		image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE : GFX_TRUCK_BASE;
   472 		image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE : GFX_TRUCK_BASE;
   473 
   473 
   474 		StationPickerDrawSprite(103, 35, RAILTYPE_BEGIN, image);
   474 		StationPickerDrawSprite(103, 35, RAILTYPE_BEGIN, image);
   475 		StationPickerDrawSprite(103, 85, RAILTYPE_BEGIN, image+1);
   475 		StationPickerDrawSprite(103, 85, RAILTYPE_BEGIN, image + 1);
   476 		StationPickerDrawSprite(35, 85, RAILTYPE_BEGIN, image+2);
   476 		StationPickerDrawSprite(35, 85, RAILTYPE_BEGIN, image + 2);
   477 		StationPickerDrawSprite(35, 35, RAILTYPE_BEGIN, image+3);
   477 		StationPickerDrawSprite(35, 35, RAILTYPE_BEGIN, image + 3);
   478 
   478 
   479 		image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE_EXT : GFX_TRUCK_BASE_EXT;
   479 		image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE_EXT : GFX_TRUCK_BASE_EXT;
   480 
   480 
   481 		StationPickerDrawSprite(171, 35, RAILTYPE_BEGIN, image);
   481 		StationPickerDrawSprite(171, 35, RAILTYPE_BEGIN, image);
   482 		StationPickerDrawSprite(171, 85, RAILTYPE_BEGIN, image + 1);
   482 		StationPickerDrawSprite(171, 85, RAILTYPE_BEGIN, image + 1);
   483 
   483 
   484 		DrawStationCoverageAreaText(2, 146,
   484 		DrawStationCoverageAreaText(2, 146,
   485 			((w->window_class == WC_BUS_STATION) ? (1<<CT_PASSENGERS) : ~(1<<CT_PASSENGERS)),
   485 			((w->window_class == WC_BUS_STATION) ? (1 << CT_PASSENGERS) : ~(1 << CT_PASSENGERS)),
   486 			3);
   486 			3);
   487 
   487 
   488 	} break;
   488 	} break;
   489 
   489 
   490 	case WE_CLICK: {
   490 	case WE_CLICK: {
   505 			break;
   505 			break;
   506 		}
   506 		}
   507 	} break;
   507 	} break;
   508 
   508 
   509 	case WE_MOUSELOOP: {
   509 	case WE_MOUSELOOP: {
   510 		if (WP(w,def_d).close) {
   510 		if (WP(w, def_d).close) {
   511 			w->Close();
   511 			w->Close();
   512 			return;
   512 			return;
   513 		}
   513 		}
   514 
   514 
   515 		CheckRedrawStationCoverage(w);
   515 		CheckRedrawStationCoverage(w);
   516 	} break;
   516 	} break;
   517 
   517 
   518 	case WE_DESTROY:
   518 	case WE_DESTROY:
   519 		if (!WP(w,def_d).close) ResetObjectToPlace();
   519 		if (!WP(w, def_d).close) ResetObjectToPlace();
   520 		break;
   520 		break;
   521 	}
   521 	}
   522 }
   522 }
   523 
   523 
   524 static const OldWidget _bus_station_picker_widgets[] = {
   524 static const OldWidget _bus_station_picker_widgets[] = {