package org.geogebra.desktop.gui.menubar; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import org.geogebra.desktop.gui.dialog.ToolCreationDialogD; import org.geogebra.desktop.gui.dialog.ToolManagerDialogD; import org.geogebra.desktop.main.AppD; import org.geogebra.desktop.util.GuiResourcesD; /** * The "Tools" menu. */ class ToolsMenuD extends BaseMenu { private static final long serialVersionUID = -2012951866084095682L; private AbstractAction toolbarConfigAction, showCreateToolsAction, showManageToolsAction; /** * Creates tools menu * * @param app * application */ public ToolsMenuD(AppD app) { super(app, "Tools"); // items are added to the menu when it's opened, see BaseMenu: // addMenuListener(this); } /** * Initialize the menu items. */ private void updateItems() { if (!initialized) { // menus not created yet, so nothing to do return; } removeAll(); add(toolbarConfigAction); addSeparator(); add(showCreateToolsAction); add(showManageToolsAction); // support for right-to-left languages app.setComponentOrientation(this); } /** * Initialize the actions. */ @Override protected void initActions() { toolbarConfigAction = new AbstractAction( loc.getMenu("Toolbar.Customize") + " ...", app.getEmptyIcon()) { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { app.getDialogManager().showToolbarConfigDialog(); } }; showCreateToolsAction = new AbstractAction( loc.getMenu("Tool.CreateNew") + " ...", app.getMenuIcon(GuiResourcesD.TOOL)) { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { ToolCreationDialogD tcd = new ToolCreationDialogD(app); tcd.setVisible(true); } }; showManageToolsAction = new AbstractAction( loc.getMenu("Tool.Manage") + " ...", app.getMenuIcon(GuiResourcesD.DOCUMENT_PROPERTIES)) { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { ToolManagerDialogD tmd = new ToolManagerDialogD(app); tmd.setVisible(true); } }; } @Override public void update() { updateItems(); } @Override protected void initItems() { // } }