package ls.graph.ui;
import java.awt.event.KeyEvent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import ls.graph.script.Algorithm;
import ls.graph.script.AlgorithmListener;
public class Menu extends JMenuBar implements AlgorithmListener
{
private static final long serialVersionUID = 1L;
MainWindow mainWindow = null;
ExitAction actExit = null;
LoadScriptAction actLoad = null;
SaveScriptAction actSave = null;
SaveGraphAction actSaveGraph = null;
LoadGraphAction actLoadGraph = null;
JMenuItem itmExit,itmLoad,itmSave,itmSaveGraph,itmLoadGraph;
Menu(MainWindow w)
{
super();
this.mainWindow = w;
initComponents();
}
private void initComponents()
{
JMenu menu = new JMenu("System");
menu.setMnemonic(KeyEvent.VK_Y);
actExit = new ExitAction(mainWindow);
itmExit = new JMenuItem(actExit);
itmExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,KeyEvent.ALT_MASK));
menu.add(itmExit);
this.add(menu);
menu = new JMenu("Script");
menu.setMnemonic(KeyEvent.VK_S);
actLoad = new LoadScriptAction(mainWindow,mainWindow);
itmLoad = new JMenuItem(actLoad);
itmLoad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,KeyEvent.CTRL_MASK));
menu.add(itmLoad);
actSave = new SaveScriptAction(mainWindow,mainWindow);
itmSave = new JMenuItem(actSave);
itmSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,KeyEvent.CTRL_MASK));
menu.add(itmSave);
this.add(menu);
menu = new JMenu("Graph");
menu.setMnemonic(KeyEvent.VK_G);
actSaveGraph = new SaveGraphAction(mainWindow,mainWindow);
itmSaveGraph = new JMenuItem(actSaveGraph);
menu.add(itmSaveGraph);
actLoadGraph = new LoadGraphAction(mainWindow,mainWindow);
itmLoadGraph = new JMenuItem(actLoadGraph);
menu.add(itmLoadGraph);
this.add(menu);
}
public void executionEnded(Algorithm alg)
{
itmExit.setEnabled(true);
itmLoad.setEnabled(true);
itmSave.setEnabled(true);
}
public void executionStarted(Algorithm alg)
{
itmExit.setEnabled(false);
itmLoad.setEnabled(false);
itmSave.setEnabled(false);
}
public void startingStep(int stepIndex)
{}
} //end of Menu class