30 #include "table/strings.h" 
   43     default: NOT_REACHED();
 
   44     case VEH_ROAD:              
return STR_ENGINE_PREVIEW_ROAD_VEHICLE;
 
   46     case VEH_SHIP:              
return STR_ENGINE_PREVIEW_SHIP;
 
   52 static const NWidgetPart _nested_engine_preview_widgets[] = {
 
   58     NWidget(
WWT_EMPTY, INVALID_COLOUR, 
WID_EP_QUESTION), 
SetMinimalSize(300, 0), 
SetPadding(8, 8, 8, 8), 
SetFill(1, 0),
 
   90       default: NOT_REACHED();
 
   96     this->vehicle_space = max<int>(40, y - y_offs);
 
   98     size->width = 
max(size->width, x - x_offs);
 
  111     int y = r.top + 
GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, r.right - r.top + 1);
 
  120     y += this->vehicle_space;
 
  138     if (!gui_scope) 
return;
 
  149   _nested_engine_preview_widgets, 
lengthof(_nested_engine_preview_widgets)
 
  153 void ShowEnginePreviewWindow(
EngineID engine)
 
  155   AllocateWindowDescFront<EnginePreviewWindow>(&_engine_preview_desc, engine);
 
  166   return cap.
GetSum<uint>();
 
  192   uint16 mail_capacity;
 
  203   if (mail_capacity > 0) {
 
  207     return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST;
 
  210     return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST;
 
  227     return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST;
 
  244     return STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE;
 
  255   return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST;
 
  271       return GetTrainEngineInfoString(e);
 
  274       return GetRoadVehEngineInfoString(e);
 
  277       return GetShipEngineInfoString(e);
 
  280       return GetAircraftEngineInfoString(e);
 
  282     default: NOT_REACHED();
 
  301       DrawTrainEngine(left, right, preferred_x, y, engine, pal, image_type);
 
  309       DrawShipEngine(left, right, preferred_x, y, engine, pal, image_type);
 
  313       DrawAircraftEngine(left, right, preferred_x, y, engine, pal, image_type);
 
  316     default: NOT_REACHED();
 
  330   if (size < 2) 
return;
 
  343   if (num_items < 2) 
return;
 
  344   assert(begin < el->Length());
 
  345   assert(begin + num_items <= el->Length());
 
  346   QSortT(el->
Get(begin), num_items, compare);