754 } |
754 } |
755 } |
755 } |
756 |
756 |
757 static const Widget _aircraft_depot_widgets[] = { |
757 static const Widget _aircraft_depot_widgets[] = { |
758 { WWT_TEXTBTN, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
758 { WWT_TEXTBTN, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
759 { WWT_CAPTION, 14, 11, 330, 0, 13, STR_A002_AIRCRAFT_HANGAR, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
759 { WWT_CAPTION, 14, 11, 318, 0, 13, STR_A002_AIRCRAFT_HANGAR, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
|
760 { WWT_STICKYBOX, 14, 319, 330, 0, 13, 0x0, STR_STICKY_BUTTON}, |
760 { WWT_MATRIX, 14, 0, 295, 14, 61, 0x204, STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT}, |
761 { WWT_MATRIX, 14, 0, 295, 14, 61, 0x204, STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT}, |
761 { WWT_IMGBTN, 14, 296, 319, 14, 61, 0x2A9, STR_A023_DRAG_AIRCRAFT_TO_HERE_TO}, |
762 { WWT_IMGBTN, 14, 296, 319, 14, 61, 0x2A9, STR_A023_DRAG_AIRCRAFT_TO_HERE_TO}, |
762 { WWT_SCROLLBAR, 14, 320, 330, 14, 61, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
763 { WWT_SCROLLBAR, 14, 320, 330, 14, 61, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, |
763 { WWT_PUSHTXTBTN, 14, 0, 164, 62, 73, STR_A003_NEW_AIRCRAFT, STR_A022_BUILD_NEW_AIRCRAFT}, |
764 { WWT_PUSHTXTBTN, 14, 0, 164, 62, 73, STR_A003_NEW_AIRCRAFT, STR_A022_BUILD_NEW_AIRCRAFT}, |
764 { WWT_PUSHTXTBTN, 14, 165, 330, 62, 73, STR_00E4_LOCATION, STR_A024_CENTER_MAIN_VIEW_ON_HANGAR}, |
765 { WWT_PUSHTXTBTN, 14, 165, 330, 62, 73, STR_00E4_LOCATION, STR_A024_CENTER_MAIN_VIEW_ON_HANGAR}, |
773 DrawAircraftDepotWindow(w); |
774 DrawAircraftDepotWindow(w); |
774 break; |
775 break; |
775 |
776 |
776 case WE_CLICK: |
777 case WE_CLICK: |
777 switch(e->click.widget) { |
778 switch(e->click.widget) { |
778 case 2: /* click aircraft */ |
779 case 3: /* click aircraft */ |
779 AircraftDepotClickAircraft(w, e->click.pt.x, e->click.pt.y); |
780 AircraftDepotClickAircraft(w, e->click.pt.x, e->click.pt.y); |
780 break; |
781 break; |
781 case 5: /* show build aircraft window */ |
782 case 6: /* show build aircraft window */ |
782 ShowBuildAircraftWindow(w->window_number); |
783 ShowBuildAircraftWindow(w->window_number); |
783 break; |
784 break; |
784 case 6: /* scroll to tile */ |
785 case 7: /* scroll to tile */ |
785 ScrollMainWindowToTile(w->window_number); |
786 ScrollMainWindowToTile(w->window_number); |
786 break; |
787 break; |
787 } |
788 } |
788 break; |
789 break; |
789 |
790 |
805 sel == v->index) { |
806 sel == v->index) { |
806 ShowAircraftViewWindow(v); |
807 ShowAircraftViewWindow(v); |
807 } |
808 } |
808 } break; |
809 } break; |
809 |
810 |
810 case 3: |
811 case 4: |
811 if (!HASBIT(w->disabled_state, 3) && |
812 if (!HASBIT(w->disabled_state, 4) && |
812 WP(w,traindepot_d).sel != INVALID_VEHICLE) { |
813 WP(w,traindepot_d).sel != INVALID_VEHICLE) { |
813 Vehicle *v; |
814 Vehicle *v; |
814 |
815 |
815 HandleButtonClick(w, 3); |
816 HandleButtonClick(w, 4); |
816 |
817 |
817 v = &_vehicles[WP(w,traindepot_d).sel]; |
818 v = &_vehicles[WP(w,traindepot_d).sel]; |
818 WP(w,traindepot_d).sel = INVALID_VEHICLE; |
819 WP(w,traindepot_d).sel = INVALID_VEHICLE; |
819 |
820 |
820 _backup_orders_tile = v->tile; |
821 _backup_orders_tile = v->tile; |
887 } |
888 } |
888 |
889 |
889 |
890 |
890 static Widget _player_aircraft_widgets[] = { |
891 static Widget _player_aircraft_widgets[] = { |
891 { WWT_CLOSEBOX, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
892 { WWT_CLOSEBOX, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
892 { WWT_CAPTION, 14, 11, 259, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
893 { WWT_CAPTION, 14, 11, 247, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
|
894 { WWT_STICKYBOX, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON}, |
893 { WWT_PUSHTXTBTN, 14, 0, 80, 14, 25, SRT_SORT_BY, STR_SORT_ORDER_TIP}, |
895 { WWT_PUSHTXTBTN, 14, 0, 80, 14, 25, SRT_SORT_BY, STR_SORT_ORDER_TIP}, |
894 { WWT_PANEL, 14, 81, 237, 14, 25, 0x0, STR_SORT_CRITERIA_TIP}, |
896 { WWT_PANEL, 14, 81, 237, 14, 25, 0x0, STR_SORT_CRITERIA_TIP}, |
895 { WWT_CLOSEBOX, 14, 238, 248, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP}, |
897 { WWT_CLOSEBOX, 14, 238, 248, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP}, |
896 { WWT_PANEL, 14, 249, 259, 14, 25, 0x0, STR_NULL}, |
898 { WWT_PANEL, 14, 249, 259, 14, 25, 0x0, STR_NULL}, |
897 { WWT_MATRIX, 14, 0, 248, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT}, |
899 { WWT_MATRIX, 14, 0, 248, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT}, |
901 { WIDGETS_END}, |
903 { WIDGETS_END}, |
902 }; |
904 }; |
903 |
905 |
904 static Widget _other_player_aircraft_widgets[] = { |
906 static Widget _other_player_aircraft_widgets[] = { |
905 { WWT_CLOSEBOX, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
907 { WWT_CLOSEBOX, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
906 { WWT_CAPTION, 14, 11, 259, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
908 { WWT_CAPTION, 14, 11, 247, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
|
909 { WWT_STICKYBOX, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON}, |
907 { WWT_PUSHTXTBTN, 14, 0, 80, 14, 25, SRT_SORT_BY, STR_SORT_ORDER_TIP}, |
910 { WWT_PUSHTXTBTN, 14, 0, 80, 14, 25, SRT_SORT_BY, STR_SORT_ORDER_TIP}, |
908 { WWT_PANEL, 14, 81, 237, 14, 25, 0x0, STR_SORT_CRITERIA_TIP}, |
911 { WWT_PANEL, 14, 81, 237, 14, 25, 0x0, STR_SORT_CRITERIA_TIP}, |
909 { WWT_CLOSEBOX, 14, 238, 248, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP}, |
912 { WWT_CLOSEBOX, 14, 238, 248, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP}, |
910 { WWT_PANEL, 14, 249, 259, 14, 25, 0x0, STR_NULL}, |
913 { WWT_PANEL, 14, 249, 259, 14, 25, 0x0, STR_NULL}, |
911 { WWT_MATRIX, 14, 0, 248, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT}, |
914 { WWT_MATRIX, 14, 0, 248, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT}, |
993 } |
996 } |
994 } break; |
997 } break; |
995 |
998 |
996 case WE_CLICK: { |
999 case WE_CLICK: { |
997 switch(e->click.widget) { |
1000 switch(e->click.widget) { |
998 case 2: /* Flip sorting method ascending/descending */ |
1001 case 3: /* Flip sorting method ascending/descending */ |
999 vl->flags ^= VL_DESC; |
1002 vl->flags ^= VL_DESC; |
1000 vl->flags |= VL_RESORT; |
1003 vl->flags |= VL_RESORT; |
1001 SetWindowDirty(w); |
1004 SetWindowDirty(w); |
1002 break; |
1005 break; |
1003 |
1006 |
1004 case 3: case 4:/* Select sorting criteria dropdown menu */ |
1007 case 4: case 5:/* Select sorting criteria dropdown menu */ |
1005 ShowDropDownMenu(w, _vehicle_sort_listing, vl->sort_type, 4, 0); |
1008 ShowDropDownMenu(w, _vehicle_sort_listing, vl->sort_type, 5, 0); |
1006 return; |
1009 return; |
1007 |
1010 |
1008 case 6: { /* Matrix to show vehicles */ |
1011 case 7: { /* Matrix to show vehicles */ |
1009 uint32 id_v = (e->click.pt.y - PLY_WND_PRC__OFFSET_TOP_WIDGET) / PLY_WND_PRC__SIZE_OF_ROW_BIG; |
1012 uint32 id_v = (e->click.pt.y - PLY_WND_PRC__OFFSET_TOP_WIDGET) / PLY_WND_PRC__SIZE_OF_ROW_BIG; |
1010 |
1013 |
1011 if (id_v >= w->vscroll.cap) { return;} // click out of bounds |
1014 if (id_v >= w->vscroll.cap) { return;} // click out of bounds |
1012 |
1015 |
1013 id_v += w->vscroll.pos; |
1016 id_v += w->vscroll.pos; |
1077 } |
1080 } |
1078 |
1081 |
1079 static const WindowDesc _player_aircraft_desc = { |
1082 static const WindowDesc _player_aircraft_desc = { |
1080 -1, -1, 260, 182, |
1083 -1, -1, 260, 182, |
1081 WC_AIRCRAFT_LIST,0, |
1084 WC_AIRCRAFT_LIST,0, |
1082 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
1085 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, |
1083 _player_aircraft_widgets, |
1086 _player_aircraft_widgets, |
1084 PlayerAircraftWndProc |
1087 PlayerAircraftWndProc |
1085 }; |
1088 }; |
1086 |
1089 |
1087 static const WindowDesc _other_player_aircraft_desc = { |
1090 static const WindowDesc _other_player_aircraft_desc = { |
1088 -1, -1, 260, 170, |
1091 -1, -1, 260, 170, |
1089 WC_AIRCRAFT_LIST,0, |
1092 WC_AIRCRAFT_LIST,0, |
1090 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
1093 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, |
1091 _other_player_aircraft_widgets, |
1094 _other_player_aircraft_widgets, |
1092 PlayerAircraftWndProc |
1095 PlayerAircraftWndProc |
1093 }; |
1096 }; |
1094 |
1097 |
1095 void ShowPlayerAircraft(int player, int station) |
1098 void ShowPlayerAircraft(int player, int station) |