roadveh_gui.c
changeset 4790 04df6a3f9b31
parent 4712 273ec3b182bf
child 4793 7a219fdda461
equal deleted inserted replaced
4789:e7d51760156b 4790:04df6a3f9b31
   414 	SetVScrollCount(w, count);
   414 	SetVScrollCount(w, count);
   415 
   415 
   416 	DrawWindowWidgets(w);
   416 	DrawWindowWidgets(w);
   417 
   417 
   418 	y = 15;
   418 	y = 15;
   419 	sel = WP(w,buildtrain_d).sel_index;
   419 	sel = WP(w,buildvehicle_d).sel_index;
   420 	pos = w->vscroll.pos;
   420 	pos = w->vscroll.pos;
   421 	selected_id = INVALID_ENGINE;
   421 	selected_id = INVALID_ENGINE;
   422 	for (e = ROAD_ENGINES_INDEX; e < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; e++) {
   422 	for (e = ROAD_ENGINES_INDEX; e < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; e++) {
   423 		if (!HASBIT(GetEngine(e)->player_avail, _local_player)) continue;
   423 		if (!HASBIT(GetEngine(e)->player_avail, _local_player)) continue;
   424 		if (sel == 0) selected_id = e;
   424 		if (sel == 0) selected_id = e;
   428 			y += 14;
   428 			y += 14;
   429 		}
   429 		}
   430 		sel--;
   430 		sel--;
   431 	}
   431 	}
   432 
   432 
   433 	WP(w,buildtrain_d).sel_engine = selected_id;
   433 	WP(w,buildvehicle_d).sel_engine = selected_id;
   434 	if (selected_id != INVALID_ENGINE) {
   434 	if (selected_id != INVALID_ENGINE) {
   435 		DrawRoadVehPurchaseInfo(2, w->widget[4].top + 1, selected_id);
   435 		DrawRoadVehPurchaseInfo(2, w->widget[4].top + 1, selected_id);
   436 	}
   436 	}
   437 }
   437 }
   438 
   438 
   460 	case WE_CLICK:
   460 	case WE_CLICK:
   461 		switch (e->we.click.widget) {
   461 		switch (e->we.click.widget) {
   462 		case 2: { /* listbox */
   462 		case 2: { /* listbox */
   463 			uint i = (e->we.click.pt.y - 14) / 14;
   463 			uint i = (e->we.click.pt.y - 14) / 14;
   464 			if (i < w->vscroll.cap) {
   464 			if (i < w->vscroll.cap) {
   465 				WP(w,buildtrain_d).sel_index = i + w->vscroll.pos;
   465 				WP(w,buildvehicle_d).sel_index = i + w->vscroll.pos;
   466 				SetWindowDirty(w);
   466 				SetWindowDirty(w);
   467 			}
   467 			}
   468 		} break;
   468 		} break;
   469 
   469 
   470 		case 5: { /* build */
   470 		case 5: { /* build */
   471 			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
   471 			EngineID sel_eng = WP(w,buildvehicle_d).sel_engine;
   472 			if (sel_eng != INVALID_ENGINE)
   472 			if (sel_eng != INVALID_ENGINE)
   473 				DoCommandP(w->window_number, sel_eng, 0, CcBuildRoadVeh, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_9009_CAN_T_BUILD_ROAD_VEHICLE));
   473 				DoCommandP(w->window_number, sel_eng, 0, CcBuildRoadVeh, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_9009_CAN_T_BUILD_ROAD_VEHICLE));
   474 		} break;
   474 		} break;
   475 
   475 
   476 		case 6: { /* rename */
   476 		case 6: { /* rename */
   477 			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
   477 			EngineID sel_eng = WP(w,buildvehicle_d).sel_engine;
   478 			if (sel_eng != INVALID_ENGINE) {
   478 			if (sel_eng != INVALID_ENGINE) {
   479 				WP(w,buildtrain_d).rename_engine = sel_eng;
   479 				WP(w,buildvehicle_d).rename_engine = sel_eng;
   480 				ShowQueryString(GetCustomEngineName(sel_eng),
   480 				ShowQueryString(GetCustomEngineName(sel_eng),
   481 					STR_9036_RENAME_ROAD_VEHICLE_TYPE, 31, 160, w->window_class, w->window_number, CS_ALPHANUMERAL);
   481 					STR_9036_RENAME_ROAD_VEHICLE_TYPE, 31, 160, w->window_class, w->window_number, CS_ALPHANUMERAL);
   482 			}
   482 			}
   483 		}	break;
   483 		}	break;
   484 		}
   484 		}
   485 		break;
   485 		break;
   486 
   486 
   487 	case WE_ON_EDIT_TEXT:
   487 	case WE_ON_EDIT_TEXT:
   488 		if (e->we.edittext.str[0] != '\0') {
   488 		if (e->we.edittext.str[0] != '\0') {
   489 			_cmd_text = e->we.edittext.str;
   489 			_cmd_text = e->we.edittext.str;
   490 			DoCommandP(0, WP(w, buildtrain_d).rename_engine, 0, NULL,
   490 			DoCommandP(0, WP(w, buildvehicle_d).rename_engine, 0, NULL,
   491 				CMD_RENAME_ENGINE | CMD_MSG(STR_9037_CAN_T_RENAME_ROAD_VEHICLE));
   491 				CMD_RENAME_ENGINE | CMD_MSG(STR_9037_CAN_T_RENAME_ROAD_VEHICLE));
   492 		}
   492 		}
   493 		break;
   493 		break;
   494 
   494 
   495 	case WE_RESIZE: {
   495 	case WE_RESIZE: {