package org.geogebra.common.gui.dialog.options.model; import org.geogebra.common.kernel.Kernel; import org.geogebra.common.kernel.geos.GeoElement; import org.geogebra.common.main.App; public class AnimatingModel extends BooleanOptionModel { private Kernel kernel; public AnimatingModel(App app, IBooleanOptionListener listener) { super(listener, app); kernel = app.getKernel(); } @Override public void applyChanges(boolean value) { super.applyChanges(value); if (value) { kernel.getAnimatonManager().startAnimation(); } storeUndoInfo(); } @Override public boolean isValidAt(int index) { return getGeoAt(index).isAnimatable(); } @Override public boolean getValueAt(int index) { return getGeoAt(index).isAnimating(); } @Override public void apply(int index, boolean value) { GeoElement geo = getGeoAt(index); geo.setAnimating(value); geo.updateRepaint(); } }