/**
*
* Copyright (c) 2006-2017, Speedment, Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); You may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.speedment.tool.core.internal.controller;
import com.speedment.common.injector.annotation.Inject;
import com.speedment.tool.core.component.UserInterfaceComponent;
import com.speedment.tool.core.internal.util.InjectionLoader;
import com.speedment.tool.core.resource.SpeedmentIcon;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.MenuItem;
/**
*
* @author Emil Forslund
*/
public final class MenubarController implements Initializable {
private @Inject UserInterfaceComponent userInterfaceComponent;
private @Inject InjectionLoader loader;
private @FXML MenuItem mbNew;
private @FXML MenuItem mbOpen;
private @FXML MenuItem mbSave;
private @FXML MenuItem mbSaveAs;
private @FXML MenuItem mbQuit;
private @FXML MenuItem mbGenerate;
private @FXML CheckMenuItem mbProjectTree;
private @FXML CheckMenuItem mbWorkspace;
private @FXML CheckMenuItem mbOutput;
private @FXML MenuItem mbGitter;
private @FXML MenuItem mbGitHub;
private @FXML MenuItem mbComponents;
private @FXML MenuItem mbAbout;
@Override
public void initialize(URL location, ResourceBundle resources) {
mbNew.setGraphic(SpeedmentIcon.NEW_PROJECT.view());
mbOpen.setGraphic(SpeedmentIcon.OPEN_PROJECT.view());
mbSave.setGraphic(SpeedmentIcon.DISK.view());
mbSaveAs.setGraphic(SpeedmentIcon.DISK_MULTIPLE.view());
mbQuit.setGraphic(SpeedmentIcon.DOOR_IN.view());
mbGenerate.setGraphic(SpeedmentIcon.RUN_PROJECT.view());
mbProjectTree.setGraphic(SpeedmentIcon.APPLICATION_SIDE_TREE.view());
mbWorkspace.setGraphic(SpeedmentIcon.APPLICATION_FORM.view());
mbOutput.setGraphic(SpeedmentIcon.APPLICATION_XP_TERMINAL.view());
mbGitter.setGraphic(SpeedmentIcon.USER_COMMENT.view());
mbGitHub.setGraphic(SpeedmentIcon.USER_COMMENT.view());
mbComponents.setGraphic(SpeedmentIcon.BRICKS.view());
mbAbout.setGraphic(SpeedmentIcon.INFORMATION.view());
mbNew.setOnAction(ev -> userInterfaceComponent.newProject());
mbOpen.setOnAction(ev -> userInterfaceComponent.openProject());
mbSave.setOnAction(ev -> userInterfaceComponent.saveProject());
mbSaveAs.setOnAction(ev -> userInterfaceComponent.saveProjectAs());
mbQuit.setOnAction(ev -> userInterfaceComponent.quit());
mbGenerate.setOnAction(ev -> userInterfaceComponent.generate());
mbProjectTree.setSelected(true);
mbWorkspace.setSelected(true);
mbOutput.setSelected(false);
userInterfaceComponent.prepareToggleProjectTree(mbProjectTree.selectedProperty());
userInterfaceComponent.prepareToggleWorkspace(mbWorkspace.selectedProperty());
userInterfaceComponent.prepareToggleOutput(mbOutput.selectedProperty());
mbGitter.setOnAction(ev -> userInterfaceComponent.showGitter());
mbGitHub.setOnAction(ev -> userInterfaceComponent.showGithub());
mbComponents.setOnAction(ev -> loader.loadAsModal("Components"));
mbAbout.setOnAction(ev -> loader.loadAsModal("About"));
}
}