/*
* #%L
* gitools-ui-app
* %%
* Copyright (C) 2013 Universitat Pompeu Fabra - Biomedical Genomics group
* %%
* 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, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
package org.gitools.ui.app.actions;
import org.gitools.ui.app.actions.edit.ColumnsActionSet;
import org.gitools.ui.app.actions.edit.LayersActionSet;
import org.gitools.ui.app.actions.edit.RowsActionSet;
import org.gitools.ui.app.actions.help.OpenURLAction;
import org.gitools.ui.core.actions.ActionSet;
import org.gitools.ui.core.actions.ActionSetUtils;
import org.gitools.ui.core.actions.BaseAction;
import org.gitools.ui.platform.icons.IconNames;
import javax.swing.*;
import java.awt.event.KeyEvent;
public class MenuActionSet extends ActionSet {
public static final String ACION_SCOPE_FILE = "File";
public static final String ACTION_SCOPE_EXPORT = "Export";
public static final String ACTION_SCOPE_EDIT = "Edit";
public static final String ACTION_SCOPE_ANALYSIS = "Analysis";
public static final String ACTION_SCOPE_DOWNLOAD = "Download";
public static final String ACTION_SCOPE_MODULES = "Modules";
public static final String ACTION_SCOPE_ANNOTATIONS = "Annotations";
public static final String ACTION_SCOPE_HELP = "Help";
public static final String ACTION_SCOPE_ROWS = "Rows";
public static final String ACTION_SCOPE_COLUMNS = "Columns";
public static final String ACTION_SCOPE_LAYERS = "Value Layers";
public static MenuActionSet INSTANCE = new MenuActionSet();
public MenuActionSet() {
super(new BaseAction[]{
new ActionSet(ACION_SCOPE_FILE, KeyEvent.VK_F,
new BaseAction[]{
Actions.open,
Actions.openURL,
Actions.openGenomeSpace,
BaseAction.separator,
Actions.saveAction,
Actions.saveAsAction,
BaseAction.separator,
new ActionSet(ACTION_SCOPE_EXPORT, KeyEvent.VK_E,
new BaseAction[]{
Actions.exportAnnotationAction,
Actions.exportMatrixAction,
Actions.exportTableAction,
Actions.exportHeatmapImageAction,
Actions.exportHeatmapSVGAction,
Actions.exportScaleImageAction,
Actions.exportHierarchicalTreeImageAction
}
),
BaseAction.separator,
Actions.exitAction
}
),
new ActionSet(ACTION_SCOPE_EDIT, KeyEvent.VK_E,
new BaseAction[]{
new ColumnsActionSet(ACTION_SCOPE_COLUMNS),
new RowsActionSet(ACTION_SCOPE_ROWS),
new LayersActionSet(ACTION_SCOPE_LAYERS),
Actions.heatmapSettings,
BaseAction.separator,
Actions.searchRowsAction,
Actions.createBookmarkAction
}
),
new ActionSet(ACTION_SCOPE_ANALYSIS, KeyEvent.VK_A,
new BaseAction[]{
Actions.enrichment,
Actions.correlations,
Actions.groupComparison,
Actions.combinations,
Actions.overlapping,
Actions.clusteringAction,
Actions.mutexAnalysisAction,
}
),
new ActionSet(ACTION_SCOPE_DOWNLOAD, KeyEvent.VK_D,
new BaseAction[]{
new ActionSet(ACTION_SCOPE_MODULES, KeyEvent.VK_M, IconNames.empty16,
new BaseAction[]{
Actions.importKeggModulesAction,
Actions.importGoModulesAction,
Actions.importBioMartModulesAction
}
),
new ActionSet(ACTION_SCOPE_ANNOTATIONS, KeyEvent.VK_A,
new BaseAction[]{
Actions.importBioMartTableAction
}
)
}
),
new ActionSet(ACTION_SCOPE_HELP, KeyEvent.VK_H,
new BaseAction[]{
HelpActions.welcomeAction,
BaseAction.separator,
HelpActions.shortcutsAction,
HelpActions.showTipsAction,
HelpActions.settingsAction,
BaseAction.separator,
new OpenURLAction("Users mail list", "https://groups.google.com/forum/#!forum/gitools-users", KeyEvent.VK_M),
new OpenURLAction("Submit an issue", "https://github.com/gitools/gitools/issues", KeyEvent.VK_S),
BaseAction.separator,
new OpenURLAction("User guide", "http://www.gitools.org/documentation/UserGuide.html", KeyEvent.VK_U, KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0)),
new OpenURLAction("Tutorials", "http://www.gitools.org/documentation/Tutorials.html", KeyEvent.VK_U),
new OpenURLAction("Examples", "http://www.gitools.org/documentation/Examples.html", KeyEvent.VK_E),
new OpenURLAction("Website", "http://www.gitools.org", KeyEvent.VK_S),
BaseAction.separator,
HelpActions.aboutAction
}
)
}
);
}
public JMenuBar createMenuBar() {
return ActionSetUtils.createMenuBar(this);
}
}