Skip to content

Commit

Permalink
Remove impromptu 'trigger change' functionality from UiBuilder
Browse files Browse the repository at this point in the history
Now values to computed questions and visibility of questions in
conditions are manuaaly set instead of triggering an needless
visit of the form object. Also fixes the broken unit tests.
  • Loading branch information
milanov committed Mar 27, 2015
1 parent 5e9d393 commit f82dcc8
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
2 changes: 2 additions & 0 deletions src/main/java/nl/uva/softwcons/ql/eval/Evaluator.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ public class Evaluator implements FormVisitor<Void>, StatementVisitor<Void> {
public Evaluator(final Form form) {
this.answers = new FormAnswers();
this.referencesResolver = new ReferenceResolver(form);

form.accept(this);
}

public Value getValue(final Identifier variable) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/nl/uva/softwcons/ql/ui/UiBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ public FormLayout visit(final Form form) {

questionLayouts.forEach(layout -> formLayout.add(layout));

form.accept(evaluator);

return formLayout;
}

Expand All @@ -58,6 +56,7 @@ public List<QuestionLayout> visit(final ComputedQuestion question) {
final Widget questionWidget = this.widgetFactory.getWidget(question);
layout.add(questionWidget.getWidget());

questionWidget.setValue(evaluator.getValue(question.getId()));
evaluator.addListener(question, (newValue) -> {
questionWidget.setValue(newValue);
});
Expand All @@ -83,6 +82,7 @@ public List<QuestionLayout> visit(final Conditional conditional) {
final List<QuestionLayout> layouts = visitAndFlatten(conditional.getQuestions());

layouts.forEach(layout -> {
layout.setVisible(evaluator.getValue(conditional).inConditionalContext());
evaluator.addListener(conditional, (value) -> {
layout.setVisible(value.inConditionalContext());
});
Expand Down

0 comments on commit f82dcc8

Please sign in to comment.