Changeset - r10117:b28450e04641
[Not reviewed]
master
0 3 0
rubidium - 16 years ago 2008-09-12 21:20:12
rubidium@openttd.org
(svn r14301) -Codechange: give the vehicle list and group list the same relative size and the same absolute height for the vehicle list items.
3 files changed with 17 insertions and 27 deletions:
0 comments (0 inline, 0 general)
src/group_gui.cpp
Show inline comments
 
@@ -181,25 +181,25 @@ public:
 
		switch (this->vehicle_type) {
 
			default: NOT_REACHED();
 
			case VEH_TRAIN:
 
			case VEH_ROAD:
 
				this->vscroll.cap = 9;
 
				this->vscroll2.cap = 6;
 
				this->resize.step_height = PLY_WND_PRC__SIZE_OF_ROW_SMALL;
 
				break;
 
			case VEH_SHIP:
 
			case VEH_AIRCRAFT:
 
				this->vscroll.cap = 9;
 
				this->vscroll2.cap = 4;
 
				this->resize.step_height = PLY_WND_PRC__SIZE_OF_ROW_BIG2;
 
				this->resize.step_height = PLY_WND_PRC__SIZE_OF_ROW_BIG;
 
				break;
 
		}
 

	
 
		this->widget[GRP_WIDGET_LIST_GROUP].data = (this->vscroll.cap << 8) + 1;
 
		this->widget[GRP_WIDGET_LIST_VEHICLE].data = (this->vscroll2.cap << 8) + 1;
 

	
 
		switch (this->vehicle_type) {
 
			default: NOT_REACHED();
 
			case VEH_TRAIN:    this->sorting = &_sorting.train;    break;
 
			case VEH_ROAD:     this->sorting = &_sorting.roadveh;  break;
 
			case VEH_SHIP:     this->sorting = &_sorting.ship;     break;
 
			case VEH_AIRCRAFT: this->sorting = &_sorting.aircraft; break;
 
@@ -443,25 +443,25 @@ public:
 
		max = min(this->vscroll2.pos + this->vscroll2.cap, this->vehicles.Length());
 
		for (i = this->vscroll2.pos ; i < max ; ++i) {
 
			const Vehicle* v = this->vehicles[i];
 

	
 
			assert(v->type == this->vehicle_type && v->owner == owner);
 

	
 
			DrawVehicleImage(v, x + 19, y2 + 6, this->vehicle_sel, list_width, 0);
 
			DrawVehicleProfitButton(v, x, y2 + 13);
 

	
 
			SetDParam(0, v->unitnumber);
 
			DrawString(x, y2 + 2, v->IsInDepot() ? STR_021F : (v->age > v->max_age - 366 ? STR_00E3 : STR_00E2), TC_FROMSTRING);
 

	
 
			if (this->resize.step_height == PLY_WND_PRC__SIZE_OF_ROW_BIG2) DrawSmallOrderList(v, x + 138, y2);
 
			if (this->resize.step_height == PLY_WND_PRC__SIZE_OF_ROW_BIG) DrawSmallOrderList(v, x + 138, y2);
 

	
 
			SetDParam(0, v->GetDisplayProfitThisYear());
 
			SetDParam(1, v->GetDisplayProfitLastYear());
 
			DrawString(x + 19, y2 + this->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, TC_FROMSTRING);
 

	
 
			if (IsValidGroupID(v->group_id)) {
 
				SetDParam(0, v->group_id);
 
				DrawString(x + 19, y2, STR_GROUP_TINY_NAME, TC_BLACK);
 
			}
 

	
 
			y2 += this->resize.step_height;
 
		}
src/vehicle_gui.cpp
Show inline comments
 
@@ -679,36 +679,36 @@ enum VehicleListWindowWidgets {
 
	VLW_WIDGET_START_ALL,
 
	VLW_WIDGET_EMPTY_BOTTOM_RIGHT,
 
	VLW_WIDGET_RESIZE,
 
};
 

	
 
static const Widget _vehicle_list_widgets[] = {
 
	{   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_GREY,     0,    10,     0,    13, STR_00C5,             STR_018B_CLOSE_WINDOW},
 
	{    WWT_CAPTION,  RESIZE_RIGHT,  COLOUR_GREY,    11,   247,     0,    13, 0x0,                  STR_018C_WINDOW_TITLE_DRAG_THIS},
 
	{  WWT_STICKYBOX,     RESIZE_LR,  COLOUR_GREY,   248,   259,     0,    13, 0x0,                  STR_STICKY_BUTTON},
 
	{ WWT_PUSHTXTBTN,   RESIZE_NONE,  COLOUR_GREY,     0,    80,    14,    25, STR_SORT_BY,          STR_SORT_ORDER_TIP},
 
	{   WWT_DROPDOWN,   RESIZE_NONE,  COLOUR_GREY,    81,   247,    14,    25, 0x0,                  STR_SORT_CRITERIA_TIP},
 
	{      WWT_PANEL,  RESIZE_RIGHT,  COLOUR_GREY,   248,   259,    14,    25, 0x0,                  STR_NULL},
 
	{     WWT_MATRIX,     RESIZE_RB,  COLOUR_GREY,     0,   247,    26,   169, 0x0,                  STR_NULL},
 
	{  WWT_SCROLLBAR,    RESIZE_LRB,  COLOUR_GREY,   248,   259,    26,   169, 0x0,                  STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
	{     WWT_MATRIX,     RESIZE_RB,  COLOUR_GREY,     0,   247,    26,   181, 0x0,                  STR_NULL},
 
	{  WWT_SCROLLBAR,    RESIZE_LRB,  COLOUR_GREY,   248,   259,    26,   181, 0x0,                  STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
	/* Widget to be shown for other players hiding the following 6 widgets */
 
	{      WWT_PANEL,    RESIZE_RTB,  COLOUR_GREY,     0,   247,   170,   181, 0x0,                  STR_NULL},
 
	{      WWT_PANEL,    RESIZE_RTB,  COLOUR_GREY,     0,   247,   182,   193, 0x0,                  STR_NULL},
 

	
 
	{ WWT_PUSHTXTBTN,     RESIZE_TB,  COLOUR_GREY,     0,   105,   170,   181, 0x0,                  STR_AVAILABLE_ENGINES_TIP},
 
	{   WWT_DROPDOWN,     RESIZE_TB,  COLOUR_GREY,   106,   223,   170,   181, STR_MANAGE_LIST,      STR_MANAGE_LIST_TIP},
 
	{ WWT_PUSHTXTBTN,     RESIZE_TB,  COLOUR_GREY,     0,   105,   182,   193, 0x0,                  STR_AVAILABLE_ENGINES_TIP},
 
	{   WWT_DROPDOWN,     RESIZE_TB,  COLOUR_GREY,   106,   223,   182,   193, STR_MANAGE_LIST,      STR_MANAGE_LIST_TIP},
 

	
 
	{ WWT_PUSHIMGBTN,     RESIZE_TB,  COLOUR_GREY,   224,   235,   170,   181, SPR_FLAG_VEH_STOPPED, STR_MASS_STOP_LIST_TIP},
 
	{ WWT_PUSHIMGBTN,     RESIZE_TB,  COLOUR_GREY,   236,   247,   170,   181, SPR_FLAG_VEH_RUNNING, STR_MASS_START_LIST_TIP},
 
	{      WWT_PANEL,    RESIZE_RTB,  COLOUR_GREY,   248,   247,   170,   181, 0x0,                  STR_NULL},
 
	{  WWT_RESIZEBOX,   RESIZE_LRTB,  COLOUR_GREY,   248,   259,   170,   181, 0x0,                  STR_RESIZE_BUTTON},
 
	{ WWT_PUSHIMGBTN,     RESIZE_TB,  COLOUR_GREY,   224,   235,   182,   193, SPR_FLAG_VEH_STOPPED, STR_MASS_STOP_LIST_TIP},
 
	{ WWT_PUSHIMGBTN,     RESIZE_TB,  COLOUR_GREY,   236,   247,   182,   193, SPR_FLAG_VEH_RUNNING, STR_MASS_START_LIST_TIP},
 
	{      WWT_PANEL,    RESIZE_RTB,  COLOUR_GREY,   248,   247,   182,   193, 0x0,                  STR_NULL},
 
	{  WWT_RESIZEBOX,   RESIZE_LRTB,  COLOUR_GREY,   248,   259,   182,   193, 0x0,                  STR_RESIZE_BUTTON},
 
	{   WIDGETS_END},
 
};
 

	
 
void DrawSmallOrderList(const Vehicle *v, int x, int y)
 
{
 
	const Order *order;
 
	int sel, i = 0;
 

	
 
	sel = v->cur_order_index;
 

	
 
	FOR_VEHICLE_ORDERS(v, order) {
 
		if (sel == 0) DrawString(x - 6, y, STR_SMALL_RIGHT_ARROW, TC_BLACK);
 
@@ -822,27 +822,26 @@ struct VehicleListWindow : public Window
 
					case VEH_AIRCRAFT: this->widget[VLW_WIDGET_CAPTION].data = STR_VEHICLE_LIST_AIRCRAFT_DEPOT; break;
 
					default: NOT_REACHED(); break;
 
				}
 
				break;
 
			default: NOT_REACHED(); break;
 
		}
 

	
 
		switch (this->vehicle_type) {
 
			case VEH_TRAIN:
 
				this->resize.step_width = 1;
 
				/* Fallthrough */
 
			case VEH_ROAD:
 
				this->vscroll.cap = 7;
 
				this->vscroll.cap = 6;
 
				this->resize.step_height = PLY_WND_PRC__SIZE_OF_ROW_SMALL;
 
				this->resize.height = 220 - (PLY_WND_PRC__SIZE_OF_ROW_SMALL * 3); // Minimum of 4 vehicles
 
				break;
 
			case VEH_SHIP:
 
			case VEH_AIRCRAFT:
 
				this->vscroll.cap = 4;
 
				this->resize.step_height = PLY_WND_PRC__SIZE_OF_ROW_BIG;
 
				break;
 
			default: NOT_REACHED();
 
		}
 

	
 

	
 
		this->widget[VLW_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
 

	
 
@@ -1093,86 +1092,78 @@ struct VehicleListWindow : public Window
 
			return;
 
		}
 

	
 
		if (data == 0) {
 
			this->vehicles.ForceRebuild();
 
		} else {
 
			this->vehicles.ForceResort();
 
		}
 
	}
 
};
 

	
 
static const WindowDesc _player_vehicle_list_train_desc = {
 
	WDP_AUTO, WDP_AUTO, 260, 182, 260, 182,
 
	WDP_AUTO, WDP_AUTO, 260, 194, 325, 246,
 
	WC_TRAINS_LIST, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
 
	_vehicle_list_widgets,
 
};
 

	
 
static const WindowDesc _player_vehicle_list_road_veh_desc = {
 
	WDP_AUTO, WDP_AUTO, 260, 182, 260, 182,
 
	WDP_AUTO, WDP_AUTO, 260, 194, 260, 246,
 
	WC_ROADVEH_LIST, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
 
	_vehicle_list_widgets,
 
};
 

	
 
static const WindowDesc _player_vehicle_list_ship_desc = {
 
	WDP_AUTO, WDP_AUTO, 260, 182, 260, 182,
 
	WDP_AUTO, WDP_AUTO, 260, 194, 260, 246,
 
	WC_SHIPS_LIST, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
 
	_vehicle_list_widgets,
 
};
 

	
 
static const WindowDesc _player_vehicle_list_aircraft_desc = {
 
	WDP_AUTO, WDP_AUTO, 260, 182, 260, 182,
 
	WDP_AUTO, WDP_AUTO, 260, 194, 260, 246,
 
	WC_AIRCRAFT_LIST, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
 
	_vehicle_list_widgets,
 
};
 

	
 
static void ShowVehicleListWindowLocal(PlayerID player, uint16 VLW_flag, VehicleType vehicle_type, uint16 unique_number)
 
{
 
	VehicleListWindow *w;
 
	WindowNumber num;
 

	
 
	if (!IsValidPlayerID(player)) return;
 

	
 
	num = (unique_number << 16) | (vehicle_type << 11) | VLW_flag | player;
 

	
 
	/* The vehicle list windows have been unified. Just some strings need
 
	 * to be changed which happens in the WE_CREATE event and resizing
 
	 * some of the windows to the correct size */
 
	switch (vehicle_type) {
 
		default: NOT_REACHED();
 
		case VEH_TRAIN:
 
			w = AllocateWindowDescFront<VehicleListWindow>(&_player_vehicle_list_train_desc, num);
 
			if (w != NULL) ResizeWindow(w, 65, 38);
 
			break;
 
		case VEH_ROAD:
 
			w = AllocateWindowDescFront<VehicleListWindow>(&_player_vehicle_list_road_veh_desc, num);
 
			if (w != NULL) ResizeWindow(w, 0, 38);
 
			break;
 
		case VEH_SHIP:
 
			w = AllocateWindowDescFront<VehicleListWindow>(&_player_vehicle_list_ship_desc, num);
 
			break;
 
		case VEH_AIRCRAFT:
 
			w = AllocateWindowDescFront<VehicleListWindow>(&_player_vehicle_list_aircraft_desc, num);
 
			break;
 
	}
 

	
 
	if (w != NULL) {
 
		/* Set the minimum window size to the current window size */
 
		w->resize.width = w->width;
 
		w->resize.height = w->height;
 
	}
 
}
 

	
 
void ShowVehicleListWindow(PlayerID player, VehicleType vehicle_type)
 
{
 
	/* If _settings_client.gui.advanced_vehicle_list > 1, display the Advanced list
 
	 * if _settings_client.gui.advanced_vehicle_list == 1, display Advanced list only for local player
 
	 * if _ctrl_pressed, do the opposite action (Advanced list x Normal list)
 
	 */
 

	
 
	if ((_settings_client.gui.advanced_vehicle_list > (uint)(player != _local_player)) != _ctrl_pressed) {
 
		ShowPlayerGroup(player, vehicle_type);
 
	} else {
src/vehicle_gui.h
Show inline comments
 
@@ -32,26 +32,25 @@ enum VehicleViewWindowWidgets {
 
	VVW_WIDGET_CLONE_VEH,
 
	VVW_WIDGET_EMPTY_BOTTOM_RIGHT,
 
	VVW_WIDGET_RESIZE,
 
	VVW_WIDGET_TURN_AROUND,
 
	VVW_WIDGET_FORCE_PROCEED,
 
};
 

	
 
/** Start of functions regarding vehicle list windows */
 
enum {
 
	PLY_WND_PRC__OFFSET_TOP_WIDGET = 26,
 
	PLY_WND_PRC__SIZE_OF_ROW_TINY  = 13,
 
	PLY_WND_PRC__SIZE_OF_ROW_SMALL = 26,
 
	PLY_WND_PRC__SIZE_OF_ROW_BIG   = 36,
 
	PLY_WND_PRC__SIZE_OF_ROW_BIG2  = 39,
 
	PLY_WND_PRC__SIZE_OF_ROW_BIG   = 39,
 
};
 

	
 
/** Vehicle List Window type flags */
 
enum {
 
	VLW_STANDARD      = 0 << 8,
 
	VLW_SHARED_ORDERS = 1 << 8,
 
	VLW_STATION_LIST  = 2 << 8,
 
	VLW_DEPOT_LIST    = 3 << 8,
 
	VLW_GROUP_LIST    = 4 << 8,
 
	VLW_WAYPOINT_LIST = 5 << 8,
 
	VLW_MASK          = 0x700,
 
};
0 comments (0 inline, 0 general)