OpenTTD Source 15.3
toolbar_gui.cpp File Reference

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

#include "stdafx.h"
#include "core/geometry_func.hpp"
#include "gui.h"
#include "spritecache.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 }
 Toolbar 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 DropDownOptions GetToolbarDropDownOptions ()
 
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 outlines.
 
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 *)
 
Dimension GetToolbarMaximalImageSize ()
 Get maximal square size of a toolbar image.
 
static std::unique_ptr< NWidgetBaseMakeMainToolbar ()
 Make widgets for the main toolbar.
 
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 std::tuple< WidgetID, WidgetType, SpriteID_toolbar_button_sprites []
 Sprites to use for the different toolbar buttons.
 
static constexpr std::initializer_list< NWidgetPart_nested_toolbar_normal_widgets
 
static WindowDesc _toolb_normal_desc (WDP_MANUAL, {}, 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 std::initializer_list< NWidgetPart_nested_toolb_scen_inner_widgets
 
static constexpr std::initializer_list< NWidgetPart_nested_toolb_scen_widgets
 
static WindowDesc _toolb_scen_desc (WDP_MANUAL, {}, 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 1319 of file toolbar_gui.cpp.

◆ ToolbarButtonProc

typedef CallBackFunction ToolbarButtonProc(Window *w)

Definition at line 1942 of file toolbar_gui.cpp.

Enumeration Type Documentation

◆ CallBackFunction

enum CallBackFunction : uint8_t

Callback functions.

Definition at line 94 of file toolbar_gui.cpp.

◆ MainToolbarEditorHotkeys

enum MainToolbarEditorHotkeys : int32_t

Definition at line 2303 of file toolbar_gui.cpp.

◆ MapMenuEntries

enum MapMenuEntries : uint8_t

Definition at line 422 of file toolbar_gui.cpp.

◆ OptionMenuEntries

enum OptionMenuEntries : uint8_t

Game Option button menu entries.

Definition at line 237 of file toolbar_gui.cpp.

◆ SaveLoadEditorMenuEntries

enum SaveLoadEditorMenuEntries : uint8_t

SaveLoad entries in scenario editor mode.

Definition at line 346 of file toolbar_gui.cpp.

◆ SaveLoadNormalMenuEntries

enum SaveLoadNormalMenuEntries : uint8_t

SaveLoad entries in normal game mode.

Definition at line 358 of file toolbar_gui.cpp.

◆ ToolbarMode

enum ToolbarMode : uint8_t

Toolbar modes.

Definition at line 87 of file toolbar_gui.cpp.

◆ TownMenuEntries

enum TownMenuEntries

Definition at line 475 of file toolbar_gui.cpp.

Function Documentation

◆ AddDropDownLeagueTableOptions()

static void AddDropDownLeagueTableOptions ( DropDownList list)
static

Definition at line 664 of file toolbar_gui.cpp.

◆ AllocateToolbar()

void AllocateToolbar ( )

Allocate the toolbar.

Definition at line 2592 of file toolbar_gui.cpp.

References ROADTYPE_ROAD, and ROADTYPE_TRAM.

Referenced by ShowVitalWindows().

◆ GetToolbarDropDownOptions()

static DropDownOptions GetToolbarDropDownOptions ( )
static

Definition at line 112 of file toolbar_gui.cpp.

◆ GetToolbarMaximalImageSize()

Dimension GetToolbarMaximalImageSize ( )

Get maximal square size of a toolbar image.

Returns
maximal toolbar image size.

Definition at line 2200 of file toolbar_gui.cpp.

References _toolbar_button_sprites, GetSquareScaledSpriteSize(), and maxdim().

Referenced by SetupWidgetDimensions().

◆ MakeMainToolbar()

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

Make widgets for the main toolbar.

Returns
widgets for the main toolbar.

Definition at line 2214 of file toolbar_gui.cpp.

References _toolbar_button_sprites, WID_TN_BUILDING_TOOLS_START, WID_TN_FINANCES, WID_TN_MUSIC_SOUND, WID_TN_SMALL_MAP, WID_TN_VEHICLE_START, and WID_TN_ZOOM_IN.

◆ MakeScenarioToolbar()

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

Definition at line 2574 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 975 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 890 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 911 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 932 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 954 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 586 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 566 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 999 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 642 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 1155 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 755 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 460 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 1022 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 1042 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 398 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 850 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 810 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 830 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 790 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 546 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 622 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 526 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 499 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 1054 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 162 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 136 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 125 of file toolbar_gui.cpp.

References ShowDropDownList().

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

◆ SelectSignTool()

static CallBackFunction SelectSignTool ( )
static

Definition at line 196 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 1088 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 1105 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 outlines.

Note
has only an effect when newgrf_developer_tools are active.

Definition at line 1119 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 838 of file toolbar_gui.cpp.

◆ ToolbarBtn_NULL()

static CallBackFunction ToolbarBtn_NULL ( Window )
static

Definition at line 1314 of file toolbar_gui.cpp.

◆ ToolbarBuildAirClick()

static CallBackFunction ToolbarBuildAirClick ( Window w)
static

Definition at line 962 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 899 of file toolbar_gui.cpp.

◆ ToolbarBuildTramClick()

static CallBackFunction ToolbarBuildTramClick ( Window w)
static

Definition at line 920 of file toolbar_gui.cpp.

◆ ToolbarBuildWaterClick()

static CallBackFunction ToolbarBuildWaterClick ( Window w)
static

Definition at line 941 of file toolbar_gui.cpp.

◆ ToolbarCompaniesClick()

static CallBackFunction ToolbarCompaniesClick ( Window w)
static

Definition at line 574 of file toolbar_gui.cpp.

◆ ToolbarFastForwardClick()

static CallBackFunction ToolbarFastForwardClick ( Window )
static

Toggle fast forward mode.

Returns
CBF_NONE

Definition at line 224 of file toolbar_gui.cpp.

References _game_speed, _networking, and SndClickBeep().

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

◆ ToolbarFinancesClick()

static CallBackFunction ToolbarFinancesClick ( Window w)
static

Definition at line 554 of file toolbar_gui.cpp.

◆ ToolbarForestClick()

static CallBackFunction ToolbarForestClick ( Window w)
static

Definition at line 983 of file toolbar_gui.cpp.

◆ ToolbarGoalClick()

static CallBackFunction ToolbarGoalClick ( Window w)
static

Definition at line 630 of file toolbar_gui.cpp.

◆ ToolbarGraphsClick()

static CallBackFunction ToolbarGraphsClick ( Window w)
static

Definition at line 679 of file toolbar_gui.cpp.

◆ ToolbarHelpClick()

static CallBackFunction ToolbarHelpClick ( Window w)
static

Definition at line 1065 of file toolbar_gui.cpp.

◆ ToolbarIndustryClick()

static CallBackFunction ToolbarIndustryClick ( Window w)
static

Definition at line 738 of file toolbar_gui.cpp.

◆ ToolbarLeagueClick()

static CallBackFunction ToolbarLeagueClick ( Window w)
static

Definition at line 696 of file toolbar_gui.cpp.

◆ ToolbarMapClick()

static CallBackFunction ToolbarMapClick ( Window w)
static

Definition at line 431 of file toolbar_gui.cpp.

◆ ToolbarMusicClick()

static CallBackFunction ToolbarMusicClick ( Window w)
static

Definition at line 1011 of file toolbar_gui.cpp.

◆ ToolbarNewspaperClick()

static CallBackFunction ToolbarNewspaperClick ( Window w)
static

Definition at line 1030 of file toolbar_gui.cpp.

◆ ToolbarOptionsClick()

◆ ToolbarPauseClick()

static CallBackFunction ToolbarPauseClick ( Window )
static

Definition at line 209 of file toolbar_gui.cpp.

◆ ToolbarRoadClick()

static CallBackFunction ToolbarRoadClick ( Window w)
static

Definition at line 798 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 371 of file toolbar_gui.cpp.

References PopupMainToolbarMenu(), and WID_TN_SAVE.

◆ ToolbarScenBuildDocks()

static CallBackFunction ToolbarScenBuildDocks ( Window w)
static

Definition at line 1294 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 1268 of file toolbar_gui.cpp.

References ShowBuildRoadScenToolbar().

◆ ToolbarScenBuildRoadClick()

static CallBackFunction ToolbarScenBuildRoadClick ( Window w)
static

Definition at line 1256 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 1287 of file toolbar_gui.cpp.

References ShowBuildRoadScenToolbar().

◆ ToolbarScenBuildTramClick()

static CallBackFunction ToolbarScenBuildTramClick ( Window w)
static

Definition at line 1275 of file toolbar_gui.cpp.

◆ ToolbarScenDateBackward()

static CallBackFunction ToolbarScenDateBackward ( Window w)
static

Definition at line 1200 of file toolbar_gui.cpp.

◆ ToolbarScenDateForward()

static CallBackFunction ToolbarScenDateForward ( Window w)
static

Definition at line 1213 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 1194 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 1249 of file toolbar_gui.cpp.

◆ ToolbarScenGenLand()

static CallBackFunction ToolbarScenGenLand ( Window w)
static

Definition at line 1226 of file toolbar_gui.cpp.

◆ ToolbarScenGenTown()

static CallBackFunction ToolbarScenGenTown ( int  index)
static

Definition at line 1240 of file toolbar_gui.cpp.

◆ ToolbarScenGenTownClick()

static CallBackFunction ToolbarScenGenTownClick ( Window w)
static

Definition at line 1234 of file toolbar_gui.cpp.

◆ ToolbarScenMapTownDir()

static CallBackFunction ToolbarScenMapTownDir ( Window w)
static

Definition at line 442 of file toolbar_gui.cpp.

◆ ToolbarScenPlaceSign()

static CallBackFunction ToolbarScenPlaceSign ( Window w)
static

Definition at line 1308 of file toolbar_gui.cpp.

◆ ToolbarScenPlantTrees()

static CallBackFunction ToolbarScenPlantTrees ( Window w)
static

Definition at line 1301 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 384 of file toolbar_gui.cpp.

References PopupMainToolbarMenu(), and WID_TE_SAVE.

◆ ToolbarShipClick()

static CallBackFunction ToolbarShipClick ( Window w)
static

Definition at line 818 of file toolbar_gui.cpp.

◆ ToolbarStationsClick()

static CallBackFunction ToolbarStationsClick ( Window w)
static

Definition at line 534 of file toolbar_gui.cpp.

◆ ToolbarStoryClick()

static CallBackFunction ToolbarStoryClick ( Window w)
static

Definition at line 610 of file toolbar_gui.cpp.

◆ ToolbarSubsidiesClick()

static CallBackFunction ToolbarSubsidiesClick ( Window w)
static

Definition at line 515 of file toolbar_gui.cpp.

◆ ToolbarSwitchClick()

static CallBackFunction ToolbarSwitchClick ( Window w)
static

Definition at line 1175 of file toolbar_gui.cpp.

◆ ToolbarTownClick()

static CallBackFunction ToolbarTownClick ( Window w)
static

Definition at line 481 of file toolbar_gui.cpp.

◆ ToolbarTrainClick()

static CallBackFunction ToolbarTrainClick ( Window w)
static

Definition at line 778 of file toolbar_gui.cpp.

◆ ToolbarVehicleClick()

static void ToolbarVehicleClick ( Window w,
VehicleType  veh 
)
static

Definition at line 767 of file toolbar_gui.cpp.

◆ ToolbarZoomInClick()

static CallBackFunction ToolbarZoomInClick ( Window w)
static

Definition at line 858 of file toolbar_gui.cpp.

◆ ToolbarZoomOutClick()

static CallBackFunction ToolbarZoomOutClick ( Window w)
static

Definition at line 868 of file toolbar_gui.cpp.

Variable Documentation

◆ _last_built_railtype

RailType _last_built_railtype

Definition at line 82 of file toolbar_gui.cpp.

◆ _last_built_roadtype

RoadType _last_built_roadtype

Definition at line 83 of file toolbar_gui.cpp.

◆ _last_built_tramtype

RoadType _last_built_tramtype

Definition at line 84 of file toolbar_gui.cpp.

◆ _last_started_action

◆ _menu_clicked_procs

MenuClickedProc* const _menu_clicked_procs[]
static

Definition at line 1321 of file toolbar_gui.cpp.

◆ _nested_toolb_scen_inner_widgets

constexpr std::initializer_list<NWidgetPart> _nested_toolb_scen_inner_widgets
staticconstexpr

Definition at line 2539 of file toolbar_gui.cpp.

◆ _nested_toolb_scen_widgets

constexpr std::initializer_list<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 2579 of file toolbar_gui.cpp.

◆ _nested_toolbar_normal_widgets

constexpr std::initializer_list<NWidgetPart> _nested_toolbar_normal_widgets
staticconstexpr
Initial value:
= {
}
static std::unique_ptr< NWidgetBase > MakeMainToolbar()
Make widgets for the main toolbar.

Definition at line 2236 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 2277 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 2251 of file toolbar_gui.cpp.

◆ _toolbar_button_procs

ToolbarButtonProc* const _toolbar_button_procs[]
static

Definition at line 1944 of file toolbar_gui.cpp.

◆ _toolbar_button_sprites

constexpr std::tuple<WidgetID, WidgetType, SpriteID> _toolbar_button_sprites[]
staticconstexpr

Sprites to use for the different toolbar buttons.

Definition at line 2162 of file toolbar_gui.cpp.

Referenced by GetToolbarMaximalImageSize(), and MakeMainToolbar().

◆ _toolbar_mode

ToolbarMode _toolbar_mode
static

Definition at line 194 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 152 of file toolbar_gui.cpp.

Referenced by MenuClickCompany().

◆ CTMN_SPECTATE

const int CTMN_SPECTATE = -2
static

Become spectator.

Definition at line 153 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 154 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 659 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 658 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 656 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ GRMN_INCOME_GRAPH

const int GRMN_INCOME_GRAPH = -2
static

Show income graph.

Definition at line 655 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 654 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 657 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().

◆ LTMN_HIGHSCORE

const int LTMN_HIGHSCORE = -9
static

Show highscrore table.

Definition at line 662 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 660 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 661 of file toolbar_gui.cpp.

Referenced by MenuClickGraphsOrLeague().