package ru.khasang.cachoeira.view.mainwindow.menubar; import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import javafx.scene.control.SeparatorMenuItem; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MainMenuBar extends AbstractMenuBar { private static final Logger LOGGER = LoggerFactory.getLogger(MainMenuBar.class.getName()); private MenuItem createProject; private MenuItem openProject; private MenuItem saveProject; private MenuItem saveAsProject; private MenuItem exportResources; private MenuItem importResources; private MenuItem exit; private MenuItem undo; private MenuItem redo; private MenuItem about; public MainMenuBar() { } @Override public void createMenu() { this.getMenus().addAll(createProjectMenu(), createEditMenu(), createHelpMenu()); LOGGER.debug("Created."); } private Menu createProjectMenu() { createProject = new MenuItem("Create"); createProject.setAccelerator(new KeyCodeCombination(KeyCode.N, KeyCombination.CONTROL_DOWN)); openProject = new MenuItem("Open"); openProject.setAccelerator(new KeyCodeCombination(KeyCode.O, KeyCombination.CONTROL_DOWN)); saveProject = new MenuItem("Save"); saveProject.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCombination.CONTROL_DOWN)); saveAsProject = new MenuItem("Save as"); saveAsProject.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCombination.SHIFT_DOWN, KeyCombination.CONTROL_DOWN)); Menu resourcesMenu = new Menu("Resources"); exportResources = new MenuItem("Export"); importResources = new MenuItem("Import"); resourcesMenu.getItems().addAll(exportResources, importResources); exit = new MenuItem("Exit"); Menu projectMenu = new Menu("Project"); projectMenu.getItems().addAll(createProject, openProject, saveProject, saveAsProject, resourcesMenu, new SeparatorMenuItem(), exit); return projectMenu; } private Menu createEditMenu() { undo = new MenuItem("Undo"); undo.setAccelerator(new KeyCodeCombination(KeyCode.Z, KeyCombination.CONTROL_DOWN)); redo = new MenuItem("Redo"); redo.setAccelerator(new KeyCodeCombination(KeyCode.Z, KeyCombination.SHIFT_DOWN, KeyCombination.CONTROL_DOWN)); Menu editMenu = new Menu("Edit"); editMenu.getItems().addAll(undo, redo); return editMenu; } private Menu createHelpMenu() { about = new MenuItem("About"); Menu helpMenu = new Menu("Help"); helpMenu.getItems().addAll(about); return helpMenu; } @Override public MenuItem getCreateProject() { return createProject; } @Override public MenuItem getOpenProject() { return openProject; } @Override public MenuItem getSaveProject() { return saveProject; } @Override public MenuItem getSaveAsProject() { return saveAsProject; } @Override public MenuItem getExportResources() { return exportResources; } @Override public MenuItem getImportResources() { return importResources; } @Override public MenuItem getExit() { return exit; } @Override public MenuItem getUndo() { return undo; } @Override public MenuItem getRedo() { return redo; } @Override public MenuItem getAbout() { return about; } }