From 11e1d3b47c653f3ab2663d9b652b2254d27201fb Mon Sep 17 00:00:00 2001 From: alberth Date: Sat, 24 Oct 2009 15:19:06 +0000 Subject: [PATCH] (svn r17854) -Codechange: Merge different cases of setting widget data together in the view vehicle window. --- src/vehicle_gui.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 5420442dda..0e595ba5f8 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1642,6 +1642,7 @@ static bool IsVehicleRefitable(const Vehicle *v) return false; } +/** Window manager class for viewing a vehicle. */ struct VehicleViewWindow : Window { private: /** Display planes available in the vehicle view window. */ @@ -1680,38 +1681,37 @@ private: public: VehicleViewWindow(const WindowDesc *desc, WindowNumber window_number) : Window() { - const Vehicle *v = Vehicle::Get(window_number); - this->CreateNestedTree(desc); - /* - * fill in data and tooltip codes for the widgets and - * move some of the buttons for trains - */ + /* Sprites for the 'send to depot' button indexed by vehicle type. */ + static const SpriteID vehicle_view_goto_depot_sprites[] = { + SPR_SEND_TRAIN_TODEPOT, + SPR_SEND_ROADVEH_TODEPOT, + SPR_SEND_SHIP_TODEPOT, + SPR_SEND_AIRCRAFT_TODEPOT, + }; + const Vehicle *v = Vehicle::Get(window_number); + this->GetWidget(VVW_WIDGET_GOTO_DEPOT)->widget_data = vehicle_view_goto_depot_sprites[v->type]; + + /* Sprites for the 'clone vehicle' button indexed by vehicle type. */ + static const SpriteID vehicle_view_clone_sprites[] = { + SPR_CLONE_TRAIN, + SPR_CLONE_ROADVEH, + SPR_CLONE_SHIP, + SPR_CLONE_AIRCRAFT, + }; + this->GetWidget(VVW_WIDGET_CLONE_VEH)->widget_data = vehicle_view_clone_sprites[v->type]; + switch (v->type) { case VEH_TRAIN: - this->GetWidget(VVW_WIDGET_GOTO_DEPOT)->widget_data = SPR_SEND_TRAIN_TODEPOT; - this->GetWidget(VVW_WIDGET_CLONE_VEH)->widget_data = SPR_CLONE_TRAIN; - this->GetWidget(VVW_WIDGET_TURN_AROUND)->tool_tip = STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP; break; case VEH_ROAD: - this->GetWidget(VVW_WIDGET_GOTO_DEPOT)->widget_data = SPR_SEND_ROADVEH_TODEPOT; - this->GetWidget(VVW_WIDGET_CLONE_VEH)->widget_data = SPR_CLONE_ROADVEH; break; case VEH_SHIP: - this->GetWidget(VVW_WIDGET_GOTO_DEPOT)->widget_data = SPR_SEND_SHIP_TODEPOT; - this->GetWidget(VVW_WIDGET_CLONE_VEH)->widget_data = SPR_CLONE_SHIP; - - this->SelectPlane(SEL_RT_REFIT); - break; - case VEH_AIRCRAFT: - this->GetWidget(VVW_WIDGET_GOTO_DEPOT)->widget_data = SPR_SEND_AIRCRAFT_TODEPOT; - this->GetWidget(VVW_WIDGET_CLONE_VEH)->widget_data = SPR_CLONE_AIRCRAFT; - this->SelectPlane(SEL_RT_REFIT); break;