package com.niklim.clicktrace.view.control.menu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.niklim.clicktrace.Icons;
import com.niklim.clicktrace.controller.operation.session.NewSessionOperation;
import com.niklim.clicktrace.controller.operation.session.OpenSessionOperation;
import com.niklim.clicktrace.view.OperationsShortcutEnum;
@Singleton
public class FileMenu {
JMenu menu;
@Inject
private NewSessionOperation newSessionOperation;
@Inject
private OpenSessionOperation openSessionOperation;
@Inject
public void init() {
menu = new JMenu("File");
JMenuItem fileNewSession = createFileNewSession();
JMenuItem fileOpenSession = createFileOpenSession();
JMenuItem fileExit = createFileExit();
menu.add(fileNewSession);
menu.add(fileOpenSession);
menu.addSeparator();
menu.add(fileExit);
}
public JMenu getMenu() {
return menu;
}
private JMenuItem createFileNewSession() {
return MenuBar.createMenuItem("New session", Icons.SESSION_NEW, OperationsShortcutEnum.SESSION_NEW,
newSessionOperation.action());
}
private JMenuItem createFileOpenSession() {
return MenuBar.createMenuItem("Open session", Icons.SESSION_OPEN, OperationsShortcutEnum.SESSION_OPEN,
openSessionOperation.action());
}
private JMenuItem createFileExit() {
return MenuBar.createMenuItem("Exit", null, new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
});
}
}