package nl.uva.softwcons; import java.util.List; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import nl.uva.softwcons.ql.FormBuilder; import nl.uva.softwcons.ql.ast.form.Form; import nl.uva.softwcons.ql.ui.UiBuilder; import nl.uva.softwcons.ql.ui.layout.Layout; import nl.uva.softwcons.ql.validation.Error; import nl.uva.softwcons.ql.validation.Validator; import nl.uva.softwcons.qls.StylesheetBuilder; import nl.uva.softwcons.qls.ast.stylesheet.Stylesheet; import nl.uva.softwcons.qls.ui.renderer.QLSRenderer; import nl.uva.softwcons.qls.ui.widget.StyledWidgetFactory; import nl.uva.softwcons.qls.validation.QLSValidator; public class Main extends Application { public static void main(final String... args) { Application.launch(Main.class, args); } @Override public void start(final Stage primaryStage) throws Exception { final Form form = FormBuilder.build(UiBuilder.class.getResourceAsStream("/form.ql")); final List<Error> validationErrors = Validator.validate(form); for (final Error error : validationErrors) { System.err.println(error.getMessage()); if (error.isFatal()) { System.exit(1); } } final Stylesheet stylesheet = StylesheetBuilder.build(UiBuilder.class .getResourceAsStream("/form_stylesheet.qls")); final List<Error> qlsValidationErrors = QLSValidator.validate(form, stylesheet); for (final Error error : qlsValidationErrors) { System.err.println(error.getMessage()); if (error.isFatal()) { System.exit(1); } } final Layout formLayout = UiBuilder.buildFrom(form, new QLSRenderer(stylesheet), new StyledWidgetFactory(form, stylesheet)); final StackPane root = new StackPane(); root.getChildren().add(formLayout.getNode()); primaryStage.setScene(new Scene(root)); primaryStage.show(); } }