// $Id: FilePopupMenu.java,v 1.5 2010/09/20 14:28:57 olga Exp $
package agg.gui.popupmenu;
import java.awt.event.ActionListener;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JMenu;
import agg.gui.treeview.TreeViewActionAdapter;
@SuppressWarnings("serial")
public class FilePopupMenu extends JPopupMenu {
public FilePopupMenu(ActionListener listener) {
super("File");
this.actionListener = listener;
JMenuItem mi = add(new JMenuItem("New GraGra Ctrl+N"));
// miNewGraGra = mi;
mi.setEnabled(true);
mi.setActionCommand("newGraGra");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('G');
addSeparator();
mi = add(new JMenuItem("Open Ctrl+O"));
// miOpen = mi;
mi.setEnabled(true);
mi.setActionCommand("open");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('O');
mi = add(new JMenuItem("Save Ctrl+S"));
this.miSave = mi;
mi.setEnabled(false);
mi.setActionCommand("save");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('S');
mi = add(new JMenuItem("Save As Alt+S"));
this.miSaveAs = mi;
mi.setEnabled(false);
mi.setActionCommand("saveAs");
mi.addActionListener(this.actionListener);
// mi.setMnemonic(KeyEvent.VK_A);
// mi.setDisplayedMnemonicIndex(5);
addSeparator();
mi = add(new JMenuItem("Open (Base)"));
// miOpenBase = mi;
mi.setActionCommand("openBase");
mi.addActionListener(this.actionListener);
mi = add(new JMenuItem("Save As (Base)"));
this.miSaveAsBase = mi;
mi.setEnabled(false);
mi.setActionCommand("saveAsBase");
mi.addActionListener(this.actionListener);
addSeparator();
this.submExport = (JMenu) add(new JMenu("Export"));
this.submExport.setEnabled(false);
// submExport.setMnemonic('E');
mi = this.submExport.add(new JMenuItem("JPEG Shift+J"));
mi.setEnabled(true);
mi.setActionCommand("exportGraphJPEG");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('J');
mi = this.submExport.add(new JMenuItem("GXL Shift+X"));
mi.setEnabled(true);
mi.setActionCommand("exportGXL");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('X');
mi = this.submExport.add(new JMenuItem("GTXL Shift+T"));
mi.setEnabled(true);
mi.setActionCommand("exportGTXL");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('T');
this.submImport = (JMenu) add(new JMenu("Import"));
this.submImport.setEnabled(true);
// submImport.setMnemonic('I');
mi = this.submImport.add(new JMenuItem(
"GGX Shift+Alt+G"));
mi.setEnabled(true);
mi.setActionCommand("importGGX");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('G');
mi = this.submImport.add(new JMenuItem(
"GXL Shift+Alt+X"));
mi.setEnabled(true);
mi.setActionCommand("importGXL");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('X');
// mi = submImport.add(new JMenuItem("GTXL"));
mi = new JMenuItem("GTXL");
mi.setEnabled(false);
mi.setActionCommand("importGTXL");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('T');
mi = this.submImport.add(new JMenuItem("OMONDO XMI ( .ecore ) Shift+Alt+O"));
mi.setEnabled(true);
mi.setActionCommand("importOMONDOXMI");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('O');
addSeparator();
mi = add(new JMenuItem("Close GraGra Ctrl+W"));
this.miDelGraGra = mi;
mi.setEnabled(false);
mi.setActionCommand("deleteGraGra");
mi.addActionListener(this.actionListener);
// mi.setMnemonic('D');
// mi = (JMenuItem) add(new JMenuItem("Delete Rule"));
// mi = new JMenuItem("Delete Rule");
// miDelRule = mi;
// mi.setEnabled(false);
// mi.setActionCommand("deleteRule");
// mi.addActionListener(actionListener);
// mi = (JMenuItem) add(new JMenuItem("Delete NAC"));
// mi = new JMenuItem("Delete NAC");
// miDelNAC = mi;
// mi.setEnabled(false);
// mi.setActionCommand("deleteNAC");
// mi.addActionListener(actionListener);
// addSeparator();
mi = new JMenuItem("Print");
// (JMenuItem) add(new JMenuItem("Print"));
// miPrint = mi;
// mi.setEnabled(false);
// mi.setActionCommand("print");
// mi.addActionListener(actionListener);
pack();
setBorderPainted(true);
// setDefaultLightWeightPopupEnabled(false);
}
public void resetEnabledOfFileMenuItems(String command) {
if (command.equals("newGraGra") || command.equals("open")) {
// miNewTypeGraph.setEnabled(true);
// miNewRule.setEnabled(true);
// miNewNAC.setEnabled(true);
this.miSave.setEnabled(true);
this.miSaveAs.setEnabled(true);
this.miSaveAsBase.setEnabled(true);
this.submExport.setEnabled(true);
this.submImport.setEnabled(true);
this.miDelGraGra.setEnabled(true);
// miDelRule.setEnabled(true);
// miDelNAC.setEnabled(true);
// miPrint.setEnabled(true);
} else if (command.equals("delete") || command.equals("deleteGraGra")) {
if (this.actionListener instanceof TreeViewActionAdapter) {
if (((TreeViewActionAdapter) this.actionListener).getTreeView().getTree().getRowCount() == 1) {
// miNewTypeGraph.setEnabled(false);
// miNewRule.setEnabled(false);
// miNewNAC.setEnabled(false);
this.miSave.setEnabled(false);
this.miSaveAs.setEnabled(false);
this.miSaveAsBase.setEnabled(false);
this.submExport.setEnabled(false);
this.miDelGraGra.setEnabled(false);
// miDelRule.setEnabled(false);
// miDelNAC.setEnabled(false);
// miPrint.setEnabled(false);
}
}
}
}
private ActionListener actionListener;
private JMenuItem
// miNewGraGra, miNewTypeGraph, miNewRule, miNewNAC, miOpen,
miSave, miSaveAs,
// miOpenBase,
// miDelRule, miDelNAC, miPrint,
miSaveAsBase, miDelGraGra;
private JMenu submExport, submImport;
}