|
@@ -690,49 +690,49 @@ struct DepotWindow : Window {
|
|
|
}
|
|
|
/* Always have 1 empty row, so people can change the setting of the train */
|
|
|
this->vscroll.SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1);
|
|
|
this->hscroll.SetCount(max_width);
|
|
|
} else {
|
|
|
this->vscroll.SetCount((this->vehicle_list.Length() + this->hscroll.GetCapacity() - 1) / this->hscroll.GetCapacity());
|
|
|
}
|
|
|
|
|
|
/* Setup disabled buttons. */
|
|
|
TileIndex tile = this->window_number;
|
|
|
this->SetWidgetsDisabledState(!IsTileOwner(tile, _local_company),
|
|
|
DEPOT_WIDGET_STOP_ALL,
|
|
|
DEPOT_WIDGET_START_ALL,
|
|
|
DEPOT_WIDGET_SELL,
|
|
|
DEPOT_WIDGET_SELL_CHAIN,
|
|
|
DEPOT_WIDGET_SELL_ALL,
|
|
|
DEPOT_WIDGET_BUILD,
|
|
|
DEPOT_WIDGET_CLONE,
|
|
|
DEPOT_WIDGET_AUTOREPLACE,
|
|
|
WIDGET_LIST_END);
|
|
|
|
|
|
this->DrawWidgets();
|
|
|
}
|
|
|
|
|
|
virtual void OnClick(Point pt, int widget)
|
|
|
virtual void OnClick(Point pt, int widget, int click_count)
|
|
|
{
|
|
|
switch (widget) {
|
|
|
case DEPOT_WIDGET_MATRIX: { // List
|
|
|
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(DEPOT_WIDGET_MATRIX);
|
|
|
this->DepotClick(pt.x - nwi->pos_x, pt.y - nwi->pos_y);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case DEPOT_WIDGET_BUILD: // Build vehicle
|
|
|
ResetObjectToPlace();
|
|
|
ShowBuildVehicleWindow(this->window_number, this->type);
|
|
|
break;
|
|
|
|
|
|
case DEPOT_WIDGET_CLONE: // Clone button
|
|
|
this->SetWidgetDirty(DEPOT_WIDGET_CLONE);
|
|
|
this->ToggleWidgetLoweredState(DEPOT_WIDGET_CLONE);
|
|
|
|
|
|
if (this->IsWidgetLowered(DEPOT_WIDGET_CLONE)) {
|
|
|
static const CursorID clone_icons[] = {
|
|
|
SPR_CURSOR_CLONE_TRAIN, SPR_CURSOR_CLONE_ROADVEH,
|
|
|
SPR_CURSOR_CLONE_SHIP, SPR_CURSOR_CLONE_AIRPLANE
|
|
|
};
|
|
|
|
|
|
_place_clicked_vehicle = NULL;
|