OpenTTD Source 20250501-master-ga30f251d05
toolbar_gui.cpp File Reference

Code related to the (main) toolbar. More...

#include "stdafx.h"
#include "gui.h"
#include "window_gui.h"
#include "window_func.h"
#include "viewport_func.h"
#include "command_func.h"
#include "dropdown_type.h"
#include "dropdown_func.h"
#include "house.h"
#include "vehicle_gui.h"
#include "rail_gui.h"
#include "road.h"
#include "road_gui.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "terraform_gui.h"
#include "strings_func.h"
#include "company_func.h"
#include "company_gui.h"
#include "vehicle_base.h"
#include "cheat_func.h"
#include "transparency_gui.h"
#include "screenshot.h"
#include "signs_func.h"
#include "fios.h"
#include "console_gui.h"
#include "news_gui.h"
#include "ai/ai_gui.hpp"
#include "game/game_gui.hpp"
#include "script/script_gui.h"
#include "tilehighlight_func.h"
#include "smallmap_gui.h"
#include "graph_gui.h"
#include "textbuf_gui.h"
#include "linkgraph/linkgraph_gui.h"
#include "newgrf_debug.h"
#include "hotkeys.h"
#include "engine_base.h"
#include "highscore.h"
#include "game/game.hpp"
#include "goal_base.h"
#include "story_base.h"
#include "toolbar_gui.h"
#include "framerate_type.h"
#include "screenshot_gui.h"
#include "misc_cmd.h"
#include "league_gui.h"
#include "league_base.h"
#include "timer/timer.h"
#include "timer/timer_window.h"
#include "timer/timer_game_calendar.h"
#include "help_gui.h"
#include "core/string_consumer.hpp"
#include "widgets/toolbar_widget.h"
#include "network/network.h"
#include "network/network_gui.h"
#include "network/network_func.h"
#include "table/strings.h"
#include "dropdown_common_type.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

class  DropDownListCompanyItem
 Company name list item, with company-colour icon, name, and lock components. More...
 
class  NWidgetToolbarContainer
 Full blown container to make it behave exactly as we want :) More...
 
class  NWidgetMainToolbarContainer
 Container for the 'normal' main toolbar. More...
 
class  NWidgetScenarioToolbarContainer
 Container for the scenario editor's toolbar. More...
 
struct  MainToolbarWindow
 Main toolbar. More...
 
struct  ScenarioEditorToolbarWindow
 

Typedefs

typedef CallBackFunction MenuClickedProc(int index)
 
typedef CallBackFunction ToolbarButtonProc(Window *w)
 

Enumerations

enum  ToolbarMode : uint8_t { TB_NORMAL , TB_UPPER , TB_LOWER }
 Toobar modes. More...
 
enum  CallBackFunction : uint8_t { CBF_NONE , CBF_PLACE_SIGN , CBF_PLACE_LANDINFO }
 Callback functions. More...
 
enum  OptionMenuEntries : uint8_t {
  OME_GAMEOPTIONS , OME_AI_SETTINGS , OME_GAMESCRIPT_SETTINGS , OME_NEWGRFSETTINGS ,
  OME_SANDBOX , OME_TRANSPARENCIES , OME_SHOW_TOWNNAMES , OME_SHOW_STATIONNAMES ,
  OME_SHOW_STATIONNAMES_TRAIN , OME_SHOW_STATIONNAMES_LORRY , OME_SHOW_STATIONNAMES_BUS , OME_SHOW_STATIONNAMES_SHIP ,
  OME_SHOW_STATIONNAMES_PLANE , OME_SHOW_STATIONNAMES_GHOST , OME_SHOW_WAYPOINTNAMES , OME_SHOW_SIGNS ,
  OME_SHOW_COMPETITOR_SIGNS , OME_FULL_ANIMATION , OME_FULL_DETAILS , OME_TRANSPARENTBUILDINGS ,
  OME_SHOW_STATIONSIGNS
}
 Game Option button menu entries. More...
 
enum  SaveLoadEditorMenuEntries : uint8_t {
  SLEME_SAVE_SCENARIO = 0 , SLEME_LOAD_SCENARIO , SLEME_SAVE_HEIGHTMAP , SLEME_LOAD_HEIGHTMAP ,
  SLEME_EXIT_TOINTRO , SLEME_EXIT_GAME
}
 SaveLoad entries in scenario editor mode. More...
 
enum  SaveLoadNormalMenuEntries : uint8_t { SLNME_SAVE_GAME = 0 , SLNME_LOAD_GAME , SLNME_EXIT_TOINTRO , SLNME_EXIT_GAME }
 SaveLoad entries in normal game mode. More...
 
enum  MapMenuEntries : uint8_t {
  MME_SHOW_SMALLMAP = 0 , MME_SHOW_EXTRAVIEWPORTS , MME_SHOW_LINKGRAPH , MME_SHOW_SIGNLISTS ,
  MME_SHOW_TOWNDIRECTORY , MME_SHOW_INDUSTRYDIRECTORY
}
 
enum  TownMenuEntries { TME_SHOW_DIRECTORY = 0 , TME_SHOW_FOUND_TOWN , TME_SHOW_PLACE_HOUSES }
 
enum  MainToolbarEditorHotkeys : int32_t {
  MTEHK_PAUSE , MTEHK_FASTFORWARD , MTEHK_SETTINGS , MTEHK_SAVEGAME ,
  MTEHK_GENLAND , MTEHK_GENTOWN , MTEHK_GENINDUSTRY , MTEHK_BUILD_ROAD ,
  MTEHK_BUILD_TRAM , MTEHK_BUILD_DOCKS , MTEHK_BUILD_TREES , MTEHK_SIGN ,
  MTEHK_MUSIC , MTEHK_LANDINFO , MTEHK_SMALL_SCREENSHOT , MTEHK_ZOOMEDIN_SCREENSHOT ,
  MTEHK_DEFAULTZOOM_SCREENSHOT , MTEHK_GIANT_SCREENSHOT , MTEHK_ZOOM_IN , MTEHK_ZOOM_OUT ,
  MTEHK_TERRAFORM , MTEHK_SMALLMAP , MTEHK_EXTRA_VIEWPORT
}
 

Functions

static void PopupMainToolbarMenu (Window *w, WidgetID widget, DropDownList &&list, int def)
 Pop up a generic text only menu.
 
static void PopupMainToolbarMenu (Window *w, WidgetID widget, const std::initializer_list< StringID > &strings)
 Pop up a generic text only menu.
 
static void PopupMainCompanyToolbMenu (Window *w, WidgetID widget, CompanyMask grey={})
 Pop up a generic company list menu.
 
static CallBackFunction SelectSignTool ()
 
static CallBackFunction ToolbarPauseClick (Window *)
 
static CallBackFunction ToolbarFastForwardClick (Window *)
 Toggle fast forward mode.
 
static CallBackFunction ToolbarOptionsClick (Window *w)
 Handle click on Options button in toolbar.
 
static CallBackFunction MenuClickSettings (int index)
 Handle click on one of the entries in the Options button menu.
 
static CallBackFunction ToolbarSaveClick (Window *w)
 Handle click on Save button in toolbar in normal game mode.
 
static CallBackFunction ToolbarScenSaveOrLoad (Window *w)
 Handle click on SaveLoad button in toolbar in the scenario editor.
 
static CallBackFunction MenuClickSaveLoad (int index=0)
 Handle click on one of the entries in the SaveLoad menu.
 
static CallBackFunction ToolbarMapClick (Window *w)
 
static CallBackFunction ToolbarScenMapTownDir (Window *w)
 
static CallBackFunction MenuClickMap (int index)
 Handle click on one of the entries in the Map menu.
 
static CallBackFunction ToolbarTownClick (Window *w)
 
static CallBackFunction MenuClickTown (int index)
 Handle click on one of the entries in the Town menu.
 
static CallBackFunction ToolbarSubsidiesClick (Window *w)
 
static CallBackFunction MenuClickSubsidies (int)
 Handle click on the entry in the Subsidies menu.
 
static CallBackFunction ToolbarStationsClick (Window *w)
 
static CallBackFunction MenuClickStations (int index)
 Handle click on the entry in the Stations menu.
 
static CallBackFunction ToolbarFinancesClick (Window *w)
 
static CallBackFunction MenuClickFinances (int index)
 Handle click on the entry in the finances overview menu.
 
static CallBackFunction ToolbarCompaniesClick (Window *w)
 
static CallBackFunction MenuClickCompany (int index)
 Handle click on the entry in the Company menu.
 
static CallBackFunction ToolbarStoryClick (Window *w)
 
static CallBackFunction MenuClickStory (int index)
 Handle click on the entry in the Story menu.
 
static CallBackFunction ToolbarGoalClick (Window *w)
 
static CallBackFunction MenuClickGoal (int index)
 Handle click on the entry in the Goal menu.
 
static void AddDropDownLeagueTableOptions (DropDownList &list)
 
static CallBackFunction ToolbarGraphsClick (Window *w)
 
static CallBackFunction ToolbarLeagueClick (Window *w)
 
static CallBackFunction MenuClickGraphsOrLeague (int index)
 Handle click on the entry in the Graphs or CompanyLeague.
 
static CallBackFunction ToolbarIndustryClick (Window *w)
 
static CallBackFunction MenuClickIndustry (int index)
 Handle click on the entry in the Industry menu.
 
static void ToolbarVehicleClick (Window *w, VehicleType veh)
 
static CallBackFunction ToolbarTrainClick (Window *w)
 
static CallBackFunction MenuClickShowTrains (int index)
 Handle click on the entry in the Train menu.
 
static CallBackFunction ToolbarRoadClick (Window *w)
 
static CallBackFunction MenuClickShowRoad (int index)
 Handle click on the entry in the Road Vehicles menu.
 
static CallBackFunction ToolbarShipClick (Window *w)
 
static CallBackFunction MenuClickShowShips (int index)
 Handle click on the entry in the Ships menu.
 
static CallBackFunction ToolbarAirClick (Window *w)
 
static CallBackFunction MenuClickShowAir (int index)
 Handle click on the entry in the Aircraft menu.
 
static CallBackFunction ToolbarZoomInClick (Window *w)
 
static CallBackFunction ToolbarZoomOutClick (Window *w)
 
static CallBackFunction ToolbarBuildRailClick (Window *w)
 
static CallBackFunction MenuClickBuildRail (int index)
 Handle click on the entry in the Build Rail menu.
 
static CallBackFunction ToolbarBuildRoadClick (Window *w)
 
static CallBackFunction MenuClickBuildRoad (int index)
 Handle click on the entry in the Build Road menu.
 
static CallBackFunction ToolbarBuildTramClick (Window *w)
 
static CallBackFunction MenuClickBuildTram (int index)
 Handle click on the entry in the Build Tram menu.
 
static CallBackFunction ToolbarBuildWaterClick (Window *w)
 
static CallBackFunction MenuClickBuildWater (int)
 Handle click on the entry in the Build Waterways menu.
 
static CallBackFunction ToolbarBuildAirClick (Window *w)
 
static CallBackFunction MenuClickBuildAir (int)
 Handle click on the entry in the Build Air menu.
 
static CallBackFunction ToolbarForestClick (Window *w)
 
static CallBackFunction MenuClickForest (int index)
 Handle click on the entry in the landscaping menu.
 
static CallBackFunction ToolbarMusicClick (Window *w)
 
static CallBackFunction MenuClickMusicWindow (int)
 Handle click on the entry in the Music menu.
 
static CallBackFunction ToolbarNewspaperClick (Window *w)
 
static CallBackFunction MenuClickNewspaper (int index)
 Handle click on the entry in the Newspaper menu.
 
static CallBackFunction PlaceLandBlockInfo ()
 
static CallBackFunction ToolbarHelpClick (Window *w)
 
void ToggleBoundingBoxes ()
 Toggle drawing of sprites' bounding boxes.
 
void ToggleDirtyBlocks ()
 Toggle drawing of the dirty blocks.
 
void ToggleWidgetOutlines ()
 Toggle drawing of widget outlihes.
 
void SetStartingYear (TimerGameCalendar::Year year)
 Set the starting year for a scenario.
 
static CallBackFunction MenuClickHelp (int index)
 Choose the proper callback function for the main toolbar's help menu.
 
static CallBackFunction ToolbarSwitchClick (Window *w)
 
static CallBackFunction ToolbarScenDatePanel (Window *w)
 Called when clicking at the date panel of the scenario editor toolbar.
 
static CallBackFunction ToolbarScenDateBackward (Window *w)
 
static CallBackFunction ToolbarScenDateForward (Window *w)
 
static CallBackFunction ToolbarScenGenLand (Window *w)
 
static CallBackFunction ToolbarScenGenTownClick (Window *w)
 
static CallBackFunction ToolbarScenGenTown (int index)
 
static CallBackFunction ToolbarScenGenIndustry (Window *w)
 
static CallBackFunction ToolbarScenBuildRoadClick (Window *w)
 
static CallBackFunction ToolbarScenBuildRoad (int index)
 Handle click on the entry in the Build Road menu.
 
static CallBackFunction ToolbarScenBuildTramClick (Window *w)
 
static CallBackFunction ToolbarScenBuildTram (int index)
 Handle click on the entry in the Build Tram menu.
 
static CallBackFunction ToolbarScenBuildDocks (Window *w)
 
static CallBackFunction ToolbarScenPlantTrees (Window *w)
 
static CallBackFunction ToolbarScenPlaceSign (Window *w)
 
static CallBackFunction ToolbarBtn_NULL (Window *)
 
static std::unique_ptr< NWidgetBaseMakeMainToolbar ()
 
static std::unique_ptr< NWidgetBaseMakeScenarioToolbar ()
 
void AllocateToolbar ()
 Allocate the toolbar.
 

Variables

uint _toolbar_width = 0
 Width of the toolbar, shared by statusbar.
 
RailType _last_built_railtype
 
RoadType _last_built_roadtype
 
RoadType _last_built_tramtype
 
static CallBackFunction _last_started_action = CBF_NONE
 Last started user action.
 
static const int CTMN_CLIENT_LIST = -1
 Enum for the Company Toolbar's network related buttons.
 
static const int CTMN_SPECTATE = -2
 Become spectator.
 
static const int CTMN_SPECTATOR = -3
 Show a company window as spectator.
 
static ToolbarMode _toolbar_mode
 
static const int GRMN_OPERATING_PROFIT_GRAPH = -1
 Enum for the League Toolbar's and Graph Toolbar's related buttons.
 
static const int GRMN_INCOME_GRAPH = -2
 Show income graph.
 
static const int GRMN_DELIVERED_CARGO_GRAPH = -3
 Show delivered cargo graph.
 
static const int GRMN_PERFORMANCE_HISTORY_GRAPH = -4
 Show performance history graph.
 
static const int GRMN_COMPANY_VALUE_GRAPH = -5
 Show company value graph.
 
static const int GRMN_CARGO_PAYMENT_RATES = -6
 Show cargo payment rates graph.
 
static const int LTMN_PERFORMANCE_LEAGUE = -7
 Show default league table.
 
static const int LTMN_PERFORMANCE_RATING = -8
 Show detailed performance rating.
 
static const int LTMN_HIGHSCORE = -9
 Show highscrore table.
 
static MenuClickedProc *const _menu_clicked_procs []
 
static ToolbarButtonProc *const _toolbar_button_procs []
 
static constexpr NWidgetPart _nested_toolbar_normal_widgets []
 
static WindowDesc _toolb_normal_desc (WDP_MANUAL, nullptr, 0, 0, WC_MAIN_TOOLBAR, WC_NONE, {WindowDefaultFlag::NoFocus, WindowDefaultFlag::NoClose}, _nested_toolbar_normal_widgets, &MainToolbarWindow::hotkeys)
 
static MenuClickedProc *const _scen_toolbar_dropdown_procs []
 
static ToolbarButtonProc *const _scen_toolbar_button_procs []
 
static constexpr NWidgetPart _nested_toolb_scen_inner_widgets []
 
static constexpr NWidgetPart _nested_toolb_scen_widgets []
 
static WindowDesc _toolb_scen_desc (WDP_MANUAL, nullptr, 0, 0, WC_MAIN_TOOLBAR, WC_NONE, {WindowDefaultFlag::NoFocus, WindowDefaultFlag::NoClose}, _nested_toolb_scen_widgets, &ScenarioEditorToolbarWindow::hotkeys)
 

Detailed Description

Code related to the (main) toolbar.

Definition in file toolbar_gui.cpp.

Typedef Documentation

◆ MenuClickedProc

typedef CallBackFunction MenuClickedProc(int index)

Definition at line 1332 of file toolbar_gui.cpp.

◆ ToolbarButtonProc

typedef CallBackFunction ToolbarButtonProc(Window *w)

Definition at line 1955 of file toolbar_gui.cpp.

Enumeration Type Documentation

◆ CallBackFunction

enum CallBackFunction : uint8_t

Callback functions.

Definition at line 92 of file toolbar_gui.cpp.

◆ MainToolbarEditorHotkeys

enum MainToolbarEditorHotkeys : int32_t

Definition at line 2307 of file toolbar_gui.cpp.

◆ MapMenuEntries

enum MapMenuEntries : uint8_t

Definition at line 416 of file toolbar_gui.cpp.

◆ OptionMenuEntries

enum OptionMenuEntries : uint8_t

Game Option button menu entries.

Definition at line 230 of file toolbar_gui.cpp.

◆ SaveLoadEditorMenuEntries

enum SaveLoadEditorMenuEntries : uint8_t

SaveLoad entries in scenario editor mode.

Definition at line 340 of file toolbar_gui.cpp.

◆ SaveLoadNormalMenuEntries

enum SaveLoadNormalMenuEntries : uint8_t

SaveLoad entries in normal game mode.

Definition at line 352 of file toolbar_gui.cpp.

◆ ToolbarMode

enum ToolbarMode : uint8_t

Toobar modes.

Definition at line 85 of file toolbar_gui.cpp.

◆ TownMenuEntries

enum TownMenuEntries

Definition at line 469 of file toolbar_gui.cpp.

Function Documentation

◆ AddDropDownLeagueTableOptions()

static void AddDropDownLeagueTableOptions ( DropDownList list)
static

Definition at line 658 of file toolbar_gui.cpp.

◆ AllocateToolbar()

void AllocateToolbar ( )

Allocate the toolbar.

Definition at line 2596 of file toolbar_gui.cpp.

References ROADTYPE_ROAD, and ROADTYPE_TRAM.

Referenced by ShowVitalWindows().

◆ MakeMainToolbar()

static std::unique_ptr< NWidgetBase > MakeMainToolbar ( )
static

Sprites to use for the different toolbar buttons

Definition at line 2183 of file toolbar_gui.cpp.

References WID_TN_BUILDING_TOOLS_START, WID_TN_END, WID_TN_FINANCES, WID_TN_MUSIC_SOUND, WID_TN_SAVE, WID_TN_SMALL_MAP, WID_TN_VEHICLE_START, WID_TN_ZOOM_IN, WWT_IMGBTN, and WWT_IMGBTN_2.

◆ MakeScenarioToolbar()

static std::unique_ptr< NWidgetBase > MakeScenarioToolbar ( )
static

Definition at line 2578 of file toolbar_gui.cpp.

◆ MenuClickBuildAir()

static CallBackFunction MenuClickBuildAir ( int  )
static

Handle click on the entry in the Build Air menu.

Returns
CBF_NONE

Definition at line 980 of file toolbar_gui.cpp.

References ShowBuildAirToolbar().

◆ MenuClickBuildRail()

static CallBackFunction MenuClickBuildRail ( int  index)
static

Handle click on the entry in the Build Rail menu.

Parameters
indexRailType to show the build toolbar for.
Returns
CBF_NONE

Definition at line 891 of file toolbar_gui.cpp.

References ShowBuildRailToolbar().

◆ MenuClickBuildRoad()

static CallBackFunction MenuClickBuildRoad ( int  index)
static

Handle click on the entry in the Build Road menu.

Parameters
indexRoadType to show the build toolbar for.
Returns
CBF_NONE

Definition at line 913 of file toolbar_gui.cpp.

References ShowBuildRoadToolbar().

◆ MenuClickBuildTram()

static CallBackFunction MenuClickBuildTram ( int  index)
static

Handle click on the entry in the Build Tram menu.

Parameters
indexRoadType to show the build toolbar for.
Returns
CBF_NONE

Definition at line 935 of file toolbar_gui.cpp.

References ShowBuildRoadToolbar().

◆ MenuClickBuildWater()

static CallBackFunction MenuClickBuildWater ( int  )
static

Handle click on the entry in the Build Waterways menu.

Returns
CBF_NONE

Definition at line 958 of file toolbar_gui.cpp.

References ShowBuildDocksToolbar().

◆ MenuClickCompany()

static CallBackFunction MenuClickCompany ( int  index)
static

Handle click on the entry in the Company menu.

Parameters
indexMenu entry to handle.
Returns
CBF_NONE

Definition at line 580 of file toolbar_gui.cpp.

References _network_server, _networking, CLIENT_ID_SERVER, COMPANY_SPECTATOR, CTMN_CLIENT_LIST, CTMN_SPECTATE, MarkWholeScreenDirty(), NetworkClientRequestMove(), NetworkServerDoMove(), and ShowCompany().

◆ MenuClickFinances()

static CallBackFunction MenuClickFinances ( int  index)
static

Handle click on the entry in the finances overview menu.

Parameters
indexCompanyID to show finances for.
Returns
CBF_NONE

Definition at line 560 of file toolbar_gui.cpp.

References ShowCompanyFinances().

◆ MenuClickForest()

static CallBackFunction MenuClickForest ( int  index)
static

Handle click on the entry in the landscaping menu.

Parameters
indexMenu entry clicked.
Returns
CBF_NONE

Definition at line 1005 of file toolbar_gui.cpp.

References ShowTerraformToolbar().

◆ MenuClickGoal()

static CallBackFunction MenuClickGoal ( int  index)
static

Handle click on the entry in the Goal menu.

Parameters
indexCompanyID to show story book for
Returns
CBF_NONE

Definition at line 636 of file toolbar_gui.cpp.

References CTMN_SPECTATOR, and ShowGoalsList().

◆ MenuClickGraphsOrLeague()

◆ MenuClickHelp()

static CallBackFunction MenuClickHelp ( int  index)
static

Choose the proper callback function for the main toolbar's help menu.

Parameters
indexThe menu index which was selected.
Returns
CBF_NONE

Definition at line 1161 of file toolbar_gui.cpp.

References _ctrl_pressed, IConsoleSwitch(), ShowFramerateWindow(), ShowScriptDebugWindow(), ShowSpriteAlignerWindow(), ToggleBoundingBoxes(), ToggleDirtyBlocks(), and ToggleWidgetOutlines().

◆ MenuClickIndustry()

static CallBackFunction MenuClickIndustry ( int  index)
static

Handle click on the entry in the Industry menu.

Parameters
indexMenu entry number.
Returns
CBF_NONE

Definition at line 753 of file toolbar_gui.cpp.

References ShowIndustryCargoesWindow().

◆ MenuClickMap()

static CallBackFunction MenuClickMap ( int  index)
static

Handle click on one of the entries in the Map menu.

Parameters
indexIndex being clicked.
Returns
CBF_NONE

Definition at line 454 of file toolbar_gui.cpp.

References ShowExtraViewportWindow(), ShowLinkGraphLegend(), ShowSignList(), and ShowSmallMap().

◆ MenuClickMusicWindow()

static CallBackFunction MenuClickMusicWindow ( int  )
static

Handle click on the entry in the Music menu.

Returns
CBF_NONE

Definition at line 1028 of file toolbar_gui.cpp.

◆ MenuClickNewspaper()

static CallBackFunction MenuClickNewspaper ( int  index)
static

Handle click on the entry in the Newspaper menu.

Parameters
indexMenu entry clicked.
Returns
CBF_NONE

Definition at line 1048 of file toolbar_gui.cpp.

References DeleteAllMessages(), ShowLastNewsMessage(), and ShowMessageHistory().

◆ MenuClickSaveLoad()

static CallBackFunction MenuClickSaveLoad ( int  index = 0)
static

Handle click on one of the entries in the SaveLoad menu.

Parameters
indexIndex being clicked.
Returns
CBF_NONE

Definition at line 392 of file toolbar_gui.cpp.

References FT_HEIGHTMAP, FT_SAVEGAME, FT_SCENARIO, ShowSaveLoadDialog(), SLO_LOAD, and SLO_SAVE.

Referenced by MainToolbarWindow::OnHotkey(), and ScenarioEditorToolbarWindow::OnHotkey().

◆ MenuClickSettings()

◆ MenuClickShowAir()

static CallBackFunction MenuClickShowAir ( int  index)
static

Handle click on the entry in the Aircraft menu.

Parameters
indexCompanyID to show aircraft list for.
Returns
CBF_NONE

Definition at line 848 of file toolbar_gui.cpp.

References VEH_AIRCRAFT.

◆ MenuClickShowRoad()

static CallBackFunction MenuClickShowRoad ( int  index)
static

Handle click on the entry in the Road Vehicles menu.

Parameters
indexCompanyID to show road vehicles list for.
Returns
CBF_NONE

Definition at line 808 of file toolbar_gui.cpp.

References VEH_ROAD.

◆ MenuClickShowShips()

static CallBackFunction MenuClickShowShips ( int  index)
static

Handle click on the entry in the Ships menu.

Parameters
indexCompanyID to show ship list for.
Returns
CBF_NONE

Definition at line 828 of file toolbar_gui.cpp.

References VEH_SHIP.

◆ MenuClickShowTrains()

static CallBackFunction MenuClickShowTrains ( int  index)
static

Handle click on the entry in the Train menu.

Parameters
indexCompanyID to show train list for.
Returns
CBF_NONE

Definition at line 788 of file toolbar_gui.cpp.

References VEH_TRAIN.

◆ MenuClickStations()

static CallBackFunction MenuClickStations ( int  index)
static

Handle click on the entry in the Stations menu.

Parameters
indexCompanyID to show station list for
Returns
CBF_NONE

Definition at line 540 of file toolbar_gui.cpp.

References ShowCompanyStations().

◆ MenuClickStory()

static CallBackFunction MenuClickStory ( int  index)
static

Handle click on the entry in the Story menu.

Parameters
indexCompanyID to show story book for
Returns
CBF_NONE

Definition at line 616 of file toolbar_gui.cpp.

References CTMN_SPECTATOR, and ShowStoryBook().

◆ MenuClickSubsidies()

static CallBackFunction MenuClickSubsidies ( int  )
static

Handle click on the entry in the Subsidies menu.

Returns
CBF_NONE

Definition at line 520 of file toolbar_gui.cpp.

◆ MenuClickTown()

static CallBackFunction MenuClickTown ( int  index)
static

Handle click on one of the entries in the Town menu.

Parameters
indexIndex being clicked.
Returns
CBF_NONE

Definition at line 493 of file toolbar_gui.cpp.

References _settings_game, GameSettings::economy, EconomySettings::found_town, EconomySettings::place_houses, and TF_FORBIDDEN.

◆ PlaceLandBlockInfo()

static CallBackFunction PlaceLandBlockInfo ( )
static

Definition at line 1060 of file toolbar_gui.cpp.

◆ PopupMainCompanyToolbMenu()

static void PopupMainCompanyToolbMenu ( Window w,
WidgetID  widget,
CompanyMask  grey = {} 
)
static

Pop up a generic company list menu.

Parameters
wThe toolbar window.
widgetThe button widget id.
greyA bitmask of which companies to mark as disabled.

Definition at line 155 of file toolbar_gui.cpp.

◆ PopupMainToolbarMenu() [1/2]

static void PopupMainToolbarMenu ( Window w,
WidgetID  widget,
const std::initializer_list< StringID > &  strings 
)
static

Pop up a generic text only menu.

Parameters
wToolbar
widgetToolbar button
stringsList of strings for each item in the menu

Definition at line 129 of file toolbar_gui.cpp.

References PopupMainToolbarMenu().

◆ PopupMainToolbarMenu() [2/2]

static void PopupMainToolbarMenu ( Window w,
WidgetID  widget,
DropDownList &&  list,
int  def 
)
static

Pop up a generic text only menu.

Parameters
wToolbar
widgetToolbar button
listList of items
defDefault item

Definition at line 117 of file toolbar_gui.cpp.

References _settings_client, SoundSettings::click_beep, ShowDropDownList(), SND_15_BEEP, and ClientSettings::sound.

Referenced by PopupMainToolbarMenu(), ToolbarSaveClick(), and ToolbarScenSaveOrLoad().

◆ SelectSignTool()

static CallBackFunction SelectSignTool ( )
static

Definition at line 189 of file toolbar_gui.cpp.

◆ SetStartingYear()

◆ ToggleBoundingBoxes()

void ToggleBoundingBoxes ( )

Toggle drawing of sprites' bounding boxes.

Note
has only an effect when newgrf_developer_tools are active.

Function is found here and not in viewport.cpp in order to avoid importing the settings structs to there.

Definition at line 1094 of file toolbar_gui.cpp.

References _settings_client, ClientSettings::gui, MarkWholeScreenDirty(), and GUISettings::newgrf_developer_tools.

Referenced by MenuClickHelp(), and MainWindow::OnHotkey().

◆ ToggleDirtyBlocks()

void ToggleDirtyBlocks ( )

Toggle drawing of the dirty blocks.

Note
has only an effect when newgrf_developer_tools are active.

Function is found here and not in viewport.cpp in order to avoid importing the settings structs to there.

Definition at line 1111 of file toolbar_gui.cpp.

References _settings_client, ClientSettings::gui, MarkWholeScreenDirty(), and GUISettings::newgrf_developer_tools.

Referenced by MenuClickHelp(), and MainWindow::OnHotkey().

◆ ToggleWidgetOutlines()

void ToggleWidgetOutlines ( )

Toggle drawing of widget outlihes.

Note
has only an effect when newgrf_developer_tools are active.

Definition at line 1125 of file toolbar_gui.cpp.

References _settings_client, ClientSettings::gui, MarkWholeScreenDirty(), and GUISettings::newgrf_developer_tools.

Referenced by MenuClickHelp(), and MainWindow::OnHotkey().

◆ ToolbarAirClick()

static CallBackFunction ToolbarAirClick ( Window w)
static

Definition at line 836 of file toolbar_gui.cpp.

◆ ToolbarBtn_NULL()

static CallBackFunction ToolbarBtn_NULL ( Window )
static

Definition at line 1327 of file toolbar_gui.cpp.

◆ ToolbarBuildAirClick()

static CallBackFunction ToolbarBuildAirClick ( Window w)
static

Definition at line 966 of file toolbar_gui.cpp.

◆ ToolbarBuildRailClick()

static CallBackFunction ToolbarBuildRailClick ( Window w)
static

Definition at line 878 of file toolbar_gui.cpp.

◆ ToolbarBuildRoadClick()

static CallBackFunction ToolbarBuildRoadClick ( Window w)
static

Definition at line 900 of file toolbar_gui.cpp.

◆ ToolbarBuildTramClick()

static CallBackFunction ToolbarBuildTramClick ( Window w)
static

Definition at line 922 of file toolbar_gui.cpp.

◆ ToolbarBuildWaterClick()

static CallBackFunction ToolbarBuildWaterClick ( Window w)
static

Definition at line 944 of file toolbar_gui.cpp.

◆ ToolbarCompaniesClick()

static CallBackFunction ToolbarCompaniesClick ( Window w)
static

Definition at line 568 of file toolbar_gui.cpp.

◆ ToolbarFastForwardClick()

static CallBackFunction ToolbarFastForwardClick ( Window )
static

Toggle fast forward mode.

Returns
CBF_NONE

Definition at line 217 of file toolbar_gui.cpp.

References _game_speed, _networking, _settings_client, SoundSettings::click_beep, SND_15_BEEP, and ClientSettings::sound.

Referenced by MainToolbarWindow::OnHotkey(), and ScenarioEditorToolbarWindow::OnHotkey().

◆ ToolbarFinancesClick()

static CallBackFunction ToolbarFinancesClick ( Window w)
static

Definition at line 548 of file toolbar_gui.cpp.

◆ ToolbarForestClick()

static CallBackFunction ToolbarForestClick ( Window w)
static

Definition at line 988 of file toolbar_gui.cpp.

◆ ToolbarGoalClick()

static CallBackFunction ToolbarGoalClick ( Window w)
static

Definition at line 624 of file toolbar_gui.cpp.

◆ ToolbarGraphsClick()

static CallBackFunction ToolbarGraphsClick ( Window w)
static

Definition at line 673 of file toolbar_gui.cpp.

◆ ToolbarHelpClick()

static CallBackFunction ToolbarHelpClick ( Window w)
static

Definition at line 1071 of file toolbar_gui.cpp.

◆ ToolbarIndustryClick()

static CallBackFunction ToolbarIndustryClick ( Window w)
static

Definition at line 736 of file toolbar_gui.cpp.

◆ ToolbarLeagueClick()

static CallBackFunction ToolbarLeagueClick ( Window w)
static

Definition at line 692 of file toolbar_gui.cpp.

◆ ToolbarMapClick()

static CallBackFunction ToolbarMapClick ( Window w)
static

Definition at line 425 of file toolbar_gui.cpp.

◆ ToolbarMusicClick()

static CallBackFunction ToolbarMusicClick ( Window w)
static

Definition at line 1017 of file toolbar_gui.cpp.

◆ ToolbarNewspaperClick()

static CallBackFunction ToolbarNewspaperClick ( Window w)
static

Definition at line 1036 of file toolbar_gui.cpp.

◆ ToolbarOptionsClick()

◆ ToolbarPauseClick()

static CallBackFunction ToolbarPauseClick ( Window )
static

Definition at line 202 of file toolbar_gui.cpp.

◆ ToolbarRoadClick()

static CallBackFunction ToolbarRoadClick ( Window w)
static

Definition at line 796 of file toolbar_gui.cpp.

◆ ToolbarSaveClick()

static CallBackFunction ToolbarSaveClick ( Window w)
static

Handle click on Save button in toolbar in normal game mode.

Parameters
wparent window the shown save dialogue is attached to.
Returns
CBF_NONE

Definition at line 365 of file toolbar_gui.cpp.

References PopupMainToolbarMenu(), and WID_TN_SAVE.

◆ ToolbarScenBuildDocks()

static CallBackFunction ToolbarScenBuildDocks ( Window w)
static

Definition at line 1304 of file toolbar_gui.cpp.

◆ ToolbarScenBuildRoad()

static CallBackFunction ToolbarScenBuildRoad ( int  index)
static

Handle click on the entry in the Build Road menu.

Parameters
indexRoadType to show the build toolbar for.
Returns
CBF_NONE

Definition at line 1277 of file toolbar_gui.cpp.

References ShowBuildRoadScenToolbar().

◆ ToolbarScenBuildRoadClick()

static CallBackFunction ToolbarScenBuildRoadClick ( Window w)
static

Definition at line 1264 of file toolbar_gui.cpp.

◆ ToolbarScenBuildTram()

static CallBackFunction ToolbarScenBuildTram ( int  index)
static

Handle click on the entry in the Build Tram menu.

Parameters
indexRoadType to show the build toolbar for.
Returns
CBF_NONE

Definition at line 1297 of file toolbar_gui.cpp.

References ShowBuildRoadScenToolbar().

◆ ToolbarScenBuildTramClick()

static CallBackFunction ToolbarScenBuildTramClick ( Window w)
static

Definition at line 1284 of file toolbar_gui.cpp.

◆ ToolbarScenDateBackward()

static CallBackFunction ToolbarScenDateBackward ( Window w)
static

Definition at line 1206 of file toolbar_gui.cpp.

◆ ToolbarScenDateForward()

static CallBackFunction ToolbarScenDateForward ( Window w)
static

Definition at line 1219 of file toolbar_gui.cpp.

◆ ToolbarScenDatePanel()

static CallBackFunction ToolbarScenDatePanel ( Window w)
static

Called when clicking at the date panel of the scenario editor toolbar.

Definition at line 1200 of file toolbar_gui.cpp.

References _settings_game, CS_NUMERAL, EnableDefault, GameSettings::game_creation, GetString(), ShowQueryString(), and GameCreationSettings::starting_year.

◆ ToolbarScenGenIndustry()

static CallBackFunction ToolbarScenGenIndustry ( Window w)
static

Definition at line 1256 of file toolbar_gui.cpp.

◆ ToolbarScenGenLand()

static CallBackFunction ToolbarScenGenLand ( Window w)
static

Definition at line 1232 of file toolbar_gui.cpp.

◆ ToolbarScenGenTown()

static CallBackFunction ToolbarScenGenTown ( int  index)
static

Definition at line 1247 of file toolbar_gui.cpp.

◆ ToolbarScenGenTownClick()

static CallBackFunction ToolbarScenGenTownClick ( Window w)
static

Definition at line 1241 of file toolbar_gui.cpp.

◆ ToolbarScenMapTownDir()

static CallBackFunction ToolbarScenMapTownDir ( Window w)
static

Definition at line 436 of file toolbar_gui.cpp.

◆ ToolbarScenPlaceSign()

static CallBackFunction ToolbarScenPlaceSign ( Window w)
static

Definition at line 1320 of file toolbar_gui.cpp.

◆ ToolbarScenPlantTrees()

static CallBackFunction ToolbarScenPlantTrees ( Window w)
static

Definition at line 1312 of file toolbar_gui.cpp.

◆ ToolbarScenSaveOrLoad()

static CallBackFunction ToolbarScenSaveOrLoad ( Window w)
static

Handle click on SaveLoad button in toolbar in the scenario editor.

Parameters
wparent window the shown save dialogue is attached to.
Returns
CBF_NONE

Definition at line 378 of file toolbar_gui.cpp.

References PopupMainToolbarMenu(), and WID_TE_SAVE.

◆ ToolbarShipClick()

static CallBackFunction ToolbarShipClick ( Window w)
static

Definition at line 816 of file toolbar_gui.cpp.

◆ ToolbarStationsClick()

static CallBackFunction ToolbarStationsClick ( Window w)
static

Definition at line 528 of file toolbar_gui.cpp.

◆ ToolbarStoryClick()

static CallBackFunction ToolbarStoryClick ( Window w)
static

Definition at line 604 of file toolbar_gui.cpp.

◆ ToolbarSubsidiesClick()

static CallBackFunction ToolbarSubsidiesClick ( Window w)
static

Definition at line 509 of file toolbar_gui.cpp.

◆ ToolbarSwitchClick()

static CallBackFunction ToolbarSwitchClick ( Window w)
static

Definition at line 1181 of file toolbar_gui.cpp.

◆ ToolbarTownClick()

static CallBackFunction ToolbarTownClick ( Window w)
static

Definition at line 475 of file toolbar_gui.cpp.

◆ ToolbarTrainClick()

static CallBackFunction ToolbarTrainClick ( Window w)
static

Definition at line 776 of file toolbar_gui.cpp.

◆ ToolbarVehicleClick()

static void ToolbarVehicleClick ( Window w,
VehicleType  veh 
)
static

Definition at line 765 of file toolbar_gui.cpp.

◆ ToolbarZoomInClick()

static CallBackFunction ToolbarZoomInClick ( Window w)
static

Definition at line 856 of file toolbar_gui.cpp.

◆ ToolbarZoomOutClick()

static CallBackFunction ToolbarZoomOutClick ( Window w)
static

Definition at line 867 of file toolbar_gui.cpp.

Variable Documentation

◆ _last_built_railtype

RailType _last_built_railtype

Definition at line 80 of file toolbar_gui.cpp.

◆ _last_built_roadtype

RoadType _last_built_roadtype

Definition at line 81 of file toolbar_gui.cpp.

◆ _last_built_tramtype

RoadType _last_built_tramtype

Definition at line 82 of file toolbar_gui.cpp.

◆ _last_started_action

◆ _menu_clicked_procs

MenuClickedProc* const _menu_clicked_procs[]
static

Definition at line 1334 of file toolbar_gui.cpp.

◆ _nested_toolb_scen_inner_widgets

constexpr NWidgetPart _nested_toolb_scen_inner_widgets[]
staticconstexpr

Definition at line 2543 of file toolbar_gui.cpp.

◆ _nested_toolb_scen_widgets

constexpr NWidgetPart _nested_toolb_scen_widgets[]
staticconstexpr
Initial value:
= {
NWidgetFunction(MakeScenarioToolbar),
}
constexpr NWidgetPart NWidgetFunction(NWidgetFunctionType *func_ptr)
Obtain a nested widget (sub)tree from an external source.

Definition at line 2583 of file toolbar_gui.cpp.

◆ _nested_toolbar_normal_widgets

constexpr NWidgetPart _nested_toolbar_normal_widgets[]
staticconstexpr
Initial value:
= {
}
static std::unique_ptr< NWidgetBase > MakeMainToolbar()

Definition at line 2240 of file toolbar_gui.cpp.

◆ _scen_toolbar_button_procs

ToolbarButtonProc* const _scen_toolbar_button_procs[]
static
Initial value:
= {
ToolbarPauseClick,
ToolbarBtn_NULL,
ToolbarScenDateBackward,
ToolbarScenDateForward,
ToolbarScenMapTownDir,
ToolbarZoomInClick,
ToolbarZoomOutClick,
ToolbarScenGenLand,
ToolbarScenGenTownClick,
ToolbarScenGenIndustry,
ToolbarScenBuildRoadClick,
ToolbarScenBuildTramClick,
ToolbarScenBuildDocks,
ToolbarScenPlantTrees,
ToolbarScenPlaceSign,
ToolbarBtn_NULL,
ToolbarMusicClick,
ToolbarHelpClick,
ToolbarSwitchClick,
}
static CallBackFunction ToolbarOptionsClick(Window *w)
Handle click on Options button in toolbar.
static CallBackFunction ToolbarScenSaveOrLoad(Window *w)
Handle click on SaveLoad button in toolbar in the scenario editor.
static CallBackFunction ToolbarFastForwardClick(Window *)
Toggle fast forward mode.
static CallBackFunction ToolbarScenDatePanel(Window *w)
Called when clicking at the date panel of the scenario editor toolbar.

Definition at line 2281 of file toolbar_gui.cpp.

◆ _scen_toolbar_dropdown_procs

MenuClickedProc* const _scen_toolbar_dropdown_procs[]
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
ToolbarScenGenTown,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static CallBackFunction MenuClickHelp(int index)
Choose the proper callback function for the main toolbar's help menu.
static CallBackFunction MenuClickSaveLoad(int index=0)
Handle click on one of the entries in the SaveLoad menu.
static CallBackFunction MenuClickMusicWindow(int)
Handle click on the entry in the Music menu.
static CallBackFunction ToolbarScenBuildTram(int index)
Handle click on the entry in the Build Tram menu.
static CallBackFunction ToolbarScenBuildRoad(int index)
Handle click on the entry in the Build Road menu.
static CallBackFunction MenuClickMap(int index)
Handle click on one of the entries in the Map menu.
static CallBackFunction MenuClickSettings(int index)
Handle click on one of the entries in the Options button menu.

Definition at line 2255 of file toolbar_gui.cpp.

◆ _toolbar_button_procs

ToolbarButtonProc* const _toolbar_button_procs[]
static

Definition at line 1957 of file toolbar_gui.cpp.

◆ _toolbar_mode

ToolbarMode _toolbar_mode
static

Definition at line 187 of file toolbar_gui.cpp.

◆ _toolbar_width

◆ CTMN_CLIENT_LIST

const int CTMN_CLIENT_LIST = -1
static

Enum for the Company Toolbar's network related buttons.

Show the client list

Definition at line 145 of file toolbar_gui.cpp.

Referenced by MenuClickCompany().

◆ CTMN_SPECTATE

const int CTMN_SPECTATE = -2
static

Become spectator.

Definition at line 146 of file toolbar_gui.cpp.

Referenced by MenuClickCompany().

◆ CTMN_SPECTATOR

const int CTMN_SPECTATOR = -3
static

Show a company window as spectator.

Definition at line 147 of file toolbar_gui.cpp.

Referenced by MenuClickGoal(), and MenuClickStory().

◆ GRMN_CARGO_PAYMENT_RATES

const int GRMN_CARGO_PAYMENT_RATES = -6
static

Show cargo payment rates graph.

Definition at line 653 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ GRMN_COMPANY_VALUE_GRAPH

const int GRMN_COMPANY_VALUE_GRAPH = -5
static

Show company value graph.

Definition at line 652 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ GRMN_DELIVERED_CARGO_GRAPH

const int GRMN_DELIVERED_CARGO_GRAPH = -3
static

Show delivered cargo graph.

Definition at line 650 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ GRMN_INCOME_GRAPH

const int GRMN_INCOME_GRAPH = -2
static

Show income graph.

Definition at line 649 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ GRMN_OPERATING_PROFIT_GRAPH

const int GRMN_OPERATING_PROFIT_GRAPH = -1
static

Enum for the League Toolbar's and Graph Toolbar's related buttons.

Use continuous numbering as League Toolbar can be combined into the Graph Toolbar. Show operating profit graph

Definition at line 648 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ GRMN_PERFORMANCE_HISTORY_GRAPH

const int GRMN_PERFORMANCE_HISTORY_GRAPH = -4
static

Show performance history graph.

Definition at line 651 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ LTMN_HIGHSCORE

const int LTMN_HIGHSCORE = -9
static

Show highscrore table.

Definition at line 656 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ LTMN_PERFORMANCE_LEAGUE

const int LTMN_PERFORMANCE_LEAGUE = -7
static

Show default league table.

Definition at line 654 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ LTMN_PERFORMANCE_RATING

const int LTMN_PERFORMANCE_RATING = -8
static

Show detailed performance rating.

Definition at line 655 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().