Changeset - r23697:f1f84e3572a2
[Not reviewed]
master
0 2 0
Peter Nelson - 6 years ago 2018-04-13 20:03:11
peter1138@openttd.org
Codechange: Untangle game and scenario toolbars.
2 files changed with 38 insertions and 23 deletions:
0 comments (0 inline, 0 general)
src/toolbar_gui.cpp
Show inline comments
 
@@ -1002,7 +1002,7 @@ static CallBackFunction MenuClickForest(
 

	
 
static CallBackFunction ToolbarMusicClick(Window *w)
 
{
 
	PopupMainToolbMenu(w, WID_TN_MUSIC_SOUND, STR_TOOLBAR_SOUND_MUSIC, 1);
 
	PopupMainToolbMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_MUSIC_SOUND : (int)WID_TN_MUSIC_SOUND, STR_TOOLBAR_SOUND_MUSIC, 1);
 
	return CBF_NONE;
 
}
 

	
 
@@ -1057,7 +1057,7 @@ static CallBackFunction PlaceLandBlockIn
 

	
 
static CallBackFunction ToolbarHelpClick(Window *w)
 
{
 
	PopupMainToolbMenu(w, WID_TN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 13 : 10);
 
	PopupMainToolbMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_HELP : (int)WID_TN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 13 : 10);
 
	return CBF_NONE;
 
}
 

	
 
@@ -1179,7 +1179,7 @@ static CallBackFunction ToolbarSwitchCli
 
	}
 

	
 
	w->ReInit();
 
	w->SetWidgetLoweredState(WID_TN_SWITCH_BAR, _toolbar_mode == TB_LOWER);
 
	w->SetWidgetLoweredState(_game_mode == GM_EDITOR ? (uint)WID_TE_SWITCH_BAR : (uint)WID_TN_SWITCH_BAR, _toolbar_mode == TB_LOWER);
 
	if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
 
	return CBF_NONE;
 
}
 
@@ -1249,7 +1249,7 @@ static CallBackFunction ToolbarScenGenIn
 
	return CBF_NONE;
 
}
 

	
 
static CallBackFunction ToolbarScenBuildRoad(Window *w)
 
static CallBackFunction ToolbarScenBuildRoadClick(Window *w)
 
{
 
	w->HandleButtonClick(WID_TE_ROADS);
 
	if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
 
@@ -1874,10 +1874,12 @@ class NWidgetScenarioToolbarContainer : 
 
			WID_TE_SETTINGS,
 
			WID_TE_SAVE,
 
			WID_TE_DATE_PANEL,
 
			WID_TE_SMALL_MAP,
 
			WID_TE_ZOOM_IN,
 
			WID_TE_ZOOM_OUT,
 
			WID_TE_MUSIC_SOUND,
 
			WID_TE_HELP, WID_TE_SWITCH_BAR,
 
			WID_TE_HELP,
 
			WID_TE_SWITCH_BAR,
 
		};
 

	
 
		/* If we can place all buttons *and* the panels, show them. */
 
@@ -2265,6 +2267,31 @@ static WindowDesc _toolb_normal_desc(
 

	
 
/* --- Toolbar handling for the scenario editor */
 

	
 
static MenuClickedProc * const _scen_toolbar_dropdown_procs[] = {
 
	nullptr,              // 0
 
	nullptr,              // 1
 
	MenuClickSettings,    // 2
 
	MenuClickSaveLoad,    // 3
 
	nullptr,              // 4
 
	nullptr,              // 5
 
	nullptr,              // 6
 
	nullptr,              // 7
 
	MenuClickMap,         // 8
 
	nullptr,              // 9
 
	nullptr,              // 10
 
	nullptr,              // 11
 
	nullptr,              // 12
 
	nullptr,              // 13
 
	nullptr,              // 14
 
	nullptr,              // 15
 
	nullptr,              // 16
 
	nullptr,              // 17
 
	nullptr,              // 18
 
	MenuClickMusicWindow, // 19
 
	MenuClickHelp,        // 20
 
	nullptr,              // 21
 
};
 

	
 
static ToolbarButtonProc * const _scen_toolbar_button_procs[] = {
 
	ToolbarPauseClick,
 
	ToolbarFastForwardClick,
 
@@ -2280,20 +2307,12 @@ static ToolbarButtonProc * const _scen_t
 
	ToolbarScenGenLand,
 
	ToolbarScenGenTown,
 
	ToolbarScenGenIndustry,
 
	ToolbarScenBuildRoad,
 
	ToolbarScenBuildRoadClick,
 
	ToolbarScenBuildDocks,
 
	ToolbarScenPlantTrees,
 
	ToolbarScenPlaceSign,
 
	ToolbarBtn_NULL,
 
	nullptr,
 
	nullptr,
 
	nullptr,
 
	nullptr,
 
	nullptr,
 
	nullptr,
 
	nullptr,
 
	ToolbarMusicClick,
 
	nullptr,
 
	ToolbarHelpClick,
 
	ToolbarSwitchClick,
 
};
 
@@ -2396,10 +2415,7 @@ struct ScenarioEditorToolbarWindow : Win
 

	
 
	void OnDropdownSelect(int widget, int index) override
 
	{
 
		/* The map button is in a different location on the scenario
 
		 * editor toolbar, so we need to adjust for it. */
 
		if (widget == WID_TE_SMALL_MAP) widget = WID_TN_SMALL_MAP;
 
		CallBackFunction cbf = _menu_clicked_procs[widget](index);
 
		CallBackFunction cbf = _scen_toolbar_dropdown_procs[widget](index);
 
		if (cbf != CBF_NONE) _last_started_action = cbf;
 
		if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
 
	}
 
@@ -2415,7 +2431,7 @@ struct ScenarioEditorToolbarWindow : Win
 
			case MTEHK_GENLAND:                ToolbarScenGenLand(this); break;
 
			case MTEHK_GENTOWN:                ToolbarScenGenTown(this); break;
 
			case MTEHK_GENINDUSTRY:            ToolbarScenGenIndustry(this); break;
 
			case MTEHK_BUILD_ROAD:             ToolbarScenBuildRoad(this); break;
 
			case MTEHK_BUILD_ROAD:             ToolbarScenBuildRoadClick(this); break;
 
			case MTEHK_BUILD_DOCKS:            ToolbarScenBuildDocks(this); break;
 
			case MTEHK_BUILD_TREES:            ToolbarScenPlantTrees(this); break;
 
			case MTEHK_SIGN:                   cbf = ToolbarScenPlaceSign(this); break;
src/widgets/toolbar_widget.h
Show inline comments
 
@@ -70,10 +70,9 @@ enum ToolbarEditorWidgets {
 
	WID_TE_TREES,         ///< Tree building toolbar.
 
	WID_TE_SIGNS,         ///< Sign building.
 
	WID_TE_DATE_PANEL,    ///< Container for the date widgets.
 
	/* The following three need to have the same actual widget number as the normal toolbar due to shared code. */
 
	WID_TE_MUSIC_SOUND = WID_TN_MUSIC_SOUND, ///< Music/sound configuration menu.
 
	WID_TE_HELP        = WID_TN_HELP,        ///< Help menu.
 
	WID_TE_SWITCH_BAR  = WID_TN_SWITCH_BAR,  ///< Only available when toolbar has been split to switch between different subsets.
 
	WID_TE_MUSIC_SOUND,   ///< Music/sound configuration menu.
 
	WID_TE_HELP,          ///< Help menu.
 
	WID_TE_SWITCH_BAR,    ///< Only available when toolbar has been split to switch between different subsets.
 
};
 

	
 
#endif /* WIDGETS_TOOLBAR_WIDGET_H */
0 comments (0 inline, 0 general)