OpenTTD Source
20241121-master-g67a0fccfad
|
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 "dropdown_common_type.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 "widgets/toolbar_widget.h"
#include "network/network.h"
#include "network/network_gui.h"
#include "network/network_func.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 { TB_NORMAL , TB_UPPER , TB_LOWER } |
Toobar modes. | |
enum | CallBackFunction { CBF_NONE , CBF_PLACE_SIGN , CBF_PLACE_LANDINFO } |
Callback functions. | |
enum | OptionMenuEntries { OME_GAMEOPTIONS , OME_SETTINGS , OME_AI_SETTINGS , OME_GAMESCRIPT_SETTINGS , OME_NEWGRFSETTINGS , OME_SANDBOX , OME_TRANSPARENCIES , OME_SHOW_TOWNNAMES , OME_SHOW_STATIONNAMES , 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. | |
enum | SaveLoadEditorMenuEntries { 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. | |
enum | SaveLoadNormalMenuEntries { SLNME_SAVE_GAME = 0 , SLNME_LOAD_GAME , SLNME_EXIT_TOINTRO , SLNME_EXIT_GAME } |
SaveLoad entries in normal game mode. | |
enum | MapMenuEntries { MME_SHOW_SMALLMAP = 0 , MME_SHOW_EXTRAVIEWPORTS , MME_SHOW_LINKGRAPH , MME_SHOW_SIGNLISTS , MME_SHOW_TOWNDIRECTORY , MME_SHOW_INDUSTRYDIRECTORY } |
enum | MainToolbarEditorHotkeys { 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. More... | |
static void | PopupMainToolbarMenu (Window *w, WidgetID widget, const std::initializer_list< StringID > &strings) |
Pop up a generic text only menu. More... | |
static void | PopupMainCompanyToolbMenu (Window *w, WidgetID widget, CompanyMask grey=0) |
Pop up a generic company list menu. More... | |
static CallBackFunction | SelectSignTool () |
static CallBackFunction | ToolbarPauseClick (Window *) |
static CallBackFunction | ToolbarFastForwardClick (Window *) |
Toggle fast forward mode. More... | |
static CallBackFunction | ToolbarOptionsClick (Window *w) |
Handle click on Options button in toolbar. More... | |
static CallBackFunction | MenuClickSettings (int index) |
Handle click on one of the entries in the Options button menu. More... | |
static CallBackFunction | ToolbarSaveClick (Window *w) |
Handle click on Save button in toolbar in normal game mode. More... | |
static CallBackFunction | ToolbarScenSaveOrLoad (Window *w) |
Handle click on SaveLoad button in toolbar in the scenario editor. More... | |
static CallBackFunction | MenuClickSaveLoad (int index=0) |
Handle click on one of the entries in the SaveLoad menu. More... | |
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. More... | |
static CallBackFunction | ToolbarTownClick (Window *w) |
static CallBackFunction | MenuClickTown (int index) |
Handle click on one of the entries in the Town menu. More... | |
static CallBackFunction | ToolbarSubsidiesClick (Window *w) |
static CallBackFunction | MenuClickSubsidies (int) |
Handle click on the entry in the Subsidies menu. More... | |
static CallBackFunction | ToolbarStationsClick (Window *w) |
static CallBackFunction | MenuClickStations (int index) |
Handle click on the entry in the Stations menu. More... | |
static CallBackFunction | ToolbarFinancesClick (Window *w) |
static CallBackFunction | MenuClickFinances (int index) |
Handle click on the entry in the finances overview menu. More... | |
static CallBackFunction | ToolbarCompaniesClick (Window *w) |
static CallBackFunction | MenuClickCompany (int index) |
Handle click on the entry in the Company menu. More... | |
static CallBackFunction | ToolbarStoryClick (Window *w) |
static CallBackFunction | MenuClickStory (int index) |
Handle click on the entry in the Story menu. More... | |
static CallBackFunction | ToolbarGoalClick (Window *w) |
static CallBackFunction | MenuClickGoal (int index) |
Handle click on the entry in the Goal menu. More... | |
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. More... | |
static CallBackFunction | ToolbarIndustryClick (Window *w) |
static CallBackFunction | MenuClickIndustry (int index) |
Handle click on the entry in the Industry menu. More... | |
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. More... | |
static CallBackFunction | ToolbarRoadClick (Window *w) |
static CallBackFunction | MenuClickShowRoad (int index) |
Handle click on the entry in the Road Vehicles menu. More... | |
static CallBackFunction | ToolbarShipClick (Window *w) |
static CallBackFunction | MenuClickShowShips (int index) |
Handle click on the entry in the Ships menu. More... | |
static CallBackFunction | ToolbarAirClick (Window *w) |
static CallBackFunction | MenuClickShowAir (int index) |
Handle click on the entry in the Aircraft menu. More... | |
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. More... | |
static CallBackFunction | ToolbarBuildRoadClick (Window *w) |
static CallBackFunction | MenuClickBuildRoad (int index) |
Handle click on the entry in the Build Road menu. More... | |
static CallBackFunction | ToolbarBuildTramClick (Window *w) |
static CallBackFunction | MenuClickBuildTram (int index) |
Handle click on the entry in the Build Tram menu. More... | |
static CallBackFunction | ToolbarBuildWaterClick (Window *w) |
static CallBackFunction | MenuClickBuildWater (int) |
Handle click on the entry in the Build Waterways menu. More... | |
static CallBackFunction | ToolbarBuildAirClick (Window *w) |
static CallBackFunction | MenuClickBuildAir (int) |
Handle click on the entry in the Build Air menu. More... | |
static CallBackFunction | ToolbarForestClick (Window *w) |
static CallBackFunction | MenuClickForest (int index) |
Handle click on the entry in the landscaping menu. More... | |
static CallBackFunction | ToolbarMusicClick (Window *w) |
static CallBackFunction | MenuClickMusicWindow (int) |
Handle click on the entry in the Music menu. More... | |
static CallBackFunction | ToolbarNewspaperClick (Window *w) |
static CallBackFunction | MenuClickNewspaper (int index) |
Handle click on the entry in the Newspaper menu. More... | |
static CallBackFunction | PlaceLandBlockInfo () |
static CallBackFunction | ToolbarHelpClick (Window *w) |
void | ToggleBoundingBoxes () |
Toggle drawing of sprites' bounding boxes. More... | |
void | ToggleDirtyBlocks () |
Toggle drawing of the dirty blocks. More... | |
void | ToggleWidgetOutlines () |
Toggle drawing of widget outlihes. More... | |
void | SetStartingYear (TimerGameCalendar::Year year) |
Set the starting year for a scenario. More... | |
static CallBackFunction | MenuClickHelp (int index) |
Choose the proper callback function for the main toolbar's help menu. More... | |
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. More... | |
static CallBackFunction | ToolbarScenBuildTramClick (Window *w) |
static CallBackFunction | ToolbarScenBuildTram (int index) |
Handle click on the entry in the Build Tram menu. More... | |
static CallBackFunction | ToolbarScenBuildDocks (Window *w) |
static CallBackFunction | ToolbarScenPlantTrees (Window *w) |
static CallBackFunction | ToolbarScenPlaceSign (Window *w) |
static CallBackFunction | ToolbarBtn_NULL (Window *) |
static std::unique_ptr< NWidgetBase > | MakeMainToolbar () |
static std::unique_ptr< NWidgetBase > | MakeScenarioToolbar () |
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. More... | |
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. More... | |
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, WDF_NO_FOCUS|WDF_NO_CLOSE, _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, WDF_NO_FOCUS|WDF_NO_CLOSE, _nested_toolb_scen_widgets, &ScenarioEditorToolbarWindow::hotkeys) |
Code related to the (main) toolbar.
Definition in file toolbar_gui.cpp.
|
static |
Sprites to use for the different toolbar buttons
Definition at line 2148 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Build Air menu.
Definition at line 953 of file toolbar_gui.cpp.
References ShowBuildAirToolbar().
|
static |
Handle click on the entry in the Build Rail menu.
index | RailType to show the build toolbar for. |
Definition at line 864 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Build Road menu.
index | RoadType to show the build toolbar for. |
Definition at line 886 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Build Tram menu.
index | RoadType to show the build toolbar for. |
Definition at line 908 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Build Waterways menu.
Definition at line 931 of file toolbar_gui.cpp.
References ShowBuildDocksToolbar().
|
static |
Handle click on the entry in the Company menu.
index | Menu entry to handle. |
Definition at line 553 of file toolbar_gui.cpp.
References _networking, and CTMN_CLIENT_LIST.
|
static |
Handle click on the entry in the finances overview menu.
index | CompanyID to show finances for. |
Definition at line 533 of file toolbar_gui.cpp.
References ShowCompanyFinances().
|
static |
Handle click on the entry in the landscaping menu.
index | Menu entry clicked. |
Definition at line 978 of file toolbar_gui.cpp.
References ShowTerraformToolbar().
|
static |
Handle click on the entry in the Goal menu.
index | CompanyID to show story book for |
Definition at line 609 of file toolbar_gui.cpp.
References CTMN_SPECTATOR, INVALID_COMPANY, and ShowGoalsList().
|
static |
Handle click on the entry in the Graphs or CompanyLeague.
index | Graph to show. |
Definition at line 684 of file toolbar_gui.cpp.
References GRMN_OPERATING_PROFIT_GRAPH.
|
static |
Choose the proper callback function for the main toolbar's help menu.
index | The menu index which was selected. |
Definition at line 1134 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Industry menu.
index | Menu entry number. |
Definition at line 726 of file toolbar_gui.cpp.
|
static |
Handle click on one of the entries in the Map menu.
index | Index being clicked. |
Definition at line 438 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Music menu.
Definition at line 1001 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Newspaper menu.
index | Menu entry clicked. |
Definition at line 1021 of file toolbar_gui.cpp.
References DeleteAllMessages(), ShowLastNewsMessage(), and ShowMessageHistory().
|
static |
Handle click on one of the entries in the SaveLoad menu.
index | Index being clicked. |
Definition at line 376 of file toolbar_gui.cpp.
|
static |
Handle click on one of the entries in the Options button menu.
index | Index being clicked. |
Definition at line 293 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Aircraft menu.
index | CompanyID to show aircraft list for. |
Definition at line 821 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Road Vehicles menu.
index | CompanyID to show road vehicles list for. |
Definition at line 781 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Ships menu.
index | CompanyID to show ship list for. |
Definition at line 801 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Train menu.
index | CompanyID to show train list for. |
Definition at line 761 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Stations menu.
index | CompanyID to show station list for |
Definition at line 513 of file toolbar_gui.cpp.
References ShowCompanyStations().
|
static |
Handle click on the entry in the Story menu.
index | CompanyID to show story book for |
Definition at line 589 of file toolbar_gui.cpp.
References CTMN_SPECTATOR, INVALID_COMPANY, and ShowStoryBook().
|
static |
Handle click on the entry in the Subsidies menu.
Definition at line 493 of file toolbar_gui.cpp.
|
static |
Handle click on one of the entries in the Town menu.
index | Index being clicked. |
Definition at line 469 of file toolbar_gui.cpp.
Pop up a generic company list menu.
w | The toolbar window. |
widget | The button widget id. |
grey | A bitmask of which companies to mark as disabled. |
Definition at line 154 of file toolbar_gui.cpp.
References _networking, and WID_TN_COMPANIES.
|
static |
Pop up a generic text only menu.
w | Toolbar |
widget | Toolbar button |
strings | List of strings for each item in the menu |
Definition at line 128 of file toolbar_gui.cpp.
|
static |
Pop up a generic text only menu.
w | Toolbar |
widget | Toolbar button |
list | List of items |
def | Default item |
Definition at line 116 of file toolbar_gui.cpp.
References _settings_client, SoundSettings::click_beep, ShowDropDownList(), and ClientSettings::sound.
Referenced by ToolbarSaveClick(), and ToolbarScenSaveOrLoad().
void SetStartingYear | ( | TimerGameCalendar::Year | year | ) |
Set the starting year for a scenario.
year | New starting year. |
Definition at line 1112 of file toolbar_gui.cpp.
References _settings_game, Clamp(), TimerGameCalendar::ConvertYMDToDate(), TimerGameEconomy::date, GameSettings::game_creation, LinkGraphSchedule::instance, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), TimerGameConst< struct Calendar >::MAX_YEAR, TimerGameConst< struct Calendar >::MIN_YEAR, TimerGameCalendar::SetDate(), TimerGameEconomy::SetDate(), LinkGraphSchedule::ShiftDates(), and GameCreationSettings::starting_year.
void ToggleBoundingBoxes | ( | ) |
Toggle drawing of sprites' bounding boxes.
Function is found here and not in viewport.cpp in order to avoid importing the settings structs to there.
Definition at line 1067 of file toolbar_gui.cpp.
void ToggleDirtyBlocks | ( | ) |
Toggle drawing of the dirty blocks.
Function is found here and not in viewport.cpp in order to avoid importing the settings structs to there.
Definition at line 1084 of file toolbar_gui.cpp.
void ToggleWidgetOutlines | ( | ) |
Toggle drawing of widget outlihes.
Definition at line 1098 of file toolbar_gui.cpp.
|
static |
Toggle fast forward mode.
Definition at line 216 of file toolbar_gui.cpp.
References _networking.
|
static |
Handle click on Options button in toolbar.
w | parent window the shown Drop down list is attached to. |
Definition at line 254 of file toolbar_gui.cpp.
|
static |
Handle click on Save button in toolbar in normal game mode.
w | parent window the shown save dialogue is attached to. |
Definition at line 349 of file toolbar_gui.cpp.
References PopupMainToolbarMenu(), and WID_TN_SAVE.
|
static |
Handle click on the entry in the Build Road menu.
index | RoadType to show the build toolbar for. |
Definition at line 1251 of file toolbar_gui.cpp.
|
static |
Handle click on the entry in the Build Tram menu.
index | RoadType to show the build toolbar for. |
Definition at line 1271 of file toolbar_gui.cpp.
|
static |
Handle click on SaveLoad button in toolbar in the scenario editor.
w | parent window the shown save dialogue is attached to. |
Definition at line 362 of file toolbar_gui.cpp.
References PopupMainToolbarMenu(), and WID_TE_SAVE.
|
staticconstexpr |
Definition at line 2545 of file toolbar_gui.cpp.
|
staticconstexpr |
Definition at line 2205 of file toolbar_gui.cpp.
|
static |
Definition at line 2246 of file toolbar_gui.cpp.
|
static |
Definition at line 2220 of file toolbar_gui.cpp.
|
static |
Enum for the Company Toolbar's network related buttons.
Show the client list
Definition at line 144 of file toolbar_gui.cpp.
Referenced by MenuClickCompany().
|
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 621 of file toolbar_gui.cpp.
Referenced by MenuClickGraphsOrLeague().