src/autoreplace_gui.cpp
changeset 9116 f2491d3c321b
parent 9111 48ce04029fe4
child 9135 9a96282bd1f8
equal deleted inserted replaced
9115:47ae980bace3 9116:f2491d3c321b
   366 				if (WP(w, replaceveh_d).sel_engine[i] != INVALID_ENGINE) {
   366 				if (WP(w, replaceveh_d).sel_engine[i] != INVALID_ENGINE) {
   367 					const Widget *wi = &w->widget[i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS];
   367 					const Widget *wi = &w->widget[i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS];
   368 					int text_end = DrawVehiclePurchaseInfo(wi->left + 2, wi->top + 1, wi->right - wi->left - 2, WP(w, replaceveh_d).sel_engine[i]);
   368 					int text_end = DrawVehiclePurchaseInfo(wi->left + 2, wi->top + 1, wi->right - wi->left - 2, WP(w, replaceveh_d).sel_engine[i]);
   369 
   369 
   370 					if (text_end > wi->bottom) {
   370 					if (text_end > wi->bottom) {
   371 						SetWindowDirty(w);
   371 						w->SetDirty();
   372 						ResizeWindowForWidget(w, i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS, 0, text_end - wi->bottom);
   372 						ResizeWindowForWidget(w, i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS, 0, text_end - wi->bottom);
   373 						SetWindowDirty(w);
   373 						w->SetDirty();
   374 					}
   374 					}
   375 				}
   375 				}
   376 			}
   376 			}
   377 
   377 
   378 		} break;   // end of paint
   378 		} break;   // end of paint
   381 			switch (e->we.click.widget) {
   381 			switch (e->we.click.widget) {
   382 				case RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE:
   382 				case RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE:
   383 					WP(w, replaceveh_d).wagon_btnstate = !(WP(w, replaceveh_d).wagon_btnstate);
   383 					WP(w, replaceveh_d).wagon_btnstate = !(WP(w, replaceveh_d).wagon_btnstate);
   384 					WP(w, replaceveh_d).update_left = true;
   384 					WP(w, replaceveh_d).update_left = true;
   385 					WP(w, replaceveh_d).init_lists  = true;
   385 					WP(w, replaceveh_d).init_lists  = true;
   386 					SetWindowDirty(w);
   386 					w->SetDirty();
   387 					break;
   387 					break;
   388 
   388 
   389 				case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: /* Railtype selection dropdown menu */
   389 				case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: /* Railtype selection dropdown menu */
   390 					ShowDropDownMenu(w, _rail_types_list, _railtype_selected_in_replace_gui, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN, 0, ~GetPlayer(_local_player)->avail_railtypes);
   390 					ShowDropDownMenu(w, _rail_types_list, _railtype_selected_in_replace_gui, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN, 0, ~GetPlayer(_local_player)->avail_railtypes);
   391 					break;
   391 					break;
   420 						WP(w, replaceveh_d).sel_engine[click_side] = e;
   420 						WP(w, replaceveh_d).sel_engine[click_side] = e;
   421 						if (click_side == 0) {
   421 						if (click_side == 0) {
   422 							WP(w, replaceveh_d).update_right = true;
   422 							WP(w, replaceveh_d).update_right = true;
   423 							WP(w, replaceveh_d).init_lists   = true;
   423 							WP(w, replaceveh_d).init_lists   = true;
   424 						}
   424 						}
   425 						SetWindowDirty(w);
   425 						w->SetDirty();
   426 						}
   426 						}
   427 					break;
   427 					break;
   428 					}
   428 					}
   429 			}
   429 			}
   430 			break;
   430 			break;
   439 			w->vscroll2.pos = 0;
   439 			w->vscroll2.pos = 0;
   440 			/* Rebuild the lists */
   440 			/* Rebuild the lists */
   441 			WP(w, replaceveh_d).update_left  = true;
   441 			WP(w, replaceveh_d).update_left  = true;
   442 			WP(w, replaceveh_d).update_right = true;
   442 			WP(w, replaceveh_d).update_right = true;
   443 			WP(w, replaceveh_d).init_lists   = true;
   443 			WP(w, replaceveh_d).init_lists   = true;
   444 			SetWindowDirty(w);
   444 			w->SetDirty();
   445 		} break;
   445 		} break;
   446 
   446 
   447 		case WE_RESIZE:
   447 		case WE_RESIZE:
   448 		{
   448 		{
   449 			w->vscroll.cap  += e->we.sizing.diff.y / (int)w->resize.step_height;
   449 			w->vscroll.cap  += e->we.sizing.diff.y / (int)w->resize.step_height;
   470 		} break;
   470 		} break;
   471 
   471 
   472 		case WE_INVALIDATE_DATA:
   472 		case WE_INVALIDATE_DATA:
   473 			if (_rebuild_left_list) WP(w, replaceveh_d).update_left = true;
   473 			if (_rebuild_left_list) WP(w, replaceveh_d).update_left = true;
   474 			if (_rebuild_right_list) WP(w, replaceveh_d).update_right = true;
   474 			if (_rebuild_right_list) WP(w, replaceveh_d).update_right = true;
   475 			SetWindowDirty(w);
   475 			w->SetDirty();
   476 			break;
   476 			break;
   477 
   477 
   478 		case WE_DESTROY:
   478 		case WE_DESTROY:
   479 			EngList_RemoveAll(&WP(w, replaceveh_d).list[0]);
   479 			EngList_RemoveAll(&WP(w, replaceveh_d).list[0]);
   480 			EngList_RemoveAll(&WP(w, replaceveh_d).list[1]);
   480 			EngList_RemoveAll(&WP(w, replaceveh_d).list[1]);