File diff r16067:5c0ee6355187 → r16068:f32ba8cfc408
src/vehicle_gui_base.h
Show inline comments
 
@@ -4,24 +4,25 @@
 
 * This file is part of OpenTTD.
 
 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
 
 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
 
 */
 

	
 
/** @file vehicle_gui_base.h Functions/classes shared between the different vehicle list GUIs. */
 

	
 
#ifndef VEHICLE_GUI_BASE_H
 
#define VEHICLE_GUI_BASE_H
 

	
 
#include "sortlist_type.h"
 
#include "vehiclelist.h"
 
#include "window_gui.h"
 
#include "widgets/dropdown_type.h"
 

	
 
typedef GUIList<const Vehicle*> GUIVehicleList;
 

	
 
struct BaseVehicleListWindow : public Window {
 
	GUIVehicleList vehicles;  ///< The list of vehicles
 
	Listing *sorting;         ///< Pointer to the vehicle type related sorting.
 
	VehicleType vehicle_type; ///< The vehicle type that is sorted
 
	byte unitnumber_digits;   ///< The number of digits of the highest unit number
 
	Scrollbar *vscroll;
 

	
 
@@ -35,25 +36,25 @@ struct BaseVehicleListWindow : public Wi
 

	
 
	static const StringID vehicle_depot_name[];
 
	static const StringID vehicle_sorter_names[];
 
	static GUIVehicleList::SortFunction * const vehicle_sorter_funcs[];
 

	
 
	BaseVehicleListWindow() : Window()
 
	{
 
		this->vehicles.SetSortFuncs(this->vehicle_sorter_funcs);
 
	}
 

	
 
	void DrawVehicleListItems(VehicleID selected_vehicle, int line_height, const Rect &r) const;
 
	void SortVehicleList();
 
	void BuildVehicleList(Owner owner, uint16 index, uint16 window_type);
 
	void BuildVehicleList(const VehicleListIdentifier &identifier);
 
	Dimension GetActionDropdownSize(bool show_autoreplace, bool show_group);
 
	DropDownList *BuildActionDropdownList(bool show_autoreplace, bool show_group);
 
};
 

	
 
uint GetVehicleListHeight(VehicleType type, uint divisor = 1);
 

	
 
struct Sorting {
 
	Listing aircraft;
 
	Listing roadveh;
 
	Listing ship;
 
	Listing train;
 
};