package ru.khasang.cachoeira.view.createnewprojectwindow; import javafx.geometry.Insets; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.layout.*; import javafx.stage.Modality; import javafx.stage.Stage; import javafx.stage.StageStyle; import ru.khasang.cachoeira.viewcontroller.CreateNewProjectWindowController; import ru.khasang.cachoeira.view.IView; import ru.khasang.cachoeira.view.createnewprojectwindow.panes.IButtonsBox; import ru.khasang.cachoeira.view.createnewprojectwindow.panes.IFieldsPane; public class CreateNewProjectWindowView implements IView { private static final double HEIGHT_WINDOW = 424; private static final double WIDTH_WINDOW = 487; private final CreateNewProjectWindowController controller; private final IFieldsPane fieldsPane; private final IButtonsBox buttonsBox; private Stage stage; public CreateNewProjectWindowView(CreateNewProjectWindowController controller, IFieldsPane fieldsPane, IButtonsBox buttonsBox) { this.controller = controller; this.fieldsPane = fieldsPane; this.buttonsBox = buttonsBox; } @Override public void createView() { VBox window = new VBox(createFieldsGrid(), createButtonsBox()); window.setPadding(new Insets(10)); window.getStylesheets().add(getClass().getResource("/css/startwindow.css").toExternalForm()); stage = new Stage(StageStyle.UTILITY); stage.setHeight(HEIGHT_WINDOW); stage.setWidth(WIDTH_WINDOW); stage.setScene(new Scene(window)); stage.setResizable(false); stage.setTitle("Creating new project..."); stage.initOwner(controller.getParentView().getStage()); stage.initModality(Modality.WINDOW_MODAL); stage.show(); } @Override public Stage getStage() { return stage; } private Node createFieldsGrid() { fieldsPane.createPane(); return (Node) fieldsPane; } private Node createButtonsBox() { buttonsBox.createButtonsBox(); return (Node) buttonsBox; } }