MainMenuView.java
- package org.microcol.gui;
- import java.awt.event.InputEvent;
- import java.awt.event.KeyEvent;
- import javax.swing.ButtonGroup;
- import javax.swing.JCheckBoxMenuItem;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JRadioButtonMenuItem;
- import javax.swing.KeyStroke;
- import org.microcol.gui.Text.Language;
- import com.google.common.base.Preconditions;
- import com.google.inject.Inject;
- public class MainMenuView extends JMenuBar implements MainMenuPresenter.Display {
- /**
- * Default serialVersionUID.
- */
- private static final long serialVersionUID = 1L;
- private final Text text;
- private final JMenu menuGame;
- private final JMenuItem menuItemNewGame;
- private final JMenuItem menuItemSameGame;
- private final JMenuItem menuItemLoadGame;
- private final JMenuItem menuItemQuitGame;
- private final JMenuItem menuItemAbout;
- private final JMenu menuView;
- private final JMenuItem menuItemCenterView;
- private final JMenu menuUnit;
- private final JMenuItem menuItemMove;
- private final JMenu menuPrefereces;
- private final JMenu menuLanguage;
- private final JRadioButtonMenuItem rbMenuItemlanguageEn;
- private final JRadioButtonMenuItem rbMenuItemlanguageCz;
- private final JMenuItem menuItemVolume;
- private final JCheckBoxMenuItem menuItemShowGrid;
- private final JMenu menuHelp;
- @Inject
- public MainMenuView(final GamePreferences gamePreferences, final Text text) {
- this.text = Preconditions.checkNotNull(text);
- menuGame = new JMenu();
- menuItemNewGame = new JMenuItem();
- menuItemNewGame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
- menuItemNewGame.setEnabled(true);
- menuGame.add(menuItemNewGame);
- menuItemSameGame = new JMenuItem();
- menuItemSameGame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
- menuItemSameGame.setEnabled(false);
- menuGame.add(menuItemSameGame);
- menuItemLoadGame = new JMenuItem();
- menuItemLoadGame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK));
- menuItemLoadGame.setEnabled(false);
- menuGame.add(menuItemLoadGame);
- menuItemQuitGame = new JMenuItem();
- menuItemQuitGame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));
- if (!gamePreferences.isOSX()) {
- menuGame.add(menuItemQuitGame);
- }
- add(menuGame);
-
- /**
- * Menu view
- *
- */
- menuView = new JMenu();
- menuItemCenterView = new JMenuItem();
- menuItemCenterView.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, 0));
- menuItemCenterView.setEnabled(false);
- menuView.add(menuItemCenterView);
- add(menuView);
- /**
- * Menu unit
- *
- */
- menuUnit = new JMenu();
- menuItemMove = new JMenuItem();
- menuItemMove.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, 0));
- menuItemMove.setEnabled(false);
- menuUnit.add(menuItemMove);
- add(menuUnit);
- /**
- * Preferences
- *
- */
- menuPrefereces = new JMenu();
- rbMenuItemlanguageEn = new JRadioButtonMenuItem();
- rbMenuItemlanguageEn.setSelected(gamePreferences.getLanguage().equals(Language.en));
- rbMenuItemlanguageCz = new JRadioButtonMenuItem();
- rbMenuItemlanguageCz.setSelected(gamePreferences.getLanguage().equals(Language.cz));
- final ButtonGroup groupLanguage = new ButtonGroup();
- groupLanguage.add(rbMenuItemlanguageEn);
- groupLanguage.add(rbMenuItemlanguageCz);
- menuLanguage = new JMenu();
- menuLanguage.add(rbMenuItemlanguageEn);
- menuLanguage.add(rbMenuItemlanguageCz);
- menuPrefereces.add(menuLanguage);
- menuItemVolume = new JMenuItem();
- menuItemVolume.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));
- menuPrefereces.add(menuItemVolume);
- menuItemShowGrid = new JCheckBoxMenuItem();
- menuItemShowGrid.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, 0));
- menuItemShowGrid.setSelected(gamePreferences.isGridShown());
- menuPrefereces.add(menuItemShowGrid);
- add(menuPrefereces);
- /**
- * Help
- */
- menuHelp = new JMenu();
- menuItemAbout = new JMenuItem();
- menuHelp.add(menuItemAbout);
- if (!gamePreferences.isOSX()) {
- add(menuHelp);
- }
- updateLanguage();
- }
- @Override
- public void updateLanguage() {
- /**
- * Game
- */
- menuGame.setText(text.get("mainMenu.game"));
- menuItemNewGame.setText(text.get("mainMenu.game.newGame"));
- menuItemSameGame.setText(text.get("mainMenu.game.saveGame"));
- menuItemLoadGame.setText(text.get("mainMenu.game.loadGame"));
- menuItemQuitGame.setText(text.get("mainMenu.game.quitGame"));
- /**
- * View
- */
- menuView.setText(text.get("mainMenu.view"));
- menuItemCenterView.setText(text.get("mainMenu.view.center"));
- /**
- * Unit
- */
- menuUnit.setText(text.get("mainMenu.unit"));
- menuItemMove.setText(text.get("mainMenu.unit.move"));
- /**
- * Preferences
- */
- menuPrefereces.setText(text.get("mainMenu.preferences"));
- menuLanguage.setText(text.get("mainMenu.preferences.language"));
- rbMenuItemlanguageEn.setText(text.get("mainMenu.preferences.language.en"));
- rbMenuItemlanguageCz.setText(text.get("mainMenu.preferences.language.cz"));
- menuItemVolume.setText(text.get("mainMenu.preferences.volume"));
- menuItemShowGrid.setText(text.get("mainMenu.preferences.showGrid"));
- /**
- * Help & About
- */
- menuHelp.setText(text.get("mainMenu.help"));
- menuItemAbout.setText(text.get("mainMenu.help.about"));
- }
- @Override
- public JMenuItem getMenuItemNewGame() {
- return menuItemNewGame;
- }
- @Override
- public JMenuItem getMenuItemQuitGame() {
- return menuItemQuitGame;
- }
- @Override
- public JMenuItem getMenuItemSameGame() {
- return menuItemSameGame;
- }
- @Override
- public JMenuItem getMenuItemLoadGame() {
- return menuItemLoadGame;
- }
- @Override
- public JMenuItem getMenuItemAbout() {
- return menuItemAbout;
- }
- @Override
- public JRadioButtonMenuItem getRbMenuItemlanguageEn() {
- return rbMenuItemlanguageEn;
- }
- @Override
- public JRadioButtonMenuItem getRbMenuItemlanguageCz() {
- return rbMenuItemlanguageCz;
- }
- @Override
- public JMenuItem getMenuItemVolume() {
- return menuItemVolume;
- }
- @Override
- public JCheckBoxMenuItem getMenuItemShowGrid() {
- return menuItemShowGrid;
- }
- @Override
- public JMenuItem getMenuItemMove() {
- return menuItemMove;
- }
- @Override
- public JMenuItem getMenuItemCenterView() {
- return menuItemCenterView;
- }
- }