package org.geogebra.web.web.gui.menubar; import org.geogebra.common.main.Feature; import org.geogebra.common.main.Localization; import org.geogebra.web.html5.main.AppW; import org.geogebra.web.web.css.GuiResources; import org.geogebra.web.web.gui.dialog.ExerciseBuilderDialog; import org.geogebra.web.web.gui.dialog.ToolCreationDialogW; import org.geogebra.web.web.gui.dialog.ToolManagerDialogW; /** * Web implementation of ToolsMenu */ public class ToolsMenuW extends GMenuBar { /** Application */ AppW app; /** * Constructs the "Tools" menu * * @param application * The App instance */ public ToolsMenuW(AppW application) { super(true, "tools"); this.app = application; addStyleName("GeoGebraMenuBar"); initActions(); } /** * Initialize the menu items */ protected void initActions() { Localization loc = app.getLocalization(); if (!app.isExam()) { addItem(MainMenu.getMenuBarHtml(GuiResources.INSTANCE.menu_icon_tools_customize().getSafeUri().asString(), loc.getMenu("Toolbar.Customize"), true), true, new MenuCommand(app) { @Override public void doExecute() { app.showCustomizeToolbarGUI(); } }); } addItem(MainMenu.getMenuBarHtml(GuiResources.INSTANCE .menu_icon_tools_new().getSafeUri().asString(), loc.getMenu(app.isToolLoadedFromStorage() ? "Tool.SaveAs" : "Tool.CreateNew"), true), true, new MenuCommand(app) { @Override public void doExecute() { ToolCreationDialogW toolCreationDialog = new ToolCreationDialogW(app); toolCreationDialog.center(); } }); addItem(MainMenu.getMenuBarHtml( GuiResources.INSTANCE.menu_icon_tools().getSafeUri().asString(), loc.getMenu("Tool.Manage"), true), true, new MenuCommand(app) { @Override public void doExecute() { ToolManagerDialogW toolManageDialog = new ToolManagerDialogW(app); toolManageDialog.center(); } }); if (!app.isExam()) { if (app.has(Feature.EXERCISES)) { addItem(MainMenu.getMenuBarHtml(GuiResources.INSTANCE .menu_create_exercise().getSafeUri().asString(), loc.getMenu("Exercise.CreateNew"), true), true, new MenuCommand(app) { @Override public void doExecute() { ExerciseBuilderDialog exerciseBuilderDialog = new ExerciseBuilderDialog( app); exerciseBuilderDialog.center(); } }); } } } }