dock_gui.c
changeset 756 b76998029c12
parent 750 d7bd2291c953
child 787 b3639c660998
equal deleted inserted replaced
755:80091de50044 756:b76998029c12
    60 }
    60 }
    61 
    61 
    62 
    62 
    63 static void BuildDocksClick_Canal(Window *w)
    63 static void BuildDocksClick_Canal(Window *w)
    64 {
    64 {
    65 	HandlePlacePushButton(w, 2, SPR_OPENTTD_BASE + 11, 1, PlaceDocks_BuildCanal);
    65 	HandlePlacePushButton(w, 3, SPR_OPENTTD_BASE + 11, 1, PlaceDocks_BuildCanal);
    66 }
    66 }
    67 
    67 
    68 static void BuildDocksClick_Lock(Window *w)
    68 static void BuildDocksClick_Lock(Window *w)
    69 {
    69 {
    70 	HandlePlacePushButton(w, 3, SPR_OPENTTD_BASE + 64, 1, PlaceDocks_BuildLock);
    70 	HandlePlacePushButton(w, 4, SPR_OPENTTD_BASE + 64, 1, PlaceDocks_BuildLock);
    71 }
    71 }
    72 
    72 
    73 static void BuildDocksClick_Demolish(Window *w)
    73 static void BuildDocksClick_Demolish(Window *w)
    74 {
    74 {
    75 	HandlePlacePushButton(w, 5, ANIMCURSOR_DEMOLISH, 1, PlaceDocks_DemolishArea);
    75 	HandlePlacePushButton(w, 6, ANIMCURSOR_DEMOLISH, 1, PlaceDocks_DemolishArea);
    76 }
    76 }
    77 
    77 
    78 static void BuildDocksClick_Depot(Window *w)
    78 static void BuildDocksClick_Depot(Window *w)
    79 {
    79 {
    80 	if (HandlePlacePushButton(w, 6, 0x2D1, 1, PlaceDocks_Depot)) ShowBuildDocksDepotPicker();
    80 	if (HandlePlacePushButton(w, 7, 0x2D1, 1, PlaceDocks_Depot)) ShowBuildDocksDepotPicker();
    81 }
    81 }
    82 
    82 
    83 static void BuildDocksClick_Dock(Window *w)
    83 static void BuildDocksClick_Dock(Window *w)
    84 {
    84 {
    85 
    85 
    86 	if (HandlePlacePushButton(w, 7, 0xE54, 3, PlaceDocks_Dock)) ShowBuildDockStationPicker();
    86 	if (HandlePlacePushButton(w, 8, 0xE54, 3, PlaceDocks_Dock)) ShowBuildDockStationPicker();
    87 }
    87 }
    88 
    88 
    89 static void BuildDocksClick_Buoy(Window *w)
    89 static void BuildDocksClick_Buoy(Window *w)
    90 {
    90 {
    91 	HandlePlacePushButton(w, 8, 0x2BE, 1, PlaceDocks_Buoy);
    91 	HandlePlacePushButton(w, 9, 0x2BE, 1, PlaceDocks_Buoy);
    92 }
    92 }
    93 
    93 
    94 static void BuildDocksClick_Landscaping(Window *w)
    94 static void BuildDocksClick_Landscaping(Window *w)
    95 {
    95 {
    96 	ShowTerraformToolbar();
    96 	ShowTerraformToolbar();
   114 	case WE_PAINT:
   114 	case WE_PAINT:
   115 		DrawWindowWidgets(w);
   115 		DrawWindowWidgets(w);
   116 		break;
   116 		break;
   117 
   117 
   118 	case WE_CLICK: {
   118 	case WE_CLICK: {
   119 		if (e->click.widget - 2 >= 0 && e->click.widget!=4) _build_docks_button_proc[e->click.widget - 2](w);
   119 		if (e->click.widget - 3 >= 0 && e->click.widget != 5) _build_docks_button_proc[e->click.widget - 3](w);
   120 	} break;
   120 	} break;
   121 
   121 
   122 	case WE_PLACE_OBJ:
   122 	case WE_PLACE_OBJ:
   123 		_place_proc(e->place.tile);
   123 		_place_proc(e->place.tile);
   124 		break;
   124 		break;
   136 				DoCommandP(e->place.tile, e->place.starttile, 0, CcBuildCanal, CMD_BUILD_CANAL | CMD_AUTO | CMD_MSG(STR_CANT_BUILD_CANALS));
   136 				DoCommandP(e->place.tile, e->place.starttile, 0, CcBuildCanal, CMD_BUILD_CANAL | CMD_AUTO | CMD_MSG(STR_CANT_BUILD_CANALS));
   137 		}
   137 		}
   138 		break;
   138 		break;
   139 
   139 
   140 	case WE_ABORT_PLACE_OBJ:
   140 	case WE_ABORT_PLACE_OBJ:
   141 		w->click_state = 0;
   141 		UnclickWindowButtons(w);
   142 		SetWindowDirty(w);
   142 		SetWindowDirty(w);
   143 
   143 
   144 		w = FindWindowById(WC_BUILD_STATION, 0);
   144 		w = FindWindowById(WC_BUILD_STATION, 0);
   145 		if (w != NULL) WP(w,def_d).close=true;
   145 		if (w != NULL) WP(w,def_d).close=true;
   146 
   146 
   163 	}
   163 	}
   164 }
   164 }
   165 
   165 
   166 static const Widget _build_docks_toolb_widgets[] = {
   166 static const Widget _build_docks_toolb_widgets[] = {
   167 {   WWT_CLOSEBOX,     7,     0,    10,     0,    13, STR_00C5,										STR_018B_CLOSE_WINDOW},
   167 {   WWT_CLOSEBOX,     7,     0,    10,     0,    13, STR_00C5,										STR_018B_CLOSE_WINDOW},
   168 {    WWT_CAPTION,     7,    11,   157,     0,    13, STR_9801_DOCK_CONSTRUCTION,	STR_018C_WINDOW_TITLE_DRAG_THIS},
   168 {    WWT_CAPTION,     7,    11,   145,     0,    13, STR_9801_DOCK_CONSTRUCTION,	STR_018C_WINDOW_TITLE_DRAG_THIS},
   169 
   169 {  WWT_STICKYBOX,     7,   146,   157,     0,    13, 0x0,                         STR_STICKY_BUTTON},
   170 {      WWT_PANEL,     7,     0,    21,    14,    35, SPR_OPENTTD_BASE+65,					STR_BUILD_CANALS_TIP},
   170 {      WWT_PANEL,     7,     0,    21,    14,    35, SPR_OPENTTD_BASE+65,					STR_BUILD_CANALS_TIP},
   171 {      WWT_PANEL,     7,    22,    43,    14,    35, SPR_CANALS_BASE+69,					STR_BUILD_LOCKS_TIP},
   171 {      WWT_PANEL,     7,    22,    43,    14,    35, SPR_CANALS_BASE+69,					STR_BUILD_LOCKS_TIP},
   172 
   172 
   173 {      WWT_PANEL,     7,    44,    47,    14,    35, 0x0,													STR_NULL},
   173 {      WWT_PANEL,     7,    44,    47,    14,    35, 0x0,													STR_NULL},
   174 
   174 
   181 };
   181 };
   182 
   182 
   183 static const WindowDesc _build_docks_toolbar_desc = {
   183 static const WindowDesc _build_docks_toolbar_desc = {
   184 	640-158, 22, 158, 36,
   184 	640-158, 22, 158, 36,
   185 	WC_BUILD_TOOLBAR,0,
   185 	WC_BUILD_TOOLBAR,0,
   186 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
   186 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
   187 	_build_docks_toolb_widgets,
   187 	_build_docks_toolb_widgets,
   188 	BuildDocksToolbWndProc
   188 	BuildDocksToolbWndProc
   189 };
   189 };
   190 
   190 
   191 void ShowBuildDocksToolbar()
   191 void ShowBuildDocksToolbar()