package org.geogebra.common.gui.dialog.options.model;
import org.geogebra.common.kernel.geos.GeoBoolean;
import org.geogebra.common.main.App;
public class FixCheckboxModel extends BooleanOptionModel {
public FixCheckboxModel(IBooleanOptionListener listener, App app) {
super(listener, app);
}
private GeoBoolean getBooleanAt(int index) {
return (GeoBoolean) getObjectAt(index);
}
@Override
public boolean getValueAt(int index) {
return getBooleanAt(index).isCheckboxFixed();
}
@Override
public boolean isValidAt(int index) {
Object geo = getObjectAt(index);
if (geo instanceof GeoBoolean) {
GeoBoolean bool = (GeoBoolean) geo;
if (!bool.isIndependent()) {
return false;
}
} else {
return false;
}
return true;
}
@Override
public void apply(int index, boolean value) {
GeoBoolean bool = getBooleanAt(index);
bool.setCheckboxFixed(value);
bool.updateRepaint();
}
}