package org.uva.student.calinwouter.qlqls.qls.model.functions.widgets; import org.uva.student.calinwouter.qlqls.ql.QLInterpreter; import org.uva.student.calinwouter.qlqls.ql.model.StateWrapper; import org.uva.student.calinwouter.qlqls.ql.gui.widgets.IWidget; import org.uva.student.calinwouter.qlqls.qls.abstractions.AbstractWidget; import org.uva.student.calinwouter.qlqls.qls.widgets.question.intwidgets.SliderWidget; import org.uva.student.calinwouter.qlqls.qls.interfaces.IQuestionWidgetCallback; import org.uva.student.calinwouter.qlqls.qls.model.QLSRenderParameters; public class Slider extends AbstractWidget { private final Integer min; private final Integer max; @Override public <T> T createWidget(IQuestionWidgetCallback<T> widgetCallback) { return widgetCallback.createWidget(this); } public Slider(int min, int max) { this.min = min; this.max = max; } @Override public IWidget render(String identifier, QLSRenderParameters qlsRenderParameters) { final QLInterpreter qlInterpreter = qlsRenderParameters.getQlInterpreter(); final StateWrapper stateWrapper = qlsRenderParameters.getStateWrapper(); return new SliderWidget(identifier, qlInterpreter, stateWrapper, min, max); } @Override public Boolean allowsIntegerValue() { return true; } }