package org.geogebra.common.gui.dialog.options.model; import org.geogebra.common.kernel.geos.GeoSegment; import org.geogebra.common.main.App; public class DecoSegmentModel extends NumberOptionsModel { private IComboListener listener; public DecoSegmentModel(App app) { super(app); } private GeoSegment getGeoSegmentAt(int index) { return (GeoSegment) getObjectAt(index); } public void setListener(IComboListener listener) { this.listener = listener; } @Override public void updateProperties() { GeoSegment geo0 = getGeoSegmentAt(0); listener.setSelectedIndex(geo0.getDecorationType()); } @Override public boolean isValidAt(int index) { return (getObjectAt(index) instanceof GeoSegment); } @Override protected void apply(int index, int value) { GeoSegment geo = getGeoSegmentAt(index); geo.setDecorationType(value); geo.updateRepaint(); } @Override protected int getValueAt(int index) { return getGeoSegmentAt(index).getDecorationType(); } public static int getDecoTypeLength() { return GeoSegment.getDecoTypes().length; } @Override public PropertyListener getListener() { return listener; } }