package com.github.czyzby.lml.vis.parser.impl.tag.spinner; import com.github.czyzby.lml.parser.LmlParser; import com.github.czyzby.lml.parser.tag.LmlActorBuilder; import com.github.czyzby.lml.parser.tag.LmlTag; import com.kotcrab.vis.ui.widget.spinner.ArraySpinnerModel; import com.kotcrab.vis.ui.widget.spinner.Spinner; import com.kotcrab.vis.ui.widget.spinner.SpinnerModel; /** Constructs {@link Spinner} with {@link ArraySpinnerModel}. Mapped to "arraySpinner". * * @author MJ */ public class ArraySpinnerLmlTag extends AbstractSpinnerLmlTag { private ArraySpinnerModel<Object> model; public ArraySpinnerLmlTag(final LmlParser parser, final LmlTag parentTag, final StringBuilder rawTagData) { super(parser, parentTag, rawTagData); } @Override protected SpinnerModel createModel(final LmlActorBuilder builder) { return model = new ArraySpinnerModel<Object>(); } @Override protected void handlePlainTextLine(final String plainTextLine) { model.getItems().add(getParser().parseString(plainTextLine, getActor())); } @Override protected void doOnTagClose() { model.invalidateDataSet(); } }