package org.geogebra.common.gui.dialog.options.model; import org.geogebra.common.kernel.geos.GProperty; import org.geogebra.common.kernel.geos.GeoElement; import org.geogebra.common.kernel.geos.GeoList; import org.geogebra.common.kernel.geos.PointProperties; import org.geogebra.common.main.App; public class PointSizeModel extends SliderOptionsModel { public PointSizeModel(App app) { super(app); } private PointProperties getPointPropertiesAt(int index) { return (PointProperties) getObjectAt(index); } @Override public boolean isValidAt(int index) { boolean valid = true; GeoElement geo = getGeoAt(index); if (!(geo.getGeoElementForPropertiesDialog().isGeoPoint()) && (!(geo.isGeoList() && ((GeoList) geo).showPointProperties()))) { valid = false; } return valid; } @Override public void apply(int index, int value) { PointProperties point = getPointPropertiesAt(index); point.setPointSize(value); ((GeoElement) point).updateVisualStyle(GProperty.POINT_STYLE); point.updateRepaint(); } @Override public int getValueAt(int index) { return getPointPropertiesAt(index).getPointSize(); } }