Skip to content

Commit

Permalink
Adds StyledQuestionRenderer
Browse files Browse the repository at this point in the history
  • Loading branch information
peter-takacs committed Mar 13, 2018
1 parent 9b228ee commit 17e2bda
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 10 deletions.
10 changes: 0 additions & 10 deletions karra_takacs/src/main/java/qlviz/gui/Widget.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package qlviz.gui.renderer.javafx;

import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import qlviz.gui.renderer.QuestionRenderer;
import qlviz.gui.renderer.javafx.widgets.UIWidget;
import qlviz.gui.renderer.layout.QuestionNotFoundException;
import qlviz.gui.viewModel.question.*;
import qlviz.model.style.Widget;

public class StyledJavafxQuestionRenderer implements QuestionRenderer {

private final Pane target;
private final JavafxWidgetFactory javafxWidgetFactory;
private final WidgetFinder widgetFinder;
private UIWidget widgetBeingBound;

public StyledJavafxQuestionRenderer(Pane target, JavafxWidgetFactory javafxWidgetFactory, WidgetFinder widgetFinder) {
this.target = target;
this.javafxWidgetFactory = javafxWidgetFactory;
this.widgetFinder = widgetFinder;
this.widgetBeingBound = null;
}

private void renderErrorBox() {
// TODO
// We should add an indicator to the UI that shows if there's an error rendering.
}

@Override
public void render(QuestionViewModel question) {
try {
Widget widgetDefinition = this.widgetFinder.findWidgetForQuestion(question);
UIWidget widget = this.javafxWidgetFactory.create(widgetDefinition);
widget.bindToQuestion(question);

VBox container = new VBox();

Label label = new Label(question.getText());

container.getChildren().add(label);
container.getChildren().add(widget.getNode());

} catch (QuestionNotFoundException e) {
} catch (WidgetNotFoundException e) {
}
}
}

0 comments on commit 17e2bda

Please sign in to comment.