(svn r21590) -Codechange: All click handling functions of the main toolbar return CBF_NONE.

pull/155/head
alberth 14 years ago
parent 03aa5395ac
commit bf5aea4898

@ -61,6 +61,11 @@ enum ToolbarMode {
TB_LOWER
};
/** Callback functions. */
enum CallBackFunction {
CBF_NONE,
};
enum ToolbarNormalWidgets {
TBN_PAUSE = 0,
TBN_FASTFORWARD,
@ -258,19 +263,21 @@ static void SelectSignTool()
/* --- Pausing --- */
static void ToolbarPauseClick(Window *w)
static CallBackFunction ToolbarPauseClick(Window *w)
{
if (_networking && !_network_server) return; // only server can pause the game
if (_networking && !_network_server) return CBF_NONE; // only server can pause the game
if (DoCommandP(0, PM_PAUSED_NORMAL, _pause_mode == PM_UNPAUSED, CMD_PAUSE)) SndPlayFx(SND_15_BEEP);
return CBF_NONE;
}
/* --- Fast forwarding --- */
static void ToolbarFastForwardClick(Window *w)
static CallBackFunction ToolbarFastForwardClick(Window *w)
{
_fast_forward ^= true;
SndPlayFx(SND_15_BEEP);
return CBF_NONE;
}
/* --- Options button menu --- */
@ -291,7 +298,7 @@ enum OptionMenuEntries {
OME_SHOW_STATIONSIGNS,
};
static void ToolbarOptionsClick(Window *w)
static CallBackFunction ToolbarOptionsClick(Window *w)
{
DropDownList *list = new DropDownList();
list->push_back(new DropDownListStringItem(STR_SETTINGS_MENU_GAME_OPTIONS, OME_GAMEOPTIONS, false));
@ -311,15 +318,16 @@ static void ToolbarOptionsClick(Window *w)
ShowDropDownList(w, list, 0, TBN_SETTINGS, 140, true, true);
SndPlayFx(SND_15_BEEP);
return CBF_NONE;
}
static void MenuClickSettings(int index)
static CallBackFunction MenuClickSettings(int index)
{
switch (index) {
case OME_GAMEOPTIONS: ShowGameOptions(); return;
case OME_DIFFICULTIES: ShowGameDifficulty(); return;
case OME_SETTINGS: ShowGameSettings(); return;
case OME_NEWGRFSETTINGS: ShowNewGRFSettings(!_networking && _settings_client.gui.UserIsAllowedToChangeNewGRFs(), true, true, &_grfconfig); return;
case OME_GAMEOPTIONS: ShowGameOptions(); return CBF_NONE;
case OME_DIFFICULTIES: ShowGameDifficulty(); return CBF_NONE;
case OME_SETTINGS: ShowGameSettings(); return CBF_NONE;
case OME_NEWGRFSETTINGS: ShowNewGRFSettings(!_networking && _settings_client.gui.UserIsAllowedToChangeNewGRFs(), true, true, &_grfconfig); return CBF_NONE;
case OME_TRANSPARENCIES: ShowTransparencyToolbar(); break;
case OME_SHOW_TOWNNAMES: ToggleBit(_display_opt, DO_SHOW_TOWN_NAMES); break;
@ -332,6 +340,7 @@ static void MenuClickSettings(int index)
case OME_SHOW_STATIONSIGNS: ToggleTransparency(TO_SIGNS); break;
}
MarkWholeScreenDirty();
return CBF_NONE;
}
/* --- Saving/loading button menu --- */
@ -353,17 +362,19 @@ enum SaveLoadNormalMenuEntries {
SLNME_MENUCOUNT,
};
static void ToolbarSaveClick(Window *w)
static CallBackFunction ToolbarSaveClick(Window *w)
{
PopupMainToolbMenu(w, TBN_SAVEGAME, STR_FILE_MENU_SAVE_GAME, SLNME_MENUCOUNT);
return CBF_NONE;
}
static void ToolbarScenSaveOrLoad(Window *w)
static CallBackFunction ToolbarScenSaveOrLoad(Window *w)
{
PopupMainToolbMenu(w, TBSE_SAVESCENARIO, STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO, SLEME_MENUCOUNT);
return CBF_NONE;
}
static void MenuClickSaveLoad(int index = 0)
static CallBackFunction MenuClickSaveLoad(int index = 0)
{
if (_game_mode == GM_EDITOR) {
switch (index) {
@ -381,6 +392,7 @@ static void MenuClickSaveLoad(int index = 0)
case SLNME_EXIT_GAME: HandleExitGameRequest(); break;
}
}
return CBF_NONE;
}
/* --- Map button menu --- */
@ -394,17 +406,19 @@ enum MapMenuEntries {
MME_MENUCOUNT_EDITOR = 4,
};
static void ToolbarMapClick(Window *w)
static CallBackFunction ToolbarMapClick(Window *w)
{
PopupMainToolbMenu(w, TBN_SMALLMAP, STR_MAP_MENU_MAP_OF_WORLD, MME_MENUCOUNT_NORMAL);
return CBF_NONE;
}
static void ToolbarScenMapTownDir(Window *w)
static CallBackFunction ToolbarScenMapTownDir(Window *w)
{
PopupMainToolbMenu(w, TBSE_SMALLMAP, STR_MAP_MENU_MAP_OF_WORLD, MME_MENUCOUNT_EDITOR);
return CBF_NONE;
}
static void MenuClickMap(int index)
static CallBackFunction MenuClickMap(int index)
{
switch (index) {
case MME_SHOW_SMALLMAP: ShowSmallMap(); break;
@ -412,16 +426,18 @@ static void MenuClickMap(int index)
case MME_SHOW_SIGNLISTS: ShowSignList(); break;
case MME_SHOW_TOWNDIRECTORY: if (_game_mode == GM_EDITOR) ShowTownDirectory(); break;
}
return CBF_NONE;
}
/* --- Town button menu --- */
static void ToolbarTownClick(Window *w)
static CallBackFunction ToolbarTownClick(Window *w)
{
PopupMainToolbMenu(w, TBN_TOWNDIRECTORY, STR_TOWN_MENU_TOWN_DIRECTORY, (_settings_game.economy.found_town == TF_FORBIDDEN) ? 1 : 2);
return CBF_NONE;
}
static void MenuClickTown(int index)
static CallBackFunction MenuClickTown(int index)
{
switch (index) {
case 0: ShowTownDirectory(); break;
@ -429,59 +445,67 @@ static void MenuClickTown(int index)
if (_settings_game.economy.found_town != TF_FORBIDDEN) ShowFoundTownWindow();
break;
}
return CBF_NONE;
}
/* --- Subidies button menu --- */
static void ToolbarSubsidiesClick(Window *w)
static CallBackFunction ToolbarSubsidiesClick(Window *w)
{
PopupMainToolbMenu(w, TBN_SUBSIDIES, STR_SUBSIDIES_MENU_SUBSIDIES, 1);
return CBF_NONE;
}
static void MenuClickSubsidies(int index)
static CallBackFunction MenuClickSubsidies(int index)
{
ShowSubsidiesList();
return CBF_NONE;
}
/* --- Stations button menu --- */
static void ToolbarStationsClick(Window *w)
static CallBackFunction ToolbarStationsClick(Window *w)
{
PopupMainCompanyToolbMenu(w, TBN_STATIONS);
return CBF_NONE;
}
static void MenuClickStations(int index)
static CallBackFunction MenuClickStations(int index)
{
ShowCompanyStations((CompanyID)index);
return CBF_NONE;
}
/* --- Finances button menu --- */
static void ToolbarFinancesClick(Window *w)
static CallBackFunction ToolbarFinancesClick(Window *w)
{
PopupMainCompanyToolbMenu(w, TBN_FINANCES);
return CBF_NONE;
}
static void MenuClickFinances(int index)
static CallBackFunction MenuClickFinances(int index)
{
ShowCompanyFinances((CompanyID)index);
return CBF_NONE;
}
/* --- Company's button menu --- */
static void ToolbarCompaniesClick(Window *w)
static CallBackFunction ToolbarCompaniesClick(Window *w)
{
PopupMainCompanyToolbMenu(w, TBN_COMPANIES);
return CBF_NONE;
}
static void MenuClickCompany(int index)
static CallBackFunction MenuClickCompany(int index)
{
#ifdef ENABLE_NETWORK
if (_networking) {
switch (index) {
case CTMN_CLIENT_LIST:
ShowClientList();
return;
return CBF_NONE;
case CTMN_NEW_COMPANY:
if (_network_server) {
@ -489,7 +513,7 @@ static void MenuClickCompany(int index)
} else {
NetworkSendCommand(0, 0, 0, CMD_COMPANY_CTRL, NULL, NULL, _local_company);
}
return;
return CBF_NONE;
case CTMN_SPECTATE:
if (_network_server) {
@ -498,21 +522,23 @@ static void MenuClickCompany(int index)
} else {
NetworkClientRequestMove(COMPANY_SPECTATOR);
}
return;
return CBF_NONE;
}
}
#endif /* ENABLE_NETWORK */
ShowCompany((CompanyID)index);
return CBF_NONE;
}
/* --- Graphs button menu --- */
static void ToolbarGraphsClick(Window *w)
static CallBackFunction ToolbarGraphsClick(Window *w)
{
PopupMainToolbMenu(w, TBN_GRAPHICS, STR_GRAPH_MENU_OPERATING_PROFIT_GRAPH, (_toolbar_mode == TB_NORMAL) ? 6 : 8);
return CBF_NONE;
}
static void MenuClickGraphs(int index)
static CallBackFunction MenuClickGraphs(int index)
{
switch (index) {
case 0: ShowOperatingProfitGraph(); break;
@ -525,37 +551,42 @@ static void MenuClickGraphs(int index)
case 6: ShowCompanyLeagueTable(); break;
case 7: ShowPerformanceRatingDetail(); break;
}
return CBF_NONE;
}
/* --- League button menu --- */
static void ToolbarLeagueClick(Window *w)
static CallBackFunction ToolbarLeagueClick(Window *w)
{
PopupMainToolbMenu(w, TBN_LEAGUE, STR_GRAPH_MENU_COMPANY_LEAGUE_TABLE, 2);
return CBF_NONE;
}
static void MenuClickLeague(int index)
static CallBackFunction MenuClickLeague(int index)
{
switch (index) {
case 0: ShowCompanyLeagueTable(); break;
case 1: ShowPerformanceRatingDetail(); break;
}
return CBF_NONE;
}
/* --- Industries button menu --- */
static void ToolbarIndustryClick(Window *w)
static CallBackFunction ToolbarIndustryClick(Window *w)
{
/* Disable build-industry menu if we are a spectator */
PopupMainToolbMenu(w, TBN_INDUSTRIES, STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, (_local_company == COMPANY_SPECTATOR) ? 1 : 2);
return CBF_NONE;
}
static void MenuClickIndustry(int index)
static CallBackFunction MenuClickIndustry(int index)
{
switch (index) {
case 0: ShowIndustryDirectory(); break;
case 1: ShowBuildIndustryWindow(); break;
}
return CBF_NONE;
}
/* --- Trains button menu + 1 helper function for all vehicles. --- */
@ -572,75 +603,85 @@ static void ToolbarVehicleClick(Window *w, VehicleType veh)
}
static void ToolbarTrainClick(Window *w)
static CallBackFunction ToolbarTrainClick(Window *w)
{
ToolbarVehicleClick(w, VEH_TRAIN);
return CBF_NONE;
}
static void MenuClickShowTrains(int index)
static CallBackFunction MenuClickShowTrains(int index)
{
ShowVehicleListWindow((CompanyID)index, VEH_TRAIN);
return CBF_NONE;
}
/* --- Road vehicle button menu --- */
static void ToolbarRoadClick(Window *w)
static CallBackFunction ToolbarRoadClick(Window *w)
{
ToolbarVehicleClick(w, VEH_ROAD);
return CBF_NONE;
}
static void MenuClickShowRoad(int index)
static CallBackFunction MenuClickShowRoad(int index)
{
ShowVehicleListWindow((CompanyID)index, VEH_ROAD);
return CBF_NONE;
}
/* --- Ship button menu --- */
static void ToolbarShipClick(Window *w)
static CallBackFunction ToolbarShipClick(Window *w)
{
ToolbarVehicleClick(w, VEH_SHIP);
return CBF_NONE;
}
static void MenuClickShowShips(int index)
static CallBackFunction MenuClickShowShips(int index)
{
ShowVehicleListWindow((CompanyID)index, VEH_SHIP);
return CBF_NONE;
}
/* --- Aircraft button menu --- */
static void ToolbarAirClick(Window *w)
static CallBackFunction ToolbarAirClick(Window *w)
{
ToolbarVehicleClick(w, VEH_AIRCRAFT);
return CBF_NONE;
}
static void MenuClickShowAir(int index)
static CallBackFunction MenuClickShowAir(int index)
{
ShowVehicleListWindow((CompanyID)index, VEH_AIRCRAFT);
return CBF_NONE;
}
/* --- Zoom in button --- */
static void ToolbarZoomInClick(Window *w)
static CallBackFunction ToolbarZoomInClick(Window *w)
{
if (DoZoomInOutWindow(ZOOM_IN, FindWindowById(WC_MAIN_WINDOW, 0))) {
w->HandleButtonClick((_game_mode == GM_EDITOR) ? (byte)TBSE_ZOOMIN : (byte)TBN_ZOOMIN);
SndPlayFx(SND_15_BEEP);
}
return CBF_NONE;
}
/* --- Zoom out button --- */
static void ToolbarZoomOutClick(Window *w)
static CallBackFunction ToolbarZoomOutClick(Window *w)
{
if (DoZoomInOutWindow(ZOOM_OUT, FindWindowById(WC_MAIN_WINDOW, 0))) {
w->HandleButtonClick((_game_mode == GM_EDITOR) ? (byte)TBSE_ZOOMOUT : (byte)TBN_ZOOMOUT);
SndPlayFx(SND_15_BEEP);
}
return CBF_NONE;
}
/* --- Rail button menu --- */
static void ToolbarBuildRailClick(Window *w)
static CallBackFunction ToolbarBuildRailClick(Window *w)
{
const Company *c = Company::Get(_local_company);
DropDownList *list = new DropDownList();
@ -657,17 +698,19 @@ static void ToolbarBuildRailClick(Window *w)
}
ShowDropDownList(w, list, _last_built_railtype, TBN_RAILS, 140, true, true);
SndPlayFx(SND_15_BEEP);
return CBF_NONE;
}
static void MenuClickBuildRail(int index)
static CallBackFunction MenuClickBuildRail(int index)
{
_last_built_railtype = (RailType)index;
ShowBuildRailToolbar(_last_built_railtype);
return CBF_NONE;
}
/* --- Road button menu --- */
static void ToolbarBuildRoadClick(Window *w)
static CallBackFunction ToolbarBuildRoadClick(Window *w)
{
const Company *c = Company::Get(_local_company);
DropDownList *list = new DropDownList();
@ -677,80 +720,92 @@ static void ToolbarBuildRoadClick(Window *w)
}
ShowDropDownList(w, list, _last_built_roadtype, TBN_ROADS, 140, true, true);
SndPlayFx(SND_15_BEEP);
return CBF_NONE;
}
static void MenuClickBuildRoad(int index)
static CallBackFunction MenuClickBuildRoad(int index)
{
_last_built_roadtype = (RoadType)index;
ShowBuildRoadToolbar(_last_built_roadtype);
return CBF_NONE;
}
/* --- Water button menu --- */
static void ToolbarBuildWaterClick(Window *w)
static CallBackFunction ToolbarBuildWaterClick(Window *w)
{
PopupMainToolbMenu(w, TBN_WATER, STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION, 1);
return CBF_NONE;
}
static void MenuClickBuildWater(int index)
static CallBackFunction MenuClickBuildWater(int index)
{
ShowBuildDocksToolbar();
return CBF_NONE;
}
/* --- Airport button menu --- */
static void ToolbarBuildAirClick(Window *w)
static CallBackFunction ToolbarBuildAirClick(Window *w)
{
PopupMainToolbMenu(w, TBN_AIR, STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION, 1);
return CBF_NONE;
}
static void MenuClickBuildAir(int index)
static CallBackFunction MenuClickBuildAir(int index)
{
ShowBuildAirToolbar();
return CBF_NONE;
}
/* --- Forest button menu --- */
static void ToolbarForestClick(Window *w)
static CallBackFunction ToolbarForestClick(Window *w)
{
PopupMainToolbMenu(w, TBN_LANDSCAPE, STR_LANDSCAPING_MENU_LANDSCAPING, 3);
return CBF_NONE;
}
static void MenuClickForest(int index)
static CallBackFunction MenuClickForest(int index)
{
switch (index) {
case 0: ShowTerraformToolbar(); break;
case 1: ShowBuildTreesToolbar(); break;
case 2: SelectSignTool(); break;
}
return CBF_NONE;
}
/* --- Music button menu --- */
static void ToolbarMusicClick(Window *w)
static CallBackFunction ToolbarMusicClick(Window *w)
{
PopupMainToolbMenu(w, TBN_MUSICSOUND, STR_TOOLBAR_SOUND_MUSIC, 1);
return CBF_NONE;
}
static void MenuClickMusicWindow(int index)
static CallBackFunction MenuClickMusicWindow(int index)
{
ShowMusicWindow();
return CBF_NONE;
}
/* --- Newspaper button menu --- */
static void ToolbarNewspaperClick(Window *w)
static CallBackFunction ToolbarNewspaperClick(Window *w)
{
PopupMainToolbMenu(w, TBN_NEWSREPORT, STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT, 3);
return CBF_NONE;
}
static void MenuClickNewspaper(int index)
static CallBackFunction MenuClickNewspaper(int index)
{
switch (index) {
case 0: ShowLastNewsMessage(); break;
case 1: ShowMessageOptions(); break;
case 2: ShowMessageHistory(); break;
}
return CBF_NONE;
}
/* --- Help button menu --- */
@ -770,9 +825,10 @@ static void PlaceLandBlockInfo()
}
}
static void ToolbarHelpClick(Window *w)
static CallBackFunction ToolbarHelpClick(Window *w)
{
PopupMainToolbMenu(w, TBN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 9 : 8);
return CBF_NONE;
}
static void MenuClickSmallScreenshot()
@ -790,7 +846,7 @@ static void MenuClickWorldScreenshot()
MakeScreenshot(SC_WORLD, NULL);
}
static void MenuClickHelp(int index)
static CallBackFunction MenuClickHelp(int index)
{
switch (index) {
case 0: PlaceLandBlockInfo(); break;
@ -802,11 +858,12 @@ static void MenuClickHelp(int index)
case 7: ShowAboutWindow(); break;
case 8: ShowSpriteAlignerWindow(); break;
}
return CBF_NONE;
}
/* --- Switch toolbar button --- */
static void ToolbarSwitchClick(Window *w)
static CallBackFunction ToolbarSwitchClick(Window *w)
{
if (_toolbar_mode != TB_LOWER) {
_toolbar_mode = TB_LOWER;
@ -817,6 +874,7 @@ static void ToolbarSwitchClick(Window *w)
w->ReInit();
w->SetWidgetLoweredState(TBN_SWITCHBAR, _toolbar_mode == TB_LOWER);
SndPlayFx(SND_15_BEEP);
return CBF_NONE;
}
/* --- Scenario editor specific handlers. */
@ -824,14 +882,15 @@ static void ToolbarSwitchClick(Window *w)
/**
* Called when clicking at the date panel of the scenario editor toolbar.
*/
static void ToolbarScenDatePanel(Window *w)
static CallBackFunction ToolbarScenDatePanel(Window *w)
{
SetDParam(0, _settings_game.game_creation.starting_year);
ShowQueryString(STR_JUST_INT, STR_MAPGEN_START_DATE_QUERY_CAPT, 8, 100, w, CS_NUMERAL, QSF_ENABLE_DEFAULT);
_left_button_clicked = false;
return CBF_NONE;
}
static void ToolbarScenDateBackward(Window *w)
static CallBackFunction ToolbarScenDateBackward(Window *w)
{
/* don't allow too fast scrolling */
if ((w->flags4 & WF_TIMEOUT_MASK) <= WF_TIMEOUT_TRIGGER) {
@ -842,9 +901,10 @@ static void ToolbarScenDateBackward(Window *w)
SetDate(ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1), 0);
}
_left_button_clicked = false;
return CBF_NONE;
}
static void ToolbarScenDateForward(Window *w)
static CallBackFunction ToolbarScenDateForward(Window *w)
{
/* don't allow too fast scrolling */
if ((w->flags4 & WF_TIMEOUT_MASK) <= WF_TIMEOUT_TRIGGER) {
@ -855,64 +915,73 @@ static void ToolbarScenDateForward(Window *w)
SetDate(ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1), 0);
}
_left_button_clicked = false;
return CBF_NONE;
}
static void ToolbarScenGenLand(Window *w)
static CallBackFunction ToolbarScenGenLand(Window *w)
{
w->HandleButtonClick(TBSE_LANDGENERATE);
SndPlayFx(SND_15_BEEP);
ShowEditorTerraformToolbar();
return CBF_NONE;
}
static void ToolbarScenGenTown(Window *w)
static CallBackFunction ToolbarScenGenTown(Window *w)
{
w->HandleButtonClick(TBSE_TOWNGENERATE);
SndPlayFx(SND_15_BEEP);
ShowFoundTownWindow();
return CBF_NONE;
}
static void ToolbarScenGenIndustry(Window *w)
static CallBackFunction ToolbarScenGenIndustry(Window *w)
{
w->HandleButtonClick(TBSE_INDUSTRYGENERATE);
SndPlayFx(SND_15_BEEP);
ShowBuildIndustryWindow();
return CBF_NONE;
}
static void ToolbarScenBuildRoad(Window *w)
static CallBackFunction ToolbarScenBuildRoad(Window *w)
{
w->HandleButtonClick(TBSE_BUILDROAD);
SndPlayFx(SND_15_BEEP);
ShowBuildRoadScenToolbar();
return CBF_NONE;
}
static void ToolbarScenBuildDocks(Window *w)
static CallBackFunction ToolbarScenBuildDocks(Window *w)
{
w->HandleButtonClick(TBSE_BUILDDOCKS);
SndPlayFx(SND_15_BEEP);
ShowBuildDocksScenToolbar();
return CBF_NONE;
}
static void ToolbarScenPlantTrees(Window *w)
static CallBackFunction ToolbarScenPlantTrees(Window *w)
{
w->HandleButtonClick(TBSE_PLANTTREES);
SndPlayFx(SND_15_BEEP);
ShowBuildTreesToolbar();
return CBF_NONE;
}
static void ToolbarScenPlaceSign(Window *w)
static CallBackFunction ToolbarScenPlaceSign(Window *w)
{
w->HandleButtonClick(TBSE_PLACESIGNS);
SndPlayFx(SND_15_BEEP);
SelectSignTool();
return CBF_NONE;
}
static void ToolbarBtn_NULL(Window *w)
static CallBackFunction ToolbarBtn_NULL(Window *w)
{
return CBF_NONE;
}
typedef void MenuClickedProc(int index);
typedef CallBackFunction MenuClickedProc(int index);
static MenuClickedProc * const _menu_clicked_procs[] = {
NULL, // 0
@ -1217,7 +1286,7 @@ class NWidgetScenarioToolbarContainer : public NWidgetToolbarContainer {
/* --- Toolbar handling for the 'normal' case */
typedef void ToolbarButtonProc(Window *w);
typedef CallBackFunction ToolbarButtonProc(Window *w);
static ToolbarButtonProc * const _toolbar_button_procs[] = {
ToolbarPauseClick,

Loading…
Cancel
Save