package com.github.czyzby.lml.parser.impl.attribute.table.button;
import com.badlogic.gdx.scenes.scene2d.ui.Button;
import com.github.czyzby.lml.parser.LmlParser;
import com.github.czyzby.lml.parser.tag.LmlAttribute;
import com.github.czyzby.lml.parser.tag.LmlTag;
/** See {@link Button#setChecked(boolean)}. Mapped to "checked".
*
* @author MJ */
public class CheckedLmlAttribute implements LmlAttribute<Button> {
@Override
public Class<Button> getHandledType() {
return Button.class;
}
@Override
public void process(final LmlParser parser, final LmlTag tag, final Button actor, final String rawAttributeData) {
// We don't want to invoke change listeners just yet.
actor.setProgrammaticChangeEvents(false); // True by default.
actor.setChecked(parser.parseBoolean(rawAttributeData, actor));
actor.setProgrammaticChangeEvents(true); // Switching to default state. No getter, so we are basically guessing.
}
}