|
@@ -58,69 +58,69 @@ static void BuildBridgeWndProc(Window *w
|
|
|
}
|
|
|
} break;
|
|
|
|
|
|
case WE_KEYPRESS: {
|
|
|
uint i = e->keypress.keycode - '1';
|
|
|
if (i < 9 && i < _bridgedata.count) {
|
|
|
e->keypress.cont = false;
|
|
|
BuildBridge(w, i);
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case WE_CLICK:
|
|
|
if (e->click.widget == 2) {
|
|
|
uint ind = ((int)e->click.pt.y - 14) / 22;
|
|
|
if (ind < 4 && (ind += w->vscroll.pos) < _bridgedata.count)
|
|
|
BuildBridge(w, ind);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
static const Widget _build_bridge_widgets[] = {
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_100D_SELECT_RAIL_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
|
|
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_100D_SELECT_RAIL_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
|
|
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WIDGETS_END},
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _build_bridge_desc = {
|
|
|
-1, -1, 200, 102,
|
|
|
WC_BUILD_BRIDGE,WC_BUILD_TOOLBAR,
|
|
|
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
|
|
|
_build_bridge_widgets,
|
|
|
BuildBridgeWndProc
|
|
|
};
|
|
|
|
|
|
|
|
|
static const Widget _build_road_bridge_widgets[] = {
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_1803_SELECT_ROAD_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
|
|
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_1803_SELECT_ROAD_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
|
|
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WIDGETS_END},
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _build_road_bridge_desc = {
|
|
|
-1, -1, 200, 102,
|
|
|
WC_BUILD_BRIDGE,WC_BUILD_TOOLBAR,
|
|
|
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
|
|
|
_build_road_bridge_widgets,
|
|
|
BuildBridgeWndProc
|
|
|
};
|
|
|
|
|
|
|
|
|
void ShowBuildBridgeWindow(TileIndex start, TileIndex end, byte bridge_type)
|
|
|
{
|
|
|
uint j = 0;
|
|
|
int32 ret;
|
|
|
StringID errmsg;
|
|
|
|
|
|
DeleteWindowById(WC_BUILD_BRIDGE, 0);
|
|
|
|
|
|
_bridgedata.type = bridge_type;
|
|
|
_bridgedata.start_tile = start;
|
|
|
_bridgedata.end_tile = end;
|
|
|
|