aircraft_gui.c
changeset 1485 34545d21c656
parent 1323 bac2e38e8b60
child 1790 47963a0cfca3
equal deleted inserted replaced
1484:e06402a9e572 1485:34545d21c656
   554 //	w->traindetails_d.tab = 0;
   554 //	w->traindetails_d.tab = 0;
   555 }
   555 }
   556 
   556 
   557 
   557 
   558 static const Widget _aircraft_view_widgets[] = {
   558 static const Widget _aircraft_view_widgets[] = {
   559 {    WWT_TEXTBTN,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,	STR_018B_CLOSE_WINDOW},
   559 { WWT_TEXTBTN,    RESIZE_NONE,  14,   0,  10,   0,  13, STR_00C5, STR_018B_CLOSE_WINDOW },
   560 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   237,     0,    13, STR_A00A,	STR_018C_WINDOW_TITLE_DRAG_THIS},
   560 { WWT_CAPTION,    RESIZE_RIGHT, 14,  11, 237,   0,  13, STR_A00A, STR_018C_WINDOW_TITLE_DRAG_THIS },
   561 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   238,   249,     0,    13, 0x0,       STR_STICKY_BUTTON},
   561 { WWT_STICKYBOX,  RESIZE_LR,    14, 238, 249,   0,  13, 0x0,      STR_STICKY_BUTTON },
   562 {     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   231,    14,   103, 0x0,				STR_NULL},
   562 { WWT_IMGBTN,     RESIZE_RB,    14,   0, 231,  14, 103, 0x0,      STR_NULL },
   563 {          WWT_6,   RESIZE_NONE,    14,     2,   229,    16,   101, 0x0,				STR_NULL},
   563 { WWT_6,          RESIZE_RB,    14,   2, 229,  16, 101, 0x0,      STR_NULL },
   564 { WWT_PUSHIMGBTN,   RESIZE_NONE,    14,     0,   249,   104,   115, 0x0,				STR_A027_CURRENT_AIRCRAFT_ACTION},
   564 { WWT_PUSHIMGBTN, RESIZE_RTB,   14,   0, 237, 104, 115, 0x0,      STR_A027_CURRENT_AIRCRAFT_ACTION },
   565 { WWT_PUSHIMGBTN,   RESIZE_NONE,    14,   232,   249,    14,    31, 0x2AB,			STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT},
   565 { WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  14,  31, 0x2AB,    STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT },
   566 { WWT_PUSHIMGBTN,   RESIZE_NONE,    14,   232,   249,    32,    49, 0x2AF,			STR_A02A_SEND_AIRCRAFT_TO_HANGAR},
   566 { WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  32,  49, 0x2AF,    STR_A02A_SEND_AIRCRAFT_TO_HANGAR },
   567 { WWT_PUSHIMGBTN,   RESIZE_NONE,    14,   232,   249,    50,    67, 0x2B4,			STR_A03B_REFIT_AIRCRAFT_TO_CARRY},
   567 { WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  50,  67, 0x2B4,    STR_A03B_REFIT_AIRCRAFT_TO_CARRY },
   568 { WWT_PUSHIMGBTN,   RESIZE_NONE,    14,   232,   249,    68,    85, 0x2B2,			STR_A028_SHOW_AIRCRAFT_S_ORDERS},
   568 { WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  68,  85, 0x2B2,    STR_A028_SHOW_AIRCRAFT_S_ORDERS },
   569 { WWT_PUSHIMGBTN,   RESIZE_NONE,    14,   232,   249,    86,   103, 0x2B3,			STR_A02B_SHOW_AIRCRAFT_DETAILS},
   569 { WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  86, 103, 0x2B3,    STR_A02B_SHOW_AIRCRAFT_DETAILS },
   570 {   WIDGETS_END},
   570 { WWT_PANEL,      RESIZE_LRB,   14, 232, 249, 104, 103, 0x0,      STR_NULL },
       
   571 { WWT_RESIZEBOX,  RESIZE_LRTB,  14, 238, 249, 104, 115, 0x0,      STR_NULL },
       
   572 { WIDGETS_END }
   571 };
   573 };
   572 
   574 
   573 static void AircraftViewWndProc(Window *w, WindowEvent *e)
   575 static void AircraftViewWndProc(Window *w, WindowEvent *e)
   574 {
   576 {
   575 	switch(e->event) {
   577 	switch(e->event) {
   594 		SetDParam(0, v->string_id);
   596 		SetDParam(0, v->string_id);
   595 		SetDParam(1, v->unitnumber);
   597 		SetDParam(1, v->unitnumber);
   596 		DrawWindowWidgets(w);
   598 		DrawWindowWidgets(w);
   597 
   599 
   598 		/* draw the flag */
   600 		/* draw the flag */
   599 		DrawSprite((v->vehstatus & VS_STOPPED) ? 0xC12  : 0xC13, 2, 105);
   601 		DrawSprite(v->vehstatus & VS_STOPPED ? 0xC12 : 0xC13, 2,
       
   602 			w->widget[5].top + 1);
   600 
   603 
   601 		if (v->vehstatus & VS_CRASHED) {
   604 		if (v->vehstatus & VS_CRASHED) {
   602 			str = STR_8863_CRASHED;
   605 			str = STR_8863_CRASHED;
   603 		} else if (v->vehstatus & VS_STOPPED) {
   606 		} else if (v->vehstatus & VS_STOPPED) {
   604 			str = STR_8861_STOPPED;
   607 			str = STR_8861_STOPPED;
   628 					str = STR_EMPTY;
   631 					str = STR_EMPTY;
   629 				break;
   632 				break;
   630 			}
   633 			}
   631 		}
   634 		}
   632 
   635 
   633 		DrawStringCentered(125, 105, str, 0);
   636 		DrawStringCentered((w->widget[5].right - w->widget[5].left) / 2,
       
   637 			w->widget[5].top + 1, str, 0);
   634 		DrawWindowViewport(w);
   638 		DrawWindowViewport(w);
   635 	} break;
   639 	} break;
   636 
   640 
   637 	case WE_CLICK: {
   641 	case WE_CLICK: {
   638 		Vehicle *v = GetVehicle(w->window_number);
   642 		Vehicle *v = GetVehicle(w->window_number);
   656 		case 10: /* show details */
   660 		case 10: /* show details */
   657 			ShowAircraftDetailsWindow(v);
   661 			ShowAircraftDetailsWindow(v);
   658 			break;
   662 			break;
   659 		}
   663 		}
   660 	} break;
   664 	} break;
       
   665 
       
   666 	case WE_RESIZE:
       
   667 		w->viewport->width  += e->sizing.diff.x;
       
   668 		w->viewport->height += e->sizing.diff.y;
       
   669 		w->viewport->virtual_width  += e->sizing.diff.x;
       
   670 		w->viewport->virtual_height += e->sizing.diff.y;
       
   671 		break;
   661 
   672 
   662 	case WE_DESTROY:
   673 	case WE_DESTROY:
   663 		DeleteWindowById(WC_VEHICLE_ORDERS, w->window_number);
   674 		DeleteWindowById(WC_VEHICLE_ORDERS, w->window_number);
   664 		DeleteWindowById(WC_VEHICLE_REFIT, w->window_number);
   675 		DeleteWindowById(WC_VEHICLE_REFIT, w->window_number);
   665 		DeleteWindowById(WC_VEHICLE_DETAILS, w->window_number);
   676 		DeleteWindowById(WC_VEHICLE_DETAILS, w->window_number);
   669 
   680 
   670 
   681 
   671 static const WindowDesc _aircraft_view_desc = {
   682 static const WindowDesc _aircraft_view_desc = {
   672 	-1,-1, 250, 116,
   683 	-1,-1, 250, 116,
   673 	WC_VEHICLE_VIEW ,0,
   684 	WC_VEHICLE_VIEW ,0,
   674 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
   685 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
   675 	_aircraft_view_widgets,
   686 	_aircraft_view_widgets,
   676 	AircraftViewWndProc
   687 	AircraftViewWndProc
   677 };
   688 };
   678 
   689 
   679 
   690