package nl.uva.se.ql.gui.widgets.panes; import javafx.scene.layout.BorderPane; import javafx.scene.layout.VBox; import nl.uva.se.ql.ast.form.Form; import nl.uva.se.ql.ast.statement.CalculatedQuestion; import nl.uva.se.ql.ast.statement.Question; import nl.uva.se.ql.gui.mediators.Mediator; import nl.uva.se.ql.gui.widgets.boxes.ConditionBox; import nl.uva.se.ql.gui.widgets.boxes.QuestionBox; public class QuestionPane extends BorderPane { private VBox vbox; private final Form form; private final Mediator mediator; public QuestionPane(Form form, Mediator mediator) { this.form = form; this.mediator = mediator; vbox = new VBox(); this.setLeft(vbox); } public void addConditionBox(ConditionBox conditionBox) { conditionBox.managedProperty().bind(conditionBox.visibleProperty()); conditionBox.setVisible(false); mediator.registerCondition(conditionBox); vbox.getChildren().add(conditionBox); } public void addQuestion(Question question) { QuestionBox questionBox = new QuestionBox(question, mediator); vbox.getChildren().add(questionBox); } public void addQuestion(CalculatedQuestion question) { QuestionBox questionBox = new QuestionBox(question, mediator); vbox.getChildren().add(questionBox); } public void addQuestionBox(QuestionBox questionBox) { vbox.getChildren().add(questionBox); } public Form getForm() { return this.form; } }