src/road_gui.cpp
changeset 5933 0835f3342b79
parent 5838 9c3129cb019b
child 5940 bfa6d1c71afc
equal deleted inserted replaced
5932:fe0b8f92f014 5933:0835f3342b79
   174 	SndPlayFx(SND_15_BEEP);
   174 	SndPlayFx(SND_15_BEEP);
   175 	ToggleWidgetLoweredState(w, RTW_REMOVE);
   175 	ToggleWidgetLoweredState(w, RTW_REMOVE);
   176 	SetSelectionRed(IsWindowWidgetLowered(w, RTW_REMOVE));
   176 	SetSelectionRed(IsWindowWidgetLowered(w, RTW_REMOVE));
   177 }
   177 }
   178 
   178 
   179 static void BuildRoadClick_Landscaping(Window *w)
       
   180 {
       
   181 	ShowTerraformToolbar();
       
   182 }
       
   183 
   179 
   184 static OnButtonClick* const _build_road_button_proc[] = {
   180 static OnButtonClick* const _build_road_button_proc[] = {
   185 	BuildRoadClick_NE,
   181 	BuildRoadClick_NE,
   186 	BuildRoadClick_NW,
   182 	BuildRoadClick_NW,
   187 	BuildRoadClick_Demolish,
   183 	BuildRoadClick_Demolish,
   188 	BuildRoadClick_Depot,
   184 	BuildRoadClick_Depot,
   189 	BuildRoadClick_BusStation,
   185 	BuildRoadClick_BusStation,
   190 	BuildRoadClick_TruckStation,
   186 	BuildRoadClick_TruckStation,
   191 	BuildRoadClick_Bridge,
   187 	BuildRoadClick_Bridge,
   192 	BuildRoadClick_Tunnel,
   188 	BuildRoadClick_Tunnel,
   193 	BuildRoadClick_Remove,
   189 	BuildRoadClick_Remove
   194 	BuildRoadClick_Landscaping,
       
   195 };
   190 };
   196 
   191 
   197 static void BuildRoadToolbWndProc(Window *w, WindowEvent *e)
   192 static void BuildRoadToolbWndProc(Window *w, WindowEvent *e)
   198 {
   193 {
   199 	switch (e->event) {
   194 	switch (e->event) {
   219 			case '5': BuildRoadClick_BusStation(w);   break;
   214 			case '5': BuildRoadClick_BusStation(w);   break;
   220 			case '6': BuildRoadClick_TruckStation(w); break;
   215 			case '6': BuildRoadClick_TruckStation(w); break;
   221 			case 'B': BuildRoadClick_Bridge(w);       break;
   216 			case 'B': BuildRoadClick_Bridge(w);       break;
   222 			case 'T': BuildRoadClick_Tunnel(w);       break;
   217 			case 'T': BuildRoadClick_Tunnel(w);       break;
   223 			case 'R': BuildRoadClick_Remove(w);       break;
   218 			case 'R': BuildRoadClick_Remove(w);       break;
   224 			case 'L': BuildRoadClick_Landscaping(w);  break;
       
   225 			default: return;
   219 			default: return;
   226 		}
   220 		}
   227 		MarkTileDirty(_thd.pos.x, _thd.pos.y); // redraw tile selection
   221 		MarkTileDirty(_thd.pos.x, _thd.pos.y); // redraw tile selection
   228 		e->we.keypress.cont = false;
   222 		e->we.keypress.cont = false;
   229 		break;
   223 		break;
   305 	}
   299 	}
   306 }
   300 }
   307 
   301 
   308 static const Widget _build_road_widgets[] = {
   302 static const Widget _build_road_widgets[] = {
   309 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},
   303 {   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},
   310 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   227,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
   304 {    WWT_CAPTION,   RESIZE_NONE,     7,    11,   205,     0,    13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
   311 {  WWT_STICKYBOX,   RESIZE_NONE,     7,   228,   239,     0,    13, 0x0,                        STR_STICKY_BUTTON},
   305 {  WWT_STICKYBOX,   RESIZE_NONE,     7,   206,   217,     0,    13, 0x0,                        STR_STICKY_BUTTON},
   312 
   306 
   313 {     WWT_IMGBTN,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_ROAD_NW,            STR_180B_BUILD_ROAD_SECTION},
   307 {     WWT_IMGBTN,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_ROAD_NW,            STR_180B_BUILD_ROAD_SECTION},
   314 {     WWT_IMGBTN,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_ROAD_NE,            STR_180B_BUILD_ROAD_SECTION},
   308 {     WWT_IMGBTN,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_ROAD_NE,            STR_180B_BUILD_ROAD_SECTION},
   315 {     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},
   309 {     WWT_IMGBTN,   RESIZE_NONE,     7,    44,    65,    14,    35, SPR_IMG_DYNAMITE,           STR_018D_DEMOLISH_BUILDINGS_ETC},
   316 {     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_ROAD_VEHICLE_DEPOT},
   310 {     WWT_IMGBTN,   RESIZE_NONE,     7,    66,    87,    14,    35, SPR_IMG_ROAD_DEPOT,         STR_180C_BUILD_ROAD_VEHICLE_DEPOT},
   317 {     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   109,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_BUS_STATION},
   311 {     WWT_IMGBTN,   RESIZE_NONE,     7,    88,   109,    14,    35, SPR_IMG_BUS_STATION,        STR_180D_BUILD_BUS_STATION},
   318 {     WWT_IMGBTN,   RESIZE_NONE,     7,   110,   131,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_TRUCK_LOADING_BAY},
   312 {     WWT_IMGBTN,   RESIZE_NONE,     7,   110,   131,    14,    35, SPR_IMG_TRUCK_BAY,          STR_180E_BUILD_TRUCK_LOADING_BAY},
   319 {     WWT_IMGBTN,   RESIZE_NONE,     7,   132,   173,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},
   313 {     WWT_IMGBTN,   RESIZE_NONE,     7,   132,   173,    14,    35, SPR_IMG_BRIDGE,             STR_180F_BUILD_ROAD_BRIDGE},
   320 {     WWT_IMGBTN,   RESIZE_NONE,     7,   174,   195,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},
   314 {     WWT_IMGBTN,   RESIZE_NONE,     7,   174,   195,    14,    35, SPR_IMG_ROAD_TUNNEL,        STR_1810_BUILD_ROAD_TUNNEL},
   321 {     WWT_IMGBTN,   RESIZE_NONE,     7,   196,   217,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR},
   315 {     WWT_IMGBTN,   RESIZE_NONE,     7,   196,   217,    14,    35, SPR_IMG_REMOVE,             STR_1811_TOGGLE_BUILD_REMOVE_FOR},
   322 {     WWT_IMGBTN,   RESIZE_NONE,     7,   218,   239,    14,    35, SPR_IMG_LANDSCAPING,        STR_LANDSCAPING_TOOLBAR_TIP},
       
   323 {   WIDGETS_END},
   316 {   WIDGETS_END},
   324 };
   317 };
   325 
   318 
   326 static const WindowDesc _build_road_desc = {
   319 static const WindowDesc _build_road_desc = {
   327 	WDP_ALIGN_TBR, 22, 240, 36,
   320 	WDP_ALIGN_TBR, 22, 218, 36,
   328 	WC_BUILD_TOOLBAR, 0,
   321 	WC_BUILD_TOOLBAR, 0,
   329 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
   322 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
   330 	_build_road_widgets,
   323 	_build_road_widgets,
   331 	BuildRoadToolbWndProc
   324 	BuildRoadToolbWndProc
   332 };
   325 };