package vooga.scroller.level_editor.view;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JMenu;
import vooga.scroller.util.mvc.vcFramework.MenuBarView;
import vooga.scroller.util.mvc.vcFramework.Window;
/**
* A specialized menubar for a Level Editor.
* Note that default File and Edit Menu are inherited from the superclass.
* @author Dagbedji Fagnisse
*
*/
public class LEMenuBar extends MenuBarView {
/**
*
*/
private static final long serialVersionUID = -2714084580594858599L;
private LEActionLibrary myLib;
private List<JMenu> myMenus;
/**
* Attach the menu to the specified window
* @param window - window which is accessible via this menu
*/
public LEMenuBar (LEView window) {
super(window);
}
@Override
protected JMenu makePreferencesMenu () {
// TODO - Add LEPreferences
JMenu result = new JMenu(Window.getResources().getString("PreferencesMenu"));
result.setMnemonic(KeyEvent.VK_P);
result.setEnabled(false);
return result;
}
@Override
protected JMenu makeHelpMenu () {
// TODO - Add LEHelp
JMenu result = new JMenu(Window.getResources().getString("HelpMenu"));
result.setMnemonic(KeyEvent.VK_H);
result.setEnabled(true);
return result;
}
private JMenu makeSimulateMenu () {
JMenu result = new JMenu(Window.getResources().getString("SimulateMenu"));
result.setMnemonic(KeyEvent.VK_F2);
result.add(myLib.new SimulateAction());
result.setEnabled(false);
return result;
}
@Override
protected void addCustomMenus () {
myMenus = new ArrayList<JMenu>();
addCustomMenu(makePreferencesMenu());
addCustomMenu(makeHelpMenu());
addCustomMenu(makeSimulateMenu());
}
private void addCustomMenu (JMenu cm) {
myMenus.add(cm);
this.add(cm);
}
/**
* Make the Workspace specific menus available to members of the class hierarchy
*/
@Override
protected List<JMenu> getWorkspaceMenus () {
return myMenus;
}
@Override
protected void setSpecializedWindow (Window w) {
// TODO Auto-generated method stub
myLib = new LEActionLibrary((LEView)w);
}
}