/* GanttProject is an opensource project management tool. License: GPL3 Copyright (C) 2005-2012 GanttProject Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package net.sourceforge.ganttproject.action.project; import net.sourceforge.ganttproject.GanttProject; import net.sourceforge.ganttproject.action.GPAction; import net.sourceforge.ganttproject.gui.UIUtil; import javax.swing.*; /** * Collection of actions present in the project menu */ public class ProjectMenu extends JMenu { private final NewProjectAction myNewProjectAction; private final SaveProjectAction mySaveProjectAction; private final PrintAction myPrintAction; private OpenProjectAction myOpenProjectAction; public ProjectMenu(final GanttProject project, JMenu mru, String key) { super(GPAction.createVoidAction(key)); myNewProjectAction = new NewProjectAction(project); mySaveProjectAction = new SaveProjectAction(project); myPrintAction = new PrintAction(project); ProjectPropertiesAction projectSettingsAction = new ProjectPropertiesAction(project); myOpenProjectAction = new OpenProjectAction(project.getProject(), project.getProjectUIFacade()); SaveProjectAsAction saveProjectAsAction = new SaveProjectAsAction(project); OpenURLAction openURLAction = new OpenURLAction(project.getProject(), project.getUIFacade(), project.getProjectUIFacade()); SaveURLAction saveURLAction = new SaveURLAction(project.getProject(), project.getUIFacade(), project.getProjectUIFacade()); ExitAction exitAction = new ExitAction(project); ProjectImportAction projectImportAction = new ProjectImportAction(project.getUIFacade(), project); ProjectExportAction projectExportAction = new ProjectExportAction(project.getUIFacade(), project, project.getGanttOptions().getPluginPreferences()); add(projectSettingsAction); add(myNewProjectAction); add(myOpenProjectAction); add(mru); addSeparator(); add(mySaveProjectAction); add(saveProjectAsAction); addSeparator(); add(projectImportAction); add(projectExportAction); addSeparator(); JMenu mServer = UIUtil.createTooltiplessJMenu(GPAction.createVoidAction("webServer")); mServer.add(openURLAction); mServer.add(saveURLAction); add(mServer); addSeparator(); add(myPrintAction); add(new ProjectPreviewAction(project)); addSeparator(); add(exitAction); setToolTipText(null); } @Override public JMenuItem add(Action a) { a.putValue(Action.SHORT_DESCRIPTION, null); return super.add(a); } public AbstractAction getNewProjectAction() { return myNewProjectAction; } public SaveProjectAction getSaveProjectAction() { return mySaveProjectAction; } public AbstractAction getPrintAction() { return myPrintAction; } public OpenProjectAction getOpenProjectAction() { return myOpenProjectAction; } }