package org.geogebra.common.gui.dialog.handler; import org.geogebra.common.kernel.commands.AlgebraProcessor; import org.geogebra.common.kernel.geos.GeoNumberValue; import org.geogebra.common.main.App; import org.geogebra.common.main.error.ErrorHandler; import org.geogebra.common.util.AsyncOperation; /** * Handler of a number, with possibility of changing the sign * * @author mathieu * */ public class NumberChangeSignInputHandler extends NumberInputHandler { public NumberChangeSignInputHandler(AlgebraProcessor algebraProcessor, AsyncOperation<GeoNumberValue> callback, App app, boolean oldVal) { super(algebraProcessor, callback, app, oldVal); } /** * If (changeSign==true), change sign of the number handled * * @param inputString * @param changeSign * @return number handled */ public void processInput(String inputString, boolean changeSign, ErrorHandler handler, AsyncOperation<Boolean> callback) { if (changeSign) { StringBuilder sb = new StringBuilder(); sb.append("-("); sb.append(inputString); sb.append(")"); processInput(sb.toString(), handler, callback); } else { processInput(inputString, handler, callback); } } }