mirror of https://github.com/OpenTTD/OpenTTD
(svn r23539) -Codechange: prevent conflict between widget naming of (vehicle) depots and vehicle details
parent
5ade484ce4
commit
b8640b986f
|
@ -44,37 +44,37 @@
|
|||
static const NWidgetPart _nested_train_depot_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_VD_CAPTION), SetDataTip(STR_DEPOT_CAPTION, STR_NULL),
|
||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_D_CAPTION), SetDataTip(STR_DEPOT_CAPTION, STR_NULL),
|
||||
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
||||
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_VD_MATRIX), SetDataTip(0x0, STR_NULL), SetResize(1, 1), SetScrollbar(WID_VD_V_SCROLL),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VD_SHOW_H_SCROLL),
|
||||
NWidget(NWID_HSCROLLBAR, COLOUR_GREY, WID_VD_H_SCROLL),
|
||||
NWidget(WWT_MATRIX, COLOUR_GREY, WID_D_MATRIX), SetDataTip(0x0, STR_NULL), SetResize(1, 1), SetScrollbar(WID_D_V_SCROLL),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_D_SHOW_H_SCROLL),
|
||||
NWidget(NWID_HSCROLLBAR, COLOUR_GREY, WID_D_H_SCROLL),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_VD_SELL), SetDataTip(0x0, STR_NULL), SetResize(0, 1), SetFill(0, 1),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VD_SHOW_SELL_CHAIN),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_VD_SELL_CHAIN), SetDataTip(SPR_SELL_CHAIN_TRAIN, STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP), SetResize(0, 1), SetFill(0, 1),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_D_SELL), SetDataTip(0x0, STR_NULL), SetResize(0, 1), SetFill(0, 1),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_D_SHOW_SELL_CHAIN),
|
||||
NWidget(WWT_IMGBTN, COLOUR_GREY, WID_D_SELL_CHAIN), SetDataTip(SPR_SELL_CHAIN_TRAIN, STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP), SetResize(0, 1), SetFill(0, 1),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_SELL_ALL), SetDataTip(0x0, STR_NULL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_AUTOREPLACE), SetDataTip(0x0, STR_NULL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_D_SELL_ALL), SetDataTip(0x0, STR_NULL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_D_AUTOREPLACE), SetDataTip(0x0, STR_NULL),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_VD_V_SCROLL),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_D_V_SCROLL),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_BUILD), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_VD_CLONE), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_LOCATION), SetDataTip(STR_BUTTON_LOCATION, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VD_SHOW_RENAME), // rename button
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_RENAME), SetDataTip(STR_BUTTON_RENAME, STR_DEPOT_RENAME_TOOLTIP), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_D_BUILD), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_D_CLONE), SetDataTip(0x0, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_D_LOCATION), SetDataTip(STR_BUTTON_LOCATION, STR_NULL), SetFill(1, 1), SetResize(1, 0),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_D_SHOW_RENAME), // rename button
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_D_RENAME), SetDataTip(STR_BUTTON_RENAME, STR_DEPOT_RENAME_TOOLTIP), SetFill(1, 1), SetResize(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VD_VEHICLE_LIST), SetDataTip(0x0, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_STOP_ALL), SetDataTip(SPR_FLAG_VEH_STOPPED, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_VD_START_ALL), SetDataTip(SPR_FLAG_VEH_RUNNING, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_D_VEHICLE_LIST), SetDataTip(0x0, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_D_STOP_ALL), SetDataTip(SPR_FLAG_VEH_STOPPED, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_D_START_ALL), SetDataTip(SPR_FLAG_VEH_RUNNING, STR_NULL), SetFill(0, 1),
|
||||
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
|
||||
EndContainer(),
|
||||
};
|
||||
|
@ -144,7 +144,7 @@ static void TrainDepotMoveVehicle(const Vehicle *wagon, VehicleID sel, const Veh
|
|||
}
|
||||
|
||||
/**
|
||||
* Array containing the cell size in pixels of the #WID_VD_MATRIX widget for each vehicle type.
|
||||
* Array containing the cell size in pixels of the #WID_D_MATRIX widget for each vehicle type.
|
||||
* @note The train vehicle type uses the entire row for each train.
|
||||
*/
|
||||
static Dimension _base_block_sizes[4];
|
||||
|
@ -221,13 +221,13 @@ struct DepotWindow : Window {
|
|||
this->num_columns = 1; // for non-trains this gets set in FinishInitNested()
|
||||
|
||||
this->CreateNestedTree(desc);
|
||||
this->hscroll = (this->type == VEH_TRAIN ? this->GetScrollbar(WID_VD_H_SCROLL) : NULL);
|
||||
this->vscroll = this->GetScrollbar(WID_VD_V_SCROLL);
|
||||
this->hscroll = (this->type == VEH_TRAIN ? this->GetScrollbar(WID_D_H_SCROLL) : NULL);
|
||||
this->vscroll = this->GetScrollbar(WID_D_V_SCROLL);
|
||||
/* Don't show 'rename button' of aircraft hangar */
|
||||
this->GetWidget<NWidgetStacked>(WID_VD_SHOW_RENAME)->SetDisplayedPlane(type == VEH_AIRCRAFT ? SZSP_NONE : 0);
|
||||
this->GetWidget<NWidgetStacked>(WID_D_SHOW_RENAME)->SetDisplayedPlane(type == VEH_AIRCRAFT ? SZSP_NONE : 0);
|
||||
/* Only train depots have a horizontal scrollbar and a 'sell chain' button */
|
||||
this->GetWidget<NWidgetStacked>(WID_VD_SHOW_H_SCROLL)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetStacked>(WID_VD_SHOW_SELL_CHAIN)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_D_SHOW_H_SCROLL)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_HORIZONTAL);
|
||||
this->GetWidget<NWidgetStacked>(WID_D_SHOW_SELL_CHAIN)->SetDisplayedPlane(type == VEH_TRAIN ? 0 : SZSP_NONE);
|
||||
this->SetupWidgetData(type);
|
||||
this->FinishInitNested(desc, tile);
|
||||
|
||||
|
@ -310,12 +310,12 @@ struct DepotWindow : Window {
|
|||
|
||||
void DrawWidget(const Rect &r, int widget) const
|
||||
{
|
||||
if (widget != WID_VD_MATRIX) return;
|
||||
if (widget != WID_D_MATRIX) return;
|
||||
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
|
||||
/* Set the row and number of boxes in each row based on the number of boxes drawn in the matrix */
|
||||
uint16 mat_data = this->GetWidget<NWidgetCore>(WID_VD_MATRIX)->widget_data;
|
||||
uint16 mat_data = this->GetWidget<NWidgetCore>(WID_D_MATRIX)->widget_data;
|
||||
uint16 rows_in_display = GB(mat_data, MAT_ROW_START, MAT_ROW_BITS);
|
||||
uint16 boxes_in_each_row = GB(mat_data, MAT_COL_START, MAT_COL_BITS);
|
||||
|
||||
|
@ -346,7 +346,7 @@ struct DepotWindow : Window {
|
|||
|
||||
void SetStringParameters(int widget) const
|
||||
{
|
||||
if (widget != WID_VD_CAPTION) return;
|
||||
if (widget != WID_D_CAPTION) return;
|
||||
|
||||
/* locate the depot struct */
|
||||
TileIndex tile = this->window_number;
|
||||
|
@ -368,7 +368,7 @@ struct DepotWindow : Window {
|
|||
|
||||
DepotGUIAction GetVehicleFromDepotWndPt(int x, int y, const Vehicle **veh, GetDepotVehiclePtData *d) const
|
||||
{
|
||||
const NWidgetCore *matrix_widget = this->GetWidget<NWidgetCore>(WID_VD_MATRIX);
|
||||
const NWidgetCore *matrix_widget = this->GetWidget<NWidgetCore>(WID_D_MATRIX);
|
||||
/* In case of RTL the widgets are swapped as a whole */
|
||||
if (_current_text_dir == TD_RTL) x = matrix_widget->current_x - x;
|
||||
|
||||
|
@ -514,56 +514,56 @@ struct DepotWindow : Window {
|
|||
*/
|
||||
void SetupWidgetData(VehicleType type)
|
||||
{
|
||||
this->GetWidget<NWidgetCore>(WID_VD_STOP_ALL)->tool_tip = STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_START_ALL)->tool_tip = STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->tool_tip = STR_DEPOT_TRAIN_SELL_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->tool_tip = STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_STOP_ALL)->tool_tip = STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_START_ALL)->tool_tip = STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL)->tool_tip = STR_DEPOT_TRAIN_SELL_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL_ALL)->tool_tip = STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP + type;
|
||||
|
||||
this->GetWidget<NWidgetCore>(WID_VD_BUILD)->SetDataTip(STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON + type, STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP + type);
|
||||
this->GetWidget<NWidgetCore>(WID_VD_CLONE)->SetDataTip(STR_DEPOT_CLONE_TRAIN + type, STR_DEPOT_CLONE_TRAIN_DEPOT_INFO + type);
|
||||
this->GetWidget<NWidgetCore>(WID_D_BUILD)->SetDataTip(STR_DEPOT_TRAIN_NEW_VEHICLES_BUTTON + type, STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP + type);
|
||||
this->GetWidget<NWidgetCore>(WID_D_CLONE)->SetDataTip(STR_DEPOT_CLONE_TRAIN + type, STR_DEPOT_CLONE_TRAIN_DEPOT_INFO + type);
|
||||
|
||||
this->GetWidget<NWidgetCore>(WID_VD_LOCATION)->tool_tip = STR_DEPOT_TRAIN_LOCATION_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->tool_tip = STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->tool_tip = STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_MATRIX)->tool_tip = STR_DEPOT_TRAIN_LIST_TOOLTIP + this->type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_LOCATION)->tool_tip = STR_DEPOT_TRAIN_LOCATION_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_VEHICLE_LIST)->tool_tip = STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_AUTOREPLACE)->tool_tip = STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP + type;
|
||||
this->GetWidget<NWidgetCore>(WID_D_MATRIX)->tool_tip = STR_DEPOT_TRAIN_LIST_TOOLTIP + this->type;
|
||||
|
||||
switch (type) {
|
||||
default: NOT_REACHED();
|
||||
|
||||
case VEH_TRAIN:
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_D_VEHICLE_LIST)->widget_data = STR_TRAIN;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL)->widget_data = SPR_SELL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL_ALL)->widget_data = SPR_SELL_ALL_TRAIN;
|
||||
this->GetWidget<NWidgetCore>(WID_D_AUTOREPLACE)->widget_data = SPR_REPLACE_TRAIN;
|
||||
break;
|
||||
|
||||
case VEH_ROAD:
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_LORRY;
|
||||
this->GetWidget<NWidgetCore>(WID_D_VEHICLE_LIST)->widget_data = STR_LORRY;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL)->widget_data = SPR_SELL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL_ALL)->widget_data = SPR_SELL_ALL_ROADVEH;
|
||||
this->GetWidget<NWidgetCore>(WID_D_AUTOREPLACE)->widget_data = SPR_REPLACE_ROADVEH;
|
||||
break;
|
||||
|
||||
case VEH_SHIP:
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_D_VEHICLE_LIST)->widget_data = STR_SHIP;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL)->widget_data = SPR_SELL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL_ALL)->widget_data = SPR_SELL_ALL_SHIP;
|
||||
this->GetWidget<NWidgetCore>(WID_D_AUTOREPLACE)->widget_data = SPR_REPLACE_SHIP;
|
||||
break;
|
||||
|
||||
case VEH_AIRCRAFT:
|
||||
this->GetWidget<NWidgetCore>(WID_VD_VEHICLE_LIST)->widget_data = STR_PLANE;
|
||||
this->GetWidget<NWidgetCore>(WID_D_VEHICLE_LIST)->widget_data = STR_PLANE;
|
||||
|
||||
/* Sprites */
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL)->widget_data = SPR_SELL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_SELL_ALL)->widget_data = SPR_SELL_ALL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_VD_AUTOREPLACE)->widget_data = SPR_REPLACE_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL)->widget_data = SPR_SELL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_D_SELL_ALL)->widget_data = SPR_SELL_ALL_AIRCRAFT;
|
||||
this->GetWidget<NWidgetCore>(WID_D_AUTOREPLACE)->widget_data = SPR_REPLACE_AIRCRAFT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -576,7 +576,7 @@ struct DepotWindow : Window {
|
|||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VD_MATRIX: {
|
||||
case WID_D_MATRIX: {
|
||||
uint min_height = 0;
|
||||
|
||||
if (this->type == VEH_TRAIN) {
|
||||
|
@ -658,15 +658,15 @@ struct DepotWindow : Window {
|
|||
/* Setup disabled buttons. */
|
||||
TileIndex tile = this->window_number;
|
||||
this->SetWidgetsDisabledState(!IsTileOwner(tile, _local_company),
|
||||
WID_VD_STOP_ALL,
|
||||
WID_VD_START_ALL,
|
||||
WID_VD_SELL,
|
||||
WID_VD_SELL_CHAIN,
|
||||
WID_VD_SELL_ALL,
|
||||
WID_VD_BUILD,
|
||||
WID_VD_CLONE,
|
||||
WID_VD_RENAME,
|
||||
WID_VD_AUTOREPLACE,
|
||||
WID_D_STOP_ALL,
|
||||
WID_D_START_ALL,
|
||||
WID_D_SELL,
|
||||
WID_D_SELL_CHAIN,
|
||||
WID_D_SELL_ALL,
|
||||
WID_D_BUILD,
|
||||
WID_D_CLONE,
|
||||
WID_D_RENAME,
|
||||
WID_D_AUTOREPLACE,
|
||||
WIDGET_LIST_END);
|
||||
|
||||
this->DrawWidgets();
|
||||
|
@ -675,22 +675,22 @@ struct DepotWindow : Window {
|
|||
virtual void OnClick(Point pt, int widget, int click_count)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VD_MATRIX: { // List
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_VD_MATRIX);
|
||||
case WID_D_MATRIX: { // List
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_D_MATRIX);
|
||||
this->DepotClick(pt.x - nwi->pos_x, pt.y - nwi->pos_y);
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_VD_BUILD: // Build vehicle
|
||||
case WID_D_BUILD: // Build vehicle
|
||||
ResetObjectToPlace();
|
||||
ShowBuildVehicleWindow(this->window_number, this->type);
|
||||
break;
|
||||
|
||||
case WID_VD_CLONE: // Clone button
|
||||
this->SetWidgetDirty(WID_VD_CLONE);
|
||||
this->ToggleWidgetLoweredState(WID_VD_CLONE);
|
||||
case WID_D_CLONE: // Clone button
|
||||
this->SetWidgetDirty(WID_D_CLONE);
|
||||
this->ToggleWidgetLoweredState(WID_D_CLONE);
|
||||
|
||||
if (this->IsWidgetLowered(WID_VD_CLONE)) {
|
||||
if (this->IsWidgetLowered(WID_D_CLONE)) {
|
||||
static const CursorID clone_icons[] = {
|
||||
SPR_CURSOR_CLONE_TRAIN, SPR_CURSOR_CLONE_ROADVEH,
|
||||
SPR_CURSOR_CLONE_SHIP, SPR_CURSOR_CLONE_AIRPLANE
|
||||
|
@ -702,7 +702,7 @@ struct DepotWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case WID_VD_LOCATION:
|
||||
case WID_D_LOCATION:
|
||||
if (_ctrl_pressed) {
|
||||
ShowExtraViewPortWindow(this->window_number);
|
||||
} else {
|
||||
|
@ -710,20 +710,20 @@ struct DepotWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case WID_VD_RENAME: // Rename button
|
||||
case WID_D_RENAME: // Rename button
|
||||
SetDParam(0, this->type);
|
||||
SetDParam(1, Depot::GetByTile((TileIndex)this->window_number)->index);
|
||||
ShowQueryString(STR_DEPOT_NAME, STR_DEPOT_RENAME_DEPOT_CAPTION, MAX_LENGTH_DEPOT_NAME_CHARS, this, CS_ALPHANUMERAL, QSF_ENABLE_DEFAULT | QSF_LEN_IN_CHARS);
|
||||
break;
|
||||
|
||||
case WID_VD_STOP_ALL:
|
||||
case WID_VD_START_ALL: {
|
||||
case WID_D_STOP_ALL:
|
||||
case WID_D_START_ALL: {
|
||||
VehicleListIdentifier vli(VL_DEPOT_LIST, this->type, this->owner);
|
||||
DoCommandP(this->window_number, (widget == WID_VD_START_ALL ? (1 << 0) : 0), vli.Pack(), CMD_MASS_START_STOP);
|
||||
DoCommandP(this->window_number, (widget == WID_D_START_ALL ? (1 << 0) : 0), vli.Pack(), CMD_MASS_START_STOP);
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_VD_SELL_ALL:
|
||||
case WID_D_SELL_ALL:
|
||||
/* Only open the confimation window if there are anything to sell */
|
||||
if (this->vehicle_list.Length() != 0 || this->wagon_list.Length() != 0) {
|
||||
TileIndex tile = this->window_number;
|
||||
|
@ -740,11 +740,11 @@ struct DepotWindow : Window {
|
|||
}
|
||||
break;
|
||||
|
||||
case WID_VD_VEHICLE_LIST:
|
||||
case WID_D_VEHICLE_LIST:
|
||||
ShowVehicleListWindow(GetTileOwner(this->window_number), this->type, (TileIndex)this->window_number);
|
||||
break;
|
||||
|
||||
case WID_VD_AUTOREPLACE:
|
||||
case WID_D_AUTOREPLACE:
|
||||
DoCommandP(this->window_number, this->type, 0, CMD_DEPOT_MASS_AUTOREPLACE);
|
||||
break;
|
||||
|
||||
|
@ -761,11 +761,11 @@ struct DepotWindow : Window {
|
|||
|
||||
virtual bool OnRightClick(Point pt, int widget)
|
||||
{
|
||||
if (widget != WID_VD_MATRIX) return false;
|
||||
if (widget != WID_D_MATRIX) return false;
|
||||
|
||||
GetDepotVehiclePtData gdvp = { NULL, NULL };
|
||||
const Vehicle *v = NULL;
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_VD_MATRIX);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_D_MATRIX);
|
||||
DepotGUIAction mode = this->GetVehicleFromDepotWndPt(pt.x - nwi->pos_x, pt.y - nwi->pos_y, &v, &gdvp);
|
||||
|
||||
if (this->type == VEH_TRAIN) v = gdvp.wagon;
|
||||
|
@ -831,13 +831,13 @@ struct DepotWindow : Window {
|
|||
virtual void OnPlaceObjectAbort()
|
||||
{
|
||||
/* abort clone */
|
||||
this->RaiseWidget(WID_VD_CLONE);
|
||||
this->SetWidgetDirty(WID_VD_CLONE);
|
||||
this->RaiseWidget(WID_D_CLONE);
|
||||
this->SetWidgetDirty(WID_D_CLONE);
|
||||
|
||||
/* abort drag & drop */
|
||||
this->sel = INVALID_VEHICLE;
|
||||
this->vehicle_over = INVALID_VEHICLE;
|
||||
this->SetWidgetDirty(WID_VD_MATRIX);
|
||||
this->SetWidgetDirty(WID_D_MATRIX);
|
||||
}
|
||||
|
||||
virtual void OnMouseDrag(Point pt, int widget)
|
||||
|
@ -845,10 +845,10 @@ struct DepotWindow : Window {
|
|||
if (this->type != VEH_TRAIN || this->sel == INVALID_VEHICLE) return;
|
||||
|
||||
/* A rail vehicle is dragged.. */
|
||||
if (widget != WID_VD_MATRIX) { // ..outside of the depot matrix.
|
||||
if (widget != WID_D_MATRIX) { // ..outside of the depot matrix.
|
||||
if (this->vehicle_over != INVALID_VEHICLE) {
|
||||
this->vehicle_over = INVALID_VEHICLE;
|
||||
this->SetWidgetDirty(WID_VD_MATRIX);
|
||||
this->SetWidgetDirty(WID_D_MATRIX);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -883,14 +883,14 @@ struct DepotWindow : Window {
|
|||
virtual void OnDragDrop(Point pt, int widget)
|
||||
{
|
||||
switch (widget) {
|
||||
case WID_VD_MATRIX: {
|
||||
case WID_D_MATRIX: {
|
||||
const Vehicle *v = NULL;
|
||||
VehicleID sel = this->sel;
|
||||
|
||||
this->sel = INVALID_VEHICLE;
|
||||
this->SetDirty();
|
||||
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_VD_MATRIX);
|
||||
NWidgetBase *nwi = this->GetWidget<NWidgetBase>(WID_D_MATRIX);
|
||||
if (this->type == VEH_TRAIN) {
|
||||
GetDepotVehiclePtData gdvp = { NULL, NULL };
|
||||
|
||||
|
@ -911,7 +911,7 @@ struct DepotWindow : Window {
|
|||
break;
|
||||
}
|
||||
|
||||
case WID_VD_SELL: case WID_VD_SELL_CHAIN: {
|
||||
case WID_D_SELL: case WID_D_SELL_CHAIN: {
|
||||
if (this->IsWidgetDisabled(widget)) return;
|
||||
if (this->sel == INVALID_VEHICLE) return;
|
||||
|
||||
|
@ -921,7 +921,7 @@ struct DepotWindow : Window {
|
|||
this->sel = INVALID_VEHICLE;
|
||||
this->SetDirty();
|
||||
|
||||
int sell_cmd = (v->type == VEH_TRAIN && (widget == WID_VD_SELL_CHAIN || _ctrl_pressed)) ? 1 : 0;
|
||||
int sell_cmd = (v->type == VEH_TRAIN && (widget == WID_D_SELL_CHAIN || _ctrl_pressed)) ? 1 : 0;
|
||||
DoCommandP(v->tile, v->index | sell_cmd << 20 | MAKE_ORDER_BACKUP_FLAG, 0, GetCmdSellVeh(v->type));
|
||||
break;
|
||||
}
|
||||
|
@ -935,20 +935,20 @@ struct DepotWindow : Window {
|
|||
|
||||
virtual void OnTimeout()
|
||||
{
|
||||
if (!this->IsWidgetDisabled(WID_VD_SELL)) {
|
||||
this->RaiseWidget(WID_VD_SELL);
|
||||
this->SetWidgetDirty(WID_VD_SELL);
|
||||
if (!this->IsWidgetDisabled(WID_D_SELL)) {
|
||||
this->RaiseWidget(WID_D_SELL);
|
||||
this->SetWidgetDirty(WID_D_SELL);
|
||||
}
|
||||
if (this->nested_array[WID_VD_SELL] != NULL && !this->IsWidgetDisabled(WID_VD_SELL_CHAIN)) {
|
||||
this->RaiseWidget(WID_VD_SELL_CHAIN);
|
||||
this->SetWidgetDirty(WID_VD_SELL_CHAIN);
|
||||
if (this->nested_array[WID_D_SELL] != NULL && !this->IsWidgetDisabled(WID_D_SELL_CHAIN)) {
|
||||
this->RaiseWidget(WID_D_SELL_CHAIN);
|
||||
this->SetWidgetDirty(WID_D_SELL_CHAIN);
|
||||
}
|
||||
}
|
||||
|
||||
virtual void OnResize()
|
||||
{
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_VD_MATRIX);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_VD_MATRIX);
|
||||
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_D_MATRIX);
|
||||
this->vscroll->SetCapacityFromWidget(this, WID_D_MATRIX);
|
||||
if (this->type == VEH_TRAIN) {
|
||||
this->hscroll->SetCapacity(nwi->current_x - this->header_width - this->count_width);
|
||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||
|
@ -962,7 +962,7 @@ struct DepotWindow : Window {
|
|||
{
|
||||
if (this->sel != INVALID_VEHICLE) {
|
||||
_cursor.vehchain = _ctrl_pressed;
|
||||
this->SetWidgetDirty(WID_VD_MATRIX);
|
||||
this->SetWidgetDirty(WID_D_MATRIX);
|
||||
return ES_HANDLED;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,25 +13,25 @@
|
|||
#define WIDGETS_DEPOT_WIDGET_H
|
||||
|
||||
/** Widgets of the WC_VEHICLE_DEPOT. */
|
||||
enum VehicleDepotWidgets {
|
||||
WID_VD_CAPTION, ///< Caption of window.
|
||||
WID_VD_SELL, ///< Sell button.
|
||||
WID_VD_SHOW_SELL_CHAIN, ///< Show sell chain panel.
|
||||
WID_VD_SELL_CHAIN, ///< Sell chain button.
|
||||
WID_VD_SELL_ALL, ///< Sell all button.
|
||||
WID_VD_AUTOREPLACE, ///< Autoreplace button.
|
||||
WID_VD_MATRIX, ///< Matrix of vehicles.
|
||||
WID_VD_V_SCROLL, ///< Vertical scrollbar.
|
||||
WID_VD_SHOW_H_SCROLL, ///< Show horizontal scrollbar panel.
|
||||
WID_VD_H_SCROLL, ///< Horizontal scrollbar.
|
||||
WID_VD_BUILD, ///< Build button.
|
||||
WID_VD_CLONE, ///< Clone button.
|
||||
WID_VD_LOCATION, ///< Location button.
|
||||
WID_VD_SHOW_RENAME, ///< Show rename panel.
|
||||
WID_VD_RENAME, ///< Rename button.
|
||||
WID_VD_VEHICLE_LIST, ///< List of vehicles.
|
||||
WID_VD_STOP_ALL, ///< Stop all button.
|
||||
WID_VD_START_ALL, ///< Start all button.
|
||||
enum DepotWidgets {
|
||||
WID_D_CAPTION, ///< Caption of window.
|
||||
WID_D_SELL, ///< Sell button.
|
||||
WID_D_SHOW_SELL_CHAIN, ///< Show sell chain panel.
|
||||
WID_D_SELL_CHAIN, ///< Sell chain button.
|
||||
WID_D_SELL_ALL, ///< Sell all button.
|
||||
WID_D_AUTOREPLACE, ///< Autoreplace button.
|
||||
WID_D_MATRIX, ///< Matrix of vehicles.
|
||||
WID_D_V_SCROLL, ///< Vertical scrollbar.
|
||||
WID_D_SHOW_H_SCROLL, ///< Show horizontal scrollbar panel.
|
||||
WID_D_H_SCROLL, ///< Horizontal scrollbar.
|
||||
WID_D_BUILD, ///< Build button.
|
||||
WID_D_CLONE, ///< Clone button.
|
||||
WID_D_LOCATION, ///< Location button.
|
||||
WID_D_SHOW_RENAME, ///< Show rename panel.
|
||||
WID_D_RENAME, ///< Rename button.
|
||||
WID_D_VEHICLE_LIST, ///< List of vehicles.
|
||||
WID_D_STOP_ALL, ///< Stop all button.
|
||||
WID_D_START_ALL, ///< Start all button.
|
||||
};
|
||||
|
||||
#endif /* WIDGETS_DEPOT_WIDGET_H */
|
||||
|
|
Loading…
Reference in New Issue