|
@@ -1364,13 +1364,19 @@ void ChangeVehicleViewWindow(VehicleID f
|
|
|
ChangeVehicleWindow(WC_VEHICLE_TIMETABLE, from_index, to_index);
|
|
|
}
|
|
|
|
|
|
static const NWidgetPart _nested_vehicle_list[] = {
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY, WID_VL_CAPTION),
|
|
|
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_VL_CAPTION_SELECTION),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY, WID_VL_CAPTION),
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
|
NWidget(WWT_CAPTION, COLOUR_GREY, WID_VL_CAPTION_SHARED_ORDERS),
|
|
|
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_VL_ORDER_VIEW), SetMinimalSize(61, 14), SetDataTip(STR_GOTO_ORDER_VIEW, STR_GOTO_ORDER_VIEW_TOOLTIP),
|
|
|
EndContainer(),
|
|
|
EndContainer(),
|
|
|
NWidget(WWT_SHADEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
|
|
|
NWidget(WWT_STICKYBOX, COLOUR_GREY),
|
|
|
EndContainer(),
|
|
|
|
|
|
NWidget(NWID_HORIZONTAL),
|
|
@@ -1639,12 +1645,18 @@ private:
|
|
|
/** Enumeration of planes of the button row at the bottom. */
|
|
|
enum ButtonPlanes {
|
|
|
BP_SHOW_BUTTONS, ///< Show the buttons.
|
|
|
BP_HIDE_BUTTONS, ///< Show the empty panel.
|
|
|
};
|
|
|
|
|
|
/** Enumeration of planes of the title row at the top. */
|
|
|
enum CaptionPlanes {
|
|
|
BP_NORMAL, ///< Show shared orders caption and buttons.
|
|
|
BP_SHARED_ORDERS, ///< Show the normal caption.
|
|
|
};
|
|
|
|
|
|
public:
|
|
|
VehicleListWindow(WindowDesc *desc, WindowNumber window_number) : BaseVehicleListWindow(desc, window_number)
|
|
|
{
|
|
|
this->CreateNestedTree();
|
|
|
|
|
|
this->vscroll = this->GetScrollbar(WID_VL_SCROLLBAR);
|
|
@@ -1652,20 +1664,23 @@ public:
|
|
|
this->BuildVehicleList();
|
|
|
this->SortVehicleList();
|
|
|
|
|
|
/* Set up the window widgets */
|
|
|
this->GetWidget<NWidgetCore>(WID_VL_LIST)->tool_tip = STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP + this->vli.vtype;
|
|
|
|
|
|
NWidgetStacked *nwi = this->GetWidget<NWidgetStacked>(WID_VL_CAPTION_SELECTION);
|
|
|
if (this->vli.type == VL_SHARED_ORDERS) {
|
|
|
this->GetWidget<NWidgetCore>(WID_VL_CAPTION)->widget_data = STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION;
|
|
|
this->GetWidget<NWidgetCore>(WID_VL_CAPTION_SHARED_ORDERS)->widget_data = STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION;
|
|
|
/* If we are in the shared orders window, then disable the group-by dropdown menu.
|
|
|
* Remove this when the group-by dropdown menu has another option apart from grouping by shared orders. */
|
|
|
this->SetWidgetDisabledState(WID_VL_GROUP_ORDER, true);
|
|
|
this->SetWidgetDisabledState(WID_VL_GROUP_BY_PULLDOWN, true);
|
|
|
nwi->SetDisplayedPlane(BP_SHARED_ORDERS);
|
|
|
} else {
|
|
|
this->GetWidget<NWidgetCore>(WID_VL_CAPTION)->widget_data = STR_VEHICLE_LIST_TRAIN_CAPTION + this->vli.vtype;
|
|
|
nwi->SetDisplayedPlane(BP_NORMAL);
|
|
|
}
|
|
|
|
|
|
this->FinishInitNested(window_number);
|
|
|
if (this->vli.company != OWNER_NONE) this->owner = this->vli.company;
|
|
|
}
|
|
|
|
|
@@ -1715,13 +1730,14 @@ public:
|
|
|
{
|
|
|
switch (widget) {
|
|
|
case WID_VL_AVAILABLE_VEHICLES:
|
|
|
SetDParam(0, STR_VEHICLE_LIST_AVAILABLE_TRAINS + this->vli.vtype);
|
|
|
break;
|
|
|
|
|
|
case WID_VL_CAPTION: {
|
|
|
case WID_VL_CAPTION:
|
|
|
case WID_VL_CAPTION_SHARED_ORDERS: {
|
|
|
switch (this->vli.type) {
|
|
|
case VL_SHARED_ORDERS: // Shared Orders
|
|
|
if (this->vehicles.size() == 0) {
|
|
|
/* We can't open this window without vehicles using this order
|
|
|
* and we should close the window when deleting the order. */
|
|
|
NOT_REACHED();
|
|
@@ -1803,12 +1819,18 @@ public:
|
|
|
this->DrawWidgets();
|
|
|
}
|
|
|
|
|
|
void OnClick(Point pt, int widget, int click_count) override
|
|
|
{
|
|
|
switch (widget) {
|
|
|
case WID_VL_ORDER_VIEW: // Open the shared orders window
|
|
|
assert(this->vli.type == VL_SHARED_ORDERS);
|
|
|
assert(!this->vehicles.empty());
|
|
|
ShowOrdersWindow(this->vehicles[0]);
|
|
|
break;
|
|
|
|
|
|
case WID_VL_SORT_ORDER: // Flip sorting method ascending/descending
|
|
|
this->vehgroups.ToggleSortOrder();
|
|
|
this->SetDirty();
|
|
|
break;
|
|
|
|
|
|
case WID_VL_GROUP_BY_PULLDOWN: // Select sorting criteria dropdown menu
|