282 } break; |
282 } break; |
283 } |
283 } |
284 } break; |
284 } break; |
285 |
285 |
286 case WE_ON_EDIT_TEXT: { |
286 case WE_ON_EDIT_TEXT: { |
287 if (e->edittext.str[0] != '\0') { |
287 if (e->we.edittext.str[0] != '\0') { |
288 _cmd_text = e->edittext.str; |
288 _cmd_text = e->we.edittext.str; |
289 DoCommandP(0, WP(w,buildtrain_d).rename_engine, 0, NULL, |
289 DoCommandP(0, WP(w,buildtrain_d).rename_engine, 0, NULL, |
290 CMD_RENAME_ENGINE | CMD_MSG(STR_886B_CAN_T_RENAME_TRAIN_VEHICLE)); |
290 CMD_RENAME_ENGINE | CMD_MSG(STR_886B_CAN_T_RENAME_TRAIN_VEHICLE)); |
291 } |
291 } |
292 } break; |
292 } break; |
293 |
293 |
294 case WE_RESIZE: { |
294 case WE_RESIZE: { |
295 if (e->sizing.diff.y == 0) |
295 if (e->we.sizing.diff.y == 0) |
296 break; |
296 break; |
297 |
297 |
298 w->vscroll.cap += e->sizing.diff.y / 14; |
298 w->vscroll.cap += e->we.sizing.diff.y / 14; |
299 w->widget[2].data = (w->vscroll.cap << 8) + 1; |
299 w->widget[2].data = (w->vscroll.cap << 8) + 1; |
300 } break; |
300 } break; |
301 } |
301 } |
302 } |
302 } |
303 |
303 |
651 case WE_PAINT: |
651 case WE_PAINT: |
652 DrawTrainDepotWindow(w); |
652 DrawTrainDepotWindow(w); |
653 break; |
653 break; |
654 |
654 |
655 case WE_CLICK: { |
655 case WE_CLICK: { |
656 switch (e->click.widget) { |
656 switch (e->we.click.widget) { |
657 case 8: |
657 case 8: |
658 ResetObjectToPlace(); |
658 ResetObjectToPlace(); |
659 ShowBuildTrainWindow(w->window_number); |
659 ShowBuildTrainWindow(w->window_number); |
660 break; |
660 break; |
661 |
661 |
662 case 10: ScrollMainWindowToTile(w->window_number); break; |
662 case 10: ScrollMainWindowToTile(w->window_number); break; |
663 |
663 |
664 case 6: |
664 case 6: |
665 TrainDepotClickTrain(w, e->click.pt.x, e->click.pt.y); |
665 TrainDepotClickTrain(w, e->we.click.pt.x, e->we.click.pt.y); |
666 break; |
666 break; |
667 case 9: /* clone button */ |
667 case 9: /* clone button */ |
668 InvalidateWidget(w, 9); |
668 InvalidateWidget(w, 9); |
669 TOGGLEBIT(w->click_state, 9); |
669 TOGGLEBIT(w->click_state, 9); |
670 |
670 |
703 case WE_DESTROY: |
703 case WE_DESTROY: |
704 DeleteWindowById(WC_BUILD_VEHICLE, w->window_number); |
704 DeleteWindowById(WC_BUILD_VEHICLE, w->window_number); |
705 break; |
705 break; |
706 |
706 |
707 case WE_DRAGDROP: { |
707 case WE_DRAGDROP: { |
708 switch (e->click.widget) { |
708 switch (e->we.click.widget) { |
709 case 4: case 5: { |
709 case 4: case 5: { |
710 Vehicle *v; |
710 Vehicle *v; |
711 int sell_cmd; |
711 int sell_cmd; |
712 |
712 |
713 /* sell vehicle */ |
713 /* sell vehicle */ |
714 if (w->disabled_state & (1 << e->click.widget)) |
714 if (w->disabled_state & (1 << e->we.click.widget)) |
715 return; |
715 return; |
716 |
716 |
717 if (WP(w,traindepot_d).sel == INVALID_VEHICLE) |
717 if (WP(w,traindepot_d).sel == INVALID_VEHICLE) |
718 return; |
718 return; |
719 |
719 |
720 v = GetVehicle(WP(w,traindepot_d).sel); |
720 v = GetVehicle(WP(w,traindepot_d).sel); |
721 |
721 |
722 WP(w,traindepot_d).sel = INVALID_VEHICLE; |
722 WP(w,traindepot_d).sel = INVALID_VEHICLE; |
723 SetWindowDirty(w); |
723 SetWindowDirty(w); |
724 |
724 |
725 HandleButtonClick(w, e->click.widget); |
725 HandleButtonClick(w, e->we.click.widget); |
726 |
726 |
727 sell_cmd = (e->click.widget == 5 || _ctrl_pressed) ? 1 : 0; |
727 sell_cmd = (e->we.click.widget == 5 || _ctrl_pressed) ? 1 : 0; |
728 |
728 |
729 if (!IsFrontEngine(v)) { |
729 if (!IsFrontEngine(v)) { |
730 DoCommandP(v->tile, v->index, sell_cmd, NULL, CMD_SELL_RAIL_WAGON | CMD_MSG(STR_8839_CAN_T_SELL_RAILROAD_VEHICLE)); |
730 DoCommandP(v->tile, v->index, sell_cmd, NULL, CMD_SELL_RAIL_WAGON | CMD_MSG(STR_8839_CAN_T_SELL_RAILROAD_VEHICLE)); |
731 } else { |
731 } else { |
732 _backup_orders_tile = v->tile; |
732 _backup_orders_tile = v->tile; |
741 VehicleID sel = WP(w,traindepot_d).sel; |
741 VehicleID sel = WP(w,traindepot_d).sel; |
742 |
742 |
743 WP(w,traindepot_d).sel = INVALID_VEHICLE; |
743 WP(w,traindepot_d).sel = INVALID_VEHICLE; |
744 SetWindowDirty(w); |
744 SetWindowDirty(w); |
745 |
745 |
746 if (GetVehicleFromTrainDepotWndPt(w, e->dragdrop.pt.x, e->dragdrop.pt.y, &gdvp) == 0 && |
746 if (GetVehicleFromTrainDepotWndPt(w, e->we.dragdrop.pt.x, e->we.dragdrop.pt.y, &gdvp) == 0 && |
747 sel != INVALID_VEHICLE) { |
747 sel != INVALID_VEHICLE) { |
748 if (gdvp.wagon != NULL && gdvp.wagon->index == sel && _ctrl_pressed) { |
748 if (gdvp.wagon != NULL && gdvp.wagon->index == sel && _ctrl_pressed) { |
749 DoCommandP(GetVehicle(sel)->tile, GetVehicle(sel)->index, true, NULL, CMD_REVERSE_TRAIN_DIRECTION | CMD_MSG(STR_9033_CAN_T_MAKE_VEHICLE_TURN)); |
749 DoCommandP(GetVehicle(sel)->tile, GetVehicle(sel)->index, true, NULL, CMD_REVERSE_TRAIN_DIRECTION | CMD_MSG(STR_9033_CAN_T_MAKE_VEHICLE_TURN)); |
750 } else if (gdvp.wagon == NULL || gdvp.wagon->index != sel) { |
750 } else if (gdvp.wagon == NULL || gdvp.wagon->index != sel) { |
751 TrainDepotMoveVehicle(gdvp.wagon, sel, gdvp.head); |
751 TrainDepotMoveVehicle(gdvp.wagon, sel, gdvp.head); |
1010 DrawStringCenteredTruncated(w->widget[5].left + 8, w->widget[5].right, w->widget[5].top + 1, str, 0); |
1010 DrawStringCenteredTruncated(w->widget[5].left + 8, w->widget[5].right, w->widget[5].top + 1, str, 0); |
1011 DrawWindowViewport(w); |
1011 DrawWindowViewport(w); |
1012 } break; |
1012 } break; |
1013 |
1013 |
1014 case WE_CLICK: { |
1014 case WE_CLICK: { |
1015 int wid = e->click.widget; |
1015 int wid = e->we.click.widget; |
1016 Vehicle *v = GetVehicle(w->window_number); |
1016 Vehicle *v = GetVehicle(w->window_number); |
1017 |
1017 |
1018 switch (wid) { |
1018 switch (wid) { |
1019 case 5: /* start/stop train */ |
1019 case 5: /* start/stop train */ |
1020 DoCommandP(v->tile, v->index, 0, NULL, CMD_START_STOP_TRAIN | CMD_MSG(STR_883B_CAN_T_STOP_START_TRAIN)); |
1020 DoCommandP(v->tile, v->index, 0, NULL, CMD_START_STOP_TRAIN | CMD_MSG(STR_883B_CAN_T_STOP_START_TRAIN)); |
1046 break; |
1046 break; |
1047 } |
1047 } |
1048 } break; |
1048 } break; |
1049 |
1049 |
1050 case WE_RESIZE: |
1050 case WE_RESIZE: |
1051 w->viewport->width += e->sizing.diff.x; |
1051 w->viewport->width += e->we.sizing.diff.x; |
1052 w->viewport->height += e->sizing.diff.y; |
1052 w->viewport->height += e->we.sizing.diff.y; |
1053 w->viewport->virtual_width += e->sizing.diff.x; |
1053 w->viewport->virtual_width += e->we.sizing.diff.x; |
1054 w->viewport->virtual_height += e->sizing.diff.y; |
1054 w->viewport->virtual_height += e->we.sizing.diff.y; |
1055 break; |
1055 break; |
1056 |
1056 |
1057 case WE_DESTROY: |
1057 case WE_DESTROY: |
1058 DeleteWindowById(WC_VEHICLE_REFIT, w->window_number); |
1058 DeleteWindowById(WC_VEHICLE_REFIT, w->window_number); |
1059 DeleteWindowById(WC_VEHICLE_ORDERS, w->window_number); |
1059 DeleteWindowById(WC_VEHICLE_ORDERS, w->window_number); |
1267 DrawTrainDetailsWindow(w); |
1267 DrawTrainDetailsWindow(w); |
1268 break; |
1268 break; |
1269 case WE_CLICK: { |
1269 case WE_CLICK: { |
1270 int mod; |
1270 int mod; |
1271 const Vehicle *v; |
1271 const Vehicle *v; |
1272 switch (e->click.widget) { |
1272 switch (e->we.click.widget) { |
1273 case 2: /* name train */ |
1273 case 2: /* name train */ |
1274 v = GetVehicle(w->window_number); |
1274 v = GetVehicle(w->window_number); |
1275 SetDParam(0, v->unitnumber); |
1275 SetDParam(0, v->unitnumber); |
1276 ShowQueryString(v->string_id, STR_8865_NAME_TRAIN, 31, 150, w->window_class, w->window_number, CS_ALPHANUMERAL); |
1276 ShowQueryString(v->string_id, STR_8865_NAME_TRAIN, 31, 150, w->window_class, w->window_number, CS_ALPHANUMERAL); |
1277 break; |
1277 break; |
1296 case 12: // Total cargo |
1296 case 12: // Total cargo |
1297 CLRBIT(w->disabled_state, 9); |
1297 CLRBIT(w->disabled_state, 9); |
1298 CLRBIT(w->disabled_state, 10); |
1298 CLRBIT(w->disabled_state, 10); |
1299 CLRBIT(w->disabled_state, 11); |
1299 CLRBIT(w->disabled_state, 11); |
1300 CLRBIT(w->disabled_state, 12); |
1300 CLRBIT(w->disabled_state, 12); |
1301 SETBIT(w->disabled_state, e->click.widget); |
1301 SETBIT(w->disabled_state, e->we.click.widget); |
1302 WP(w,traindetails_d).tab = e->click.widget - 9; |
1302 WP(w,traindetails_d).tab = e->we.click.widget - 9; |
1303 SetWindowDirty(w); |
1303 SetWindowDirty(w); |
1304 break; |
1304 break; |
1305 } |
1305 } |
1306 } break; |
1306 } break; |
1307 |
1307 |
1308 case WE_ON_EDIT_TEXT: |
1308 case WE_ON_EDIT_TEXT: |
1309 if (e->edittext.str[0] != '\0') { |
1309 if (e->we.edittext.str[0] != '\0') { |
1310 _cmd_text = e->edittext.str; |
1310 _cmd_text = e->we.edittext.str; |
1311 DoCommandP(0, w->window_number, 0, NULL, |
1311 DoCommandP(0, w->window_number, 0, NULL, |
1312 CMD_NAME_VEHICLE | CMD_MSG(STR_8866_CAN_T_NAME_TRAIN)); |
1312 CMD_NAME_VEHICLE | CMD_MSG(STR_8866_CAN_T_NAME_TRAIN)); |
1313 } |
1313 } |
1314 break; |
1314 break; |
1315 |
1315 |
1316 case WE_RESIZE: |
1316 case WE_RESIZE: |
1317 if (e->sizing.diff.y == 0) break; |
1317 if (e->we.sizing.diff.y == 0) break; |
1318 |
1318 |
1319 w->vscroll.cap += e->sizing.diff.y / 14; |
1319 w->vscroll.cap += e->we.sizing.diff.y / 14; |
1320 w->widget[4].data = (w->vscroll.cap << 8) + 1; |
1320 w->widget[4].data = (w->vscroll.cap << 8) + 1; |
1321 break; |
1321 break; |
1322 } |
1322 } |
1323 } |
1323 } |
1324 |
1324 |