/* * This file is part of the Illarion project. * * Copyright © 2015 - Illarion e.V. * * Illarion is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Illarion is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ package illarion.download.gui.controller; import illarion.download.gui.model.GuiModel; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.input.MouseButton; import javafx.scene.layout.AnchorPane; import javax.annotation.Nonnull; import java.net.URL; import java.util.ResourceBundle; /** * @author Martin Karing <nitram@illarion.org> */ public class ApplicationController extends AbstractController { @FXML public AnchorPane footer; @FXML public AnchorPane content; @FXML public AnchorPane rootPane; private double initialX; private double initialY; @Override public void initialize(URL location, ResourceBundle resources) { } @Override public void setModel(@Nonnull GuiModel model) { super.setModel(model); if (getModel().getHostServices().getWebContext() == null) { rootPane.setOnMousePressed(me -> { if (me.getButton() != MouseButton.MIDDLE) { initialX = me.getSceneX(); initialY = me.getSceneY(); } }); rootPane.setOnMouseDragged(me -> { if (me.getButton() != MouseButton.MIDDLE) { getModel().getStage().setX(me.getScreenX() - initialX); getModel().getStage().setY(me.getScreenY() - initialY); } }); } } @FXML public void close(@Nonnull ActionEvent event) { getModel().getStage().close(); } @FXML public void minimize(@Nonnull ActionEvent event) { getModel().getStage().setIconified(true); } }