/* Copyright (c) 2017 Christopher Cromer * Copyright (c) 2017 Carlos Faúndez * * This file is part of mt. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution. * This file may not be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file. */ package cl.cromer.mt; import javafx.fxml.FXML; import javafx.geometry.Pos; import javafx.scene.control.CheckBox; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; import java.util.ArrayList; /** * Controlar las acciones cuando el usuario elige los estados finales */ public class EstadosFinalesController { /** * El contenido de la ventan de eligir estados finales */ @FXML private VBox contenido; /** * Los estados finales eligidos */ private EstadosFinales estadosFinales; /** * El metodo llamado cuando el usuario hace click en elegir */ @FXML public void elegir() { ArrayList elegidos = new ArrayList<>(); for (int i = 0; i < estadosFinales.getEstadosExistentes().size(); i++) { CheckBox checkBox = (CheckBox) contenido.getScene().lookup("#q" + estadosFinales.getEstadosExistentes().get(i)); if (checkBox.isSelected()) { elegidos.add(i); } } if (elegidos.size() > 0) { estadosFinales.setEstadosElegidos(elegidos); Stage stage = (Stage) contenido.getScene().getWindow(); stage.close(); } else { MT.mostrarMensaje("Elegir", "Usted tiene que elegir uno o mas estados finales!"); } } /** * Este metodo es para el evento de windowshown */ void handleWindowShownEvent() { Stage stage = (Stage) contenido.getScene().getWindow(); estadosFinales = (EstadosFinales) stage.getScene().getUserData(); for (int i = 0; i < estadosFinales.getEstadosExistentes().size(); i++) { HBox hBox = new HBox(); hBox.setAlignment(Pos.CENTER); hBox.prefWidthProperty().bind(contenido.prefWidthProperty()); hBox.prefHeightProperty().bind(contenido.prefHeightProperty()); hBox.prefWidthProperty().bind(contenido.widthProperty()); hBox.prefHeightProperty().bind(contenido.heightProperty()); CheckBox checkBox = new CheckBox("q" + estadosFinales.getEstadosExistentes().get(i)); checkBox.setId("q" + estadosFinales.getEstadosExistentes().get(i)); hBox.getChildren().add(checkBox); contenido.getChildren().add(hBox); } } }