package com.github.czyzby.lml.parser.impl.annotation.processor; import com.badlogic.gdx.scenes.scene2d.ui.Button; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.utils.reflect.Field; /** Attaches {@link ChangeListener} to a {@link Button}, setting boolean or Boolean field on change event. The field * value matches {@link Button#isChecked()} result. * * @author MJ */ public class ButtonOnChangeProcessor extends AbstractOnChangeProcessor<Button> { @Override public boolean canProcess(final Field field, final Object actor) { return actor instanceof Button && (field.getType().equals(boolean.class) || field.getType().equals(Boolean.class)); } @Override protected Object extractValueFromActor(final Button actor) { return actor.isChecked(); } }