package edu.uva.softwarecons.ui.dialog; import edu.uva.softwarecons.checker.error.QuestionnaireError; import edu.uva.softwarecons.ui.widget.TitleHBox; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.text.Text; import javafx.stage.Modality; import javafx.stage.Stage; import java.util.List; /** * Falconlabs * * @author Santiago Carrillo * Date: 3/16/14 */ public class DialogFactory { public static void showErrorDialog( String title, String message ) { Stage dialogStage = new Stage(); dialogStage.setTitle( title ); dialogStage.initModality( Modality.WINDOW_MODAL ); VBox vBox = new VBox( 25 ); vBox.setAlignment( Pos.CENTER ); Label messageText = new Label( message ); messageText.setWrapText( true ); vBox.getChildren().add( messageText ); final Scene scene = new Scene( vBox, 290, 100 ); Button button = new Button( "OK" ); button.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle( ActionEvent actionEvent ) { Stage stage = (Stage) scene.getWindow(); stage.close(); } } ); vBox.getChildren().add( button ); dialogStage.setScene( scene ); dialogStage.show(); } public static void showQuestionnaireErrorDialog( List<QuestionnaireError> errors ) { Stage dialogStage = new Stage(); dialogStage.setTitle( "Error loading file" ); dialogStage.initModality( Modality.WINDOW_MODAL ); VBox vBox = new VBox(); vBox.getChildren().add( new TitleHBox( "Errors Found:", "#ffffb2", Color.RED ) ); Scene scene = new Scene( vBox, 600, 400 ); dialogStage.setScene( scene ); dialogStage.show(); for ( QuestionnaireError error : errors ) { Text text = new Text( error.toString() ); text.setFill( Color.RED ); vBox.getChildren().add( text ); } } }