vehicle_gui.c
changeset 4931 c25335d7e99c
parent 4930 708801d486c6
child 4932 4bf213d0ed53
equal deleted inserted replaced
4930:708801d486c6 4931:c25335d7e99c
   863 	selected_id[1] = selected_id2;
   863 	selected_id[1] = selected_id2;
   864 
   864 
   865 	switch (WP(w,replaceveh_d).vehicletype) {
   865 	switch (WP(w,replaceveh_d).vehicletype) {
   866 		case VEH_Train: {
   866 		case VEH_Train: {
   867 			RailType railtype = _railtype_selected_in_replace_gui;
   867 			RailType railtype = _railtype_selected_in_replace_gui;
   868 			DrawString(157, 99 + (14 * w->vscroll.cap), _rail_types_list[railtype], 0x10);
   868 			DrawString(157, w->widget[14].top + 1, _rail_types_list[railtype], 0x10);
   869 			/* draw sorting criteria string */
   869 			/* draw sorting criteria string */
   870 
   870 
   871 			/* Ensure that custom engines which substituted wagons
   871 			/* Ensure that custom engines which substituted wagons
   872 			 * are sorted correctly.
   872 			 * are sorted correctly.
   873 			 * XXX - DO NOT EVER DO THIS EVER AGAIN! GRRR hacking in wagons as
   873 			 * XXX - DO NOT EVER DO THIS EVER AGAIN! GRRR hacking in wagons as
  1170 
  1170 
  1171 static const Widget _replace_rail_vehicle_widgets[] = {
  1171 static const Widget _replace_rail_vehicle_widgets[] = {
  1172 {   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,       STR_018B_CLOSE_WINDOW},
  1172 {   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,       STR_018B_CLOSE_WINDOW},
  1173 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   443,     0,    13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
  1173 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   443,     0,    13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
  1174 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   444,   455,     0,    13, STR_NULL,       STR_STICKY_BUTTON},
  1174 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   444,   455,     0,    13, STR_NULL,       STR_STICKY_BUTTON},
  1175 {      WWT_PANEL,     RESIZE_TB,    14,     0,   227,   126,   197, STR_NULL,       STR_NULL},
  1175 {      WWT_PANEL,     RESIZE_TB,    14,     0,   227,   126,   227, STR_NULL,       STR_NULL},
  1176 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   210,   221, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
  1176 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   240,   251, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
  1177 {      WWT_PANEL,     RESIZE_TB,    14,   139,   316,   198,   209, STR_NULL,       STR_REPLACE_HELP_REPLACE_INFO_TAB},
  1177 {      WWT_PANEL,     RESIZE_TB,    14,   139,   316,   228,   239, STR_NULL,       STR_REPLACE_HELP_REPLACE_INFO_TAB},
  1178 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   306,   443,   210,   221, STR_REPLACE_VEHICLES_STOP,  STR_REPLACE_HELP_STOP_BUTTON},
  1178 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   306,   443,   240,   251, STR_REPLACE_VEHICLES_STOP,  STR_REPLACE_HELP_STOP_BUTTON},
  1179 {     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   215,    14,   125, 0x801,          STR_REPLACE_HELP_LEFT_ARRAY},
  1179 {     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   215,    14,   125, 0x801,          STR_REPLACE_HELP_LEFT_ARRAY},
  1180 {  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   216,   227,    14,   125, STR_NULL,       STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1180 {  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   216,   227,    14,   125, STR_NULL,       STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1181 {     WWT_MATRIX, RESIZE_BOTTOM,    14,   228,   443,    14,   125, 0x801,          STR_REPLACE_HELP_RIGHT_ARRAY},
  1181 {     WWT_MATRIX, RESIZE_BOTTOM,    14,   228,   443,    14,   125, 0x801,          STR_REPLACE_HELP_RIGHT_ARRAY},
  1182 { WWT_SCROLL2BAR, RESIZE_BOTTOM,    14,   444,   455,    14,   125, STR_NULL,       STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1182 { WWT_SCROLL2BAR, RESIZE_BOTTOM,    14,   444,   455,    14,   125, STR_NULL,       STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1183 {      WWT_PANEL,     RESIZE_TB,    14,   228,   455,   126,   197, STR_NULL,       STR_NULL},
  1183 {      WWT_PANEL,     RESIZE_TB,    14,   228,   455,   126,   227, STR_NULL,       STR_NULL},
  1184 // train specific stuff
  1184 // train specific stuff
  1185 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   198,   209, STR_REPLACE_ENGINE_WAGON_SELECT,       STR_REPLACE_ENGINE_WAGON_SELECT_HELP},  // widget 12
  1185 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   228,   239, STR_REPLACE_ENGINE_WAGON_SELECT,       STR_REPLACE_ENGINE_WAGON_SELECT_HELP},  // widget 12
  1186 {      WWT_PANEL,     RESIZE_TB,    14,   139,   153,   210,   221, STR_NULL,       STR_NULL},
  1186 {      WWT_PANEL,     RESIZE_TB,    14,   139,   153,   240,   251, STR_NULL,       STR_NULL},
  1187 {      WWT_PANEL,     RESIZE_TB,    14,   154,   277,   210,   221, STR_NULL,       STR_REPLACE_HELP_RAILTYPE},
  1187 {      WWT_PANEL,     RESIZE_TB,    14,   154,   277,   240,   251, STR_NULL,       STR_REPLACE_HELP_RAILTYPE},
  1188 {    WWT_TEXTBTN,     RESIZE_TB,    14,   278,   289,   210,   221, STR_0225,       STR_REPLACE_HELP_RAILTYPE},
  1188 {    WWT_TEXTBTN,     RESIZE_TB,    14,   278,   289,   240,   251, STR_0225,       STR_REPLACE_HELP_RAILTYPE},
  1189 {      WWT_PANEL,     RESIZE_TB,    14,   290,   305,   210,   221, STR_NULL,       STR_NULL},
  1189 {      WWT_PANEL,     RESIZE_TB,    14,   290,   305,   240,   251, STR_NULL,       STR_NULL},
  1190 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   317,   455,   198,   209, STR_REPLACE_REMOVE_WAGON,       STR_REPLACE_REMOVE_WAGON_HELP},
  1190 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   317,   455,   228,   239, STR_REPLACE_REMOVE_WAGON,       STR_REPLACE_REMOVE_WAGON_HELP},
  1191 // end of train specific stuff
  1191 // end of train specific stuff
  1192 {  WWT_RESIZEBOX,     RESIZE_TB,    14,   444,   455,   210,   221, STR_NULL,       STR_RESIZE_BUTTON},
  1192 {  WWT_RESIZEBOX,     RESIZE_TB,    14,   444,   455,   240,   251, STR_NULL,       STR_RESIZE_BUTTON},
  1193 {   WIDGETS_END},
  1193 {   WIDGETS_END},
  1194 };
  1194 };
  1195 
  1195 
  1196 static const Widget _replace_road_vehicle_widgets[] = {
  1196 static const Widget _replace_road_vehicle_widgets[] = {
  1197 {   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                    STR_018B_CLOSE_WINDOW},
  1197 {   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                    STR_018B_CLOSE_WINDOW},
  1198 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   443,     0,    13, STR_REPLACE_VEHICLES_WHITE,  STR_018C_WINDOW_TITLE_DRAG_THIS},
  1198 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   443,     0,    13, STR_REPLACE_VEHICLES_WHITE,  STR_018C_WINDOW_TITLE_DRAG_THIS},
  1199 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   444,   455,     0,    13, STR_NULL,                    STR_STICKY_BUTTON},
  1199 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   444,   455,     0,    13, STR_NULL,                    STR_STICKY_BUTTON},
  1200 {      WWT_PANEL,     RESIZE_TB,    14,     0,   227,   126,   197, STR_NULL,                    STR_NULL},
  1200 {      WWT_PANEL,     RESIZE_TB,    14,     0,   227,   126,   217, STR_NULL,                    STR_NULL},
  1201 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   198,   209, STR_REPLACE_VEHICLES_START,  STR_REPLACE_HELP_START_BUTTON},
  1201 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   218,   229, STR_REPLACE_VEHICLES_START,  STR_REPLACE_HELP_START_BUTTON},
  1202 {      WWT_PANEL,     RESIZE_TB,    14,   139,   305,   198,   209, STR_NULL,                    STR_REPLACE_HELP_REPLACE_INFO_TAB},
  1202 {      WWT_PANEL,     RESIZE_TB,    14,   139,   305,   218,   229, STR_NULL,                    STR_REPLACE_HELP_REPLACE_INFO_TAB},
  1203 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   306,   443,   198,   209, STR_REPLACE_VEHICLES_STOP,   STR_REPLACE_HELP_STOP_BUTTON},
  1203 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   306,   443,   218,   229, STR_REPLACE_VEHICLES_STOP,   STR_REPLACE_HELP_STOP_BUTTON},
  1204 {     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   215,    14,   125, 0x801,                       STR_REPLACE_HELP_LEFT_ARRAY},
  1204 {     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   215,    14,   125, 0x801,                       STR_REPLACE_HELP_LEFT_ARRAY},
  1205 {  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   216,   227,    14,   125, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1205 {  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   216,   227,    14,   125, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1206 {     WWT_MATRIX, RESIZE_BOTTOM,    14,   228,   443,    14,   125, 0x801,                       STR_REPLACE_HELP_RIGHT_ARRAY},
  1206 {     WWT_MATRIX, RESIZE_BOTTOM,    14,   228,   443,    14,   125, 0x801,                       STR_REPLACE_HELP_RIGHT_ARRAY},
  1207 { WWT_SCROLL2BAR, RESIZE_BOTTOM,    14,   444,   455,    14,   125, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1207 { WWT_SCROLL2BAR, RESIZE_BOTTOM,    14,   444,   455,    14,   125, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1208 {      WWT_PANEL,     RESIZE_TB,    14,   228,   455,   126,   197, STR_NULL,                    STR_NULL},
  1208 {      WWT_PANEL,     RESIZE_TB,    14,   228,   455,   126,   217, STR_NULL,                    STR_NULL},
  1209 {  WWT_RESIZEBOX,     RESIZE_TB,    14,   444,   455,   198,   209, STR_NULL,                    STR_RESIZE_BUTTON},
  1209 {  WWT_RESIZEBOX,     RESIZE_TB,    14,   444,   455,   218,   229, STR_NULL,                    STR_RESIZE_BUTTON},
  1210 {   WIDGETS_END},
  1210 {   WIDGETS_END},
  1211 };
  1211 };
  1212 
  1212 
  1213 static const Widget _replace_ship_aircraft_vehicle_widgets[] = {
  1213 static const Widget _replace_ship_aircraft_vehicle_widgets[] = {
  1214 {   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                    STR_018B_CLOSE_WINDOW},
  1214 {   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                    STR_018B_CLOSE_WINDOW},
  1215 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   443,     0,    13, STR_REPLACE_VEHICLES_WHITE,  STR_018C_WINDOW_TITLE_DRAG_THIS},
  1215 {    WWT_CAPTION,   RESIZE_NONE,    14,    11,   443,     0,    13, STR_REPLACE_VEHICLES_WHITE,  STR_018C_WINDOW_TITLE_DRAG_THIS},
  1216 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   444,   455,     0,    13, STR_NULL,                    STR_STICKY_BUTTON},
  1216 {  WWT_STICKYBOX,   RESIZE_NONE,    14,   444,   455,     0,    13, STR_NULL,                    STR_STICKY_BUTTON},
  1217 {      WWT_PANEL,     RESIZE_TB,    14,     0,   227,   110,   181, STR_NULL,                    STR_NULL},
  1217 {      WWT_PANEL,     RESIZE_TB,    14,     0,   227,   110,   201, STR_NULL,                    STR_NULL},
  1218 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   182,   193, STR_REPLACE_VEHICLES_START,  STR_REPLACE_HELP_START_BUTTON},
  1218 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   138,   202,   213, STR_REPLACE_VEHICLES_START,  STR_REPLACE_HELP_START_BUTTON},
  1219 {      WWT_PANEL,     RESIZE_TB,    14,   139,   305,   182,   193, STR_NULL,                    STR_REPLACE_HELP_REPLACE_INFO_TAB},
  1219 {      WWT_PANEL,     RESIZE_TB,    14,   139,   305,   202,   213, STR_NULL,                    STR_REPLACE_HELP_REPLACE_INFO_TAB},
  1220 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   306,   443,   182,   193, STR_REPLACE_VEHICLES_STOP,   STR_REPLACE_HELP_STOP_BUTTON},
  1220 { WWT_PUSHTXTBTN,     RESIZE_TB,    14,   306,   443,   202,   213, STR_REPLACE_VEHICLES_STOP,   STR_REPLACE_HELP_STOP_BUTTON},
  1221 {     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   215,    14,   109, 0x401,                       STR_REPLACE_HELP_LEFT_ARRAY},
  1221 {     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   215,    14,   109, 0x401,                       STR_REPLACE_HELP_LEFT_ARRAY},
  1222 {  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   216,   227,    14,   109, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1222 {  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   216,   227,    14,   109, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1223 {     WWT_MATRIX, RESIZE_BOTTOM,    14,   228,   443,    14,   109, 0x401,                       STR_REPLACE_HELP_RIGHT_ARRAY},
  1223 {     WWT_MATRIX, RESIZE_BOTTOM,    14,   228,   443,    14,   109, 0x401,                       STR_REPLACE_HELP_RIGHT_ARRAY},
  1224 { WWT_SCROLL2BAR, RESIZE_BOTTOM,    14,   444,   455,    14,   109, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1224 { WWT_SCROLL2BAR, RESIZE_BOTTOM,    14,   444,   455,    14,   109, STR_NULL,                    STR_0190_SCROLL_BAR_SCROLLS_LIST},
  1225 {      WWT_PANEL,     RESIZE_TB,    14,   228,   455,   110,   181, STR_NULL,                    STR_NULL},
  1225 {      WWT_PANEL,     RESIZE_TB,    14,   228,   455,   110,   201, STR_NULL,                    STR_NULL},
  1226 {  WWT_RESIZEBOX,     RESIZE_TB,    14,   444,   455,   182,   193, STR_NULL,                    STR_RESIZE_BUTTON},
  1226 {  WWT_RESIZEBOX,     RESIZE_TB,    14,   444,   455,   202,   213, STR_NULL,                    STR_RESIZE_BUTTON},
  1227 {   WIDGETS_END},
  1227 {   WIDGETS_END},
  1228 };
  1228 };
  1229 
  1229 
  1230 static const WindowDesc _replace_rail_vehicle_desc = {
  1230 static const WindowDesc _replace_rail_vehicle_desc = {
  1231 	-1, -1, 456, 222,
  1231 	-1, -1, 456, 252,
  1232 	WC_REPLACE_VEHICLE,0,
  1232 	WC_REPLACE_VEHICLE,0,
  1233 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
  1233 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
  1234 	_replace_rail_vehicle_widgets,
  1234 	_replace_rail_vehicle_widgets,
  1235 	ReplaceVehicleWndProc
  1235 	ReplaceVehicleWndProc
  1236 };
  1236 };
  1237 
  1237 
  1238 static const WindowDesc _replace_road_vehicle_desc = {
  1238 static const WindowDesc _replace_road_vehicle_desc = {
  1239 	-1, -1, 456, 210,
  1239 	-1, -1, 456, 230,
  1240 	WC_REPLACE_VEHICLE,0,
  1240 	WC_REPLACE_VEHICLE,0,
  1241 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
  1241 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
  1242 	_replace_road_vehicle_widgets,
  1242 	_replace_road_vehicle_widgets,
  1243 	ReplaceVehicleWndProc
  1243 	ReplaceVehicleWndProc
  1244 };
  1244 };
  1245 
  1245 
  1246 static const WindowDesc _replace_ship_aircraft_vehicle_desc = {
  1246 static const WindowDesc _replace_ship_aircraft_vehicle_desc = {
  1247 	-1, -1, 456, 194,
  1247 	-1, -1, 456, 214,
  1248 	WC_REPLACE_VEHICLE,0,
  1248 	WC_REPLACE_VEHICLE,0,
  1249 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
  1249 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
  1250 	_replace_ship_aircraft_vehicle_widgets,
  1250 	_replace_ship_aircraft_vehicle_widgets,
  1251 	ReplaceVehicleWndProc
  1251 	ReplaceVehicleWndProc
  1252 };
  1252 };