package org.geogebra.common.gui.dialog.options.model; import org.geogebra.common.kernel.algos.AlgoIntersectAbstract; import org.geogebra.common.kernel.geos.GeoElement; import org.geogebra.common.main.App; public class TrimmedIntersectionLinesModel extends BooleanOptionModel { public TrimmedIntersectionLinesModel(IBooleanOptionListener listener, App app) { super(listener, app); } @Override public boolean isValidAt(int index) { return (getGeoAt(index) .getParentAlgorithm() instanceof AlgoIntersectAbstract); } @Override public boolean getValueAt(int index) { return getGeoAt(index).getShowTrimmedIntersectionLines(); } @Override public void apply(int index, boolean value) { GeoElement geo = getGeoAt(index); geo.setShowTrimmedIntersectionLines(value); geo.getParentAlgorithm().getInput()[0].setEuclidianVisible(!value); geo.getParentAlgorithm().getInput()[1].setEuclidianVisible(!value); geo.getParentAlgorithm().getInput()[0].updateRepaint(); geo.getParentAlgorithm().getInput()[1].updateRepaint(); geo.updateRepaint(); } }