GUI to create amazing water objects. More...
#include "stdafx.h"
#include "terraform_gui.h"
#include "window_gui.h"
#include "station_gui.h"
#include "command_func.h"
#include "water.h"
#include "window_func.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "company_func.h"
#include "slope_func.h"
#include "tilehighlight_func.h"
#include "company_base.h"
#include "hotkeys.h"
#include "gui.h"
#include "widgets/dock_widget.h"
#include "table/sprites.h"
#include "table/strings.h"
Go to the source code of this file.
Data Structures | |
struct | BuildDocksToolbarWindow |
Toolbar window for constructing water infrastructure. More... | |
struct | BuildDocksStationWindow |
struct | BuildDocksDepotWindow |
Enumerations | |
enum | BuildDockStationWidgets { BDSW_BACKGROUND, BDSW_LT_OFF, BDSW_LT_ON, BDSW_INFO } |
Widget numbers of the build-dock GUI. More... | |
Functions | |
static void | ShowBuildDockStationPicker (Window *parent) |
static void | ShowBuildDocksDepotPicker (Window *parent) |
void | CcBuildDocks (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) |
void | CcBuildCanal (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) |
static TileIndex | GetOtherAqueductEnd (TileIndex tile_from, TileIndex *tile_to=NULL) |
Gets the other end of the aqueduct, if possible. | |
static EventState | DockToolbarGlobalHotkeys (int hotkey) |
Handler for global hotkeys of the BuildDocksToolbarWindow. | |
Window * | ShowBuildDocksToolbar () |
Open the build water toolbar window. | |
Window * | ShowBuildDocksScenToolbar () |
Open the build water toolbar window for the scenario editor. | |
void | InitializeDockGui () |
Variables | |
static Axis | _ship_depot_direction |
const uint16 | _dockstoolbar_aqueduct_keys [] = {'B', '8', 0} |
static Hotkey | dockstoolbar_hotkeys [] |
static const NWidgetPart | _nested_build_docks_toolbar_widgets [] |
Nested widget parts of docks toolbar, game version. | |
static WindowDesc | _build_docks_toolbar_desc (WDP_ALIGN_TOOLBAR,"toolbar_water", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, _nested_build_docks_toolbar_widgets, lengthof(_nested_build_docks_toolbar_widgets),&BuildDocksToolbarWindow::hotkeys) |
static const NWidgetPart | _nested_build_docks_scen_toolbar_widgets [] |
Nested widget parts of docks toolbar, scenario editor version. | |
static WindowDesc | _build_docks_scen_toolbar_desc (WDP_AUTO,"toolbar_water_scen", 0, 0, WC_SCEN_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, _nested_build_docks_scen_toolbar_widgets, lengthof(_nested_build_docks_scen_toolbar_widgets)) |
Window definition for the build docks in scenario editor window. | |
static const NWidgetPart | _nested_build_dock_station_widgets [] |
Nested widget parts of a build dock station window. | |
static WindowDesc | _build_dock_station_desc (WDP_AUTO, NULL, 0, 0, WC_BUILD_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, _nested_build_dock_station_widgets, lengthof(_nested_build_dock_station_widgets)) |
static const NWidgetPart | _nested_build_docks_depot_widgets [] |
static WindowDesc | _build_docks_depot_desc (WDP_AUTO, NULL, 0, 0, WC_BUILD_DEPOT, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, _nested_build_docks_depot_widgets, lengthof(_nested_build_docks_depot_widgets)) |
GUI to create amazing water objects.
Definition in file dock_gui.cpp.
Widget numbers of the build-dock GUI.
BDSW_BACKGROUND |
Background panel. |
BDSW_LT_OFF |
'Off' button of coverage high light. |
BDSW_LT_ON |
'On' button of coverage high light. |
BDSW_INFO |
'Coverage highlight' label. |
Definition at line 384 of file dock_gui.cpp.
static EventState DockToolbarGlobalHotkeys | ( | int | hotkey | ) | [static] |
Handler for global hotkeys of the BuildDocksToolbarWindow.
hotkey | Hotkey |
Definition at line 277 of file dock_gui.cpp.
References Window::OnHotkey(), and ShowBuildDocksToolbar().
Gets the other end of the aqueduct, if possible.
tile_from | The begin tile for the aqueduct. | |
[out] | tile_to | The tile till where to show a selection for the aqueduct. |
Definition at line 60 of file dock_gui.cpp.
References _settings_game, GameSettings::construction, DistanceFromEdgeDir(), GetInclinedSlopeDirection(), GetTileMaxZ(), GetTileSlope(), IsValidDiagDirection(), IsValidTile(), ConstructionSettings::max_bridge_length, min(), ReverseDiagDir(), TILE_ADD, TILE_ADDXY, TileOffsByDiagDir(), TileX(), and TileY().
Referenced by BuildDocksToolbarWindow::OnPlaceObject(), and BuildDocksToolbarWindow::OnPlacePresize().
Window* ShowBuildDocksScenToolbar | ( | ) |
Open the build water toolbar window for the scenario editor.
Definition at line 378 of file dock_gui.cpp.
References _build_docks_scen_toolbar_desc.
Window* ShowBuildDocksToolbar | ( | ) |
Open the build water toolbar window.
If the terraform toolbar is linked to the toolbar, that window is also opened.
Definition at line 337 of file dock_gui.cpp.
References _local_company, DeleteWindowByClass(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), and WC_BUILD_TOOLBAR.
Referenced by DockToolbarGlobalHotkeys(), MenuClickBuildWater(), and MainToolbarWindow::OnHotkey().
WindowDesc _build_docks_scen_toolbar_desc(WDP_AUTO,"toolbar_water_scen", 0, 0, WC_SCEN_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, _nested_build_docks_scen_toolbar_widgets, lengthof(_nested_build_docks_scen_toolbar_widgets)) [static] |
Window definition for the build docks in scenario editor window.
Referenced by ShowBuildDocksScenToolbar().
const NWidgetPart _nested_build_dock_station_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_DOCK_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), EndContainer(), NWidget(WWT_PANEL, COLOUR_DARK_GREEN, BDSW_BACKGROUND), NWidget(NWID_SPACER), SetMinimalSize(0, 3), NWidget(WWT_LABEL, COLOUR_DARK_GREEN, BDSW_INFO), SetMinimalSize(148, 14), SetDataTip(STR_STATION_BUILD_COVERAGE_AREA_TITLE, STR_NULL), NWidget(NWID_HORIZONTAL), SetPIP(14, 0, 14), NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_OFF), SetMinimalSize(40, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_OFF, STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP), NWidget(WWT_TEXTBTN, COLOUR_GREY, BDSW_LT_ON), SetMinimalSize(40, 12), SetFill(1, 0), SetDataTip(STR_STATION_BUILD_COVERAGE_ON, STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 20), SetResize(0, 1), EndContainer(), }
Nested widget parts of a build dock station window.
Definition at line 452 of file dock_gui.cpp.
const NWidgetPart _nested_build_docks_depot_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_DEPOT_BUILD_SHIP_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), EndContainer(), NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BDD_BACKGROUND), NWidget(NWID_SPACER), SetMinimalSize(0, 3), NWidget(NWID_HORIZONTAL_LTR), NWidget(NWID_SPACER), SetMinimalSize(3, 0), NWidget(WWT_PANEL, COLOUR_GREY, WID_BDD_X), SetMinimalSize(98, 66), SetDataTip(0x0, STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(2, 0), NWidget(WWT_PANEL, COLOUR_GREY, WID_BDD_Y), SetMinimalSize(98, 66), SetDataTip(0x0, STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(3, 0), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 3), EndContainer(), }
Definition at line 525 of file dock_gui.cpp.
const NWidgetPart _nested_build_docks_scen_toolbar_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_WATERWAYS_TOOLBAR_CAPTION_SE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_CANAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_CANAL, STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_LOCK), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_LOCK, STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP), NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(5, 22), SetFill(1, 1), EndContainer(), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEMOLISH), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_RIVER), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_RIVER, STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUILD_AQUEDUCT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP), EndContainer(), }
Nested widget parts of docks toolbar, scenario editor version.
Positions of WID_DT_DEPOT, WID_DT_STATION, and WID_DT_BUOY widgets have changed.
Definition at line 349 of file dock_gui.cpp.
const NWidgetPart _nested_build_docks_toolbar_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_WATERWAYS_TOOLBAR_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN), EndContainer(), NWidget(NWID_HORIZONTAL_LTR), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_CANAL), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_CANAL, STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_LOCK), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUILD_LOCK, STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP), NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(5, 22), SetFill(1, 1), EndContainer(), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEMOLISH), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_DEPOT), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DEPOT, STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_STATION), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_SHIP_DOCK, STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUOY), SetMinimalSize(22, 22), SetFill(0, 1), SetDataTip(SPR_IMG_BUOY, STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_DT_BUILD_AQUEDUCT), SetMinimalSize(23, 22), SetFill(0, 1), SetDataTip(SPR_IMG_AQUEDUCT, STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP), EndContainer(), }
Nested widget parts of docks toolbar, game version.
Position of WID_DT_RIVER widget has changed.
Definition at line 304 of file dock_gui.cpp.
Hotkey dockstoolbar_hotkeys[] [static] |
{ Hotkey('1', "canal", WID_DT_CANAL), Hotkey('2', "lock", WID_DT_LOCK), Hotkey('3', "demolish", WID_DT_DEMOLISH), Hotkey('4', "depot", WID_DT_DEPOT), Hotkey('5', "dock", WID_DT_STATION), Hotkey('6', "buoy", WID_DT_BUOY), Hotkey('7', "river", WID_DT_RIVER), Hotkey(_dockstoolbar_aqueduct_keys, "aqueduct", WID_DT_BUILD_AQUEDUCT), HOTKEY_LIST_END }
Definition at line 287 of file dock_gui.cpp.