OpenTTD Source  20241121-master-g67a0fccfad
airport_gui.cpp File Reference

The GUI for airports. More...

#include "stdafx.h"
#include "economy_func.h"
#include "window_gui.h"
#include "station_gui.h"
#include "terraform_gui.h"
#include "sound_func.h"
#include "window_func.h"
#include "strings_func.h"
#include "viewport_func.h"
#include "company_func.h"
#include "tilehighlight_func.h"
#include "company_base.h"
#include "station_type.h"
#include "newgrf_airport.h"
#include "newgrf_callbacks.h"
#include "dropdown_type.h"
#include "dropdown_func.h"
#include "core/geometry_func.hpp"
#include "hotkeys.h"
#include "vehicle_func.h"
#include "gui.h"
#include "command_func.h"
#include "airport_cmd.h"
#include "station_cmd.h"
#include "zoom_func.h"
#include "timer/timer.h"
#include "timer/timer_game_calendar.h"
#include "widgets/airport_widget.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  BuildAirToolbarWindow
 Airport build toolbar window handler. More...
 
class  BuildAirportWindow
 

Functions

static void ShowBuildAirportPicker (Window *parent)
 
SpriteID GetCustomAirportSprite (const AirportSpec *as, uint8_t layout)
 
void CcBuildAirport (Commands, const CommandCost &result, TileIndex tile)
 
static void PlaceAirport (TileIndex tile)
 Place an airport. More...
 
WindowShowBuildAirToolbar ()
 Open the build airport toolbar window. More...
 
void InitializeAirportGui ()
 

Variables

static AirportClassID _selected_airport_class
 the currently visible airport class
 
static int _selected_airport_index
 the index of the selected airport in the current class or -1
 
static uint8_t _selected_airport_layout
 selected airport layout number.
 
static constexpr NWidgetPart _nested_air_toolbar_widgets []
 
static WindowDesc _air_toolbar_desc (WDP_ALIGN_TOOLBAR, "toolbar_air", 0, 0, WC_BUILD_TOOLBAR, WC_NONE, WDF_CONSTRUCTION, _nested_air_toolbar_widgets, &BuildAirToolbarWindow::hotkeys)
 
static constexpr NWidgetPart _nested_build_airport_widgets []
 
static WindowDesc _build_airport_desc (WDP_AUTO, nullptr, 0, 0, WC_BUILD_STATION, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, _nested_build_airport_widgets)
 

Detailed Description

The GUI for airports.

Definition in file airport_gui.cpp.

Function Documentation

◆ PlaceAirport()

static void PlaceAirport ( TileIndex  tile)
static

◆ ShowBuildAirToolbar()

Window* ShowBuildAirToolbar ( )

Open the build airport toolbar window.

If the terraform toolbar is linked to the toolbar, that window is also opened.

Returns
newly opened airport toolbar, or nullptr if the toolbar could not be opened.

Definition at line 226 of file airport_gui.cpp.

References _local_company, CloseWindowByClass(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), and WC_BUILD_TOOLBAR.

Referenced by MenuClickBuildAir().

Variable Documentation

◆ _nested_air_toolbar_widgets

constexpr NWidgetPart _nested_air_toolbar_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN),
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_TOOLBAR_AIRCRAFT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN),
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_AT_AIRPORT), SetFill(0, 1), SetMinimalSize(42, 22), SetDataTip(SPR_IMG_AIRPORT, STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP),
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(4, 22), SetFill(1, 1), EndContainer(),
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_AT_DEMOLISH), SetFill(0, 1), SetMinimalSize(22, 22), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC),
}
@ WID_AT_DEMOLISH
Demolish button.
@ WID_AT_AIRPORT
Build airport button.
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition: widget_type.h:1181
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1202
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition: widget_type.h:1137
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1309
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:1191
@ WWT_IMGBTN
(Toggle) Button with image
Definition: widget_type.h:52
@ NWID_HORIZONTAL
Horizontal container.
Definition: widget_type.h:75
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:50
@ WWT_STICKYBOX
Sticky box (at top-right of a window, after WWT_DEFSIZEBOX)
Definition: widget_type.h:66
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:61
@ WWT_CLOSEBOX
Close box (at top-left of a window)
Definition: widget_type.h:69

Definition at line 198 of file airport_gui.cpp.