package org.geogebra.common.plugin.script;
import org.geogebra.common.kernel.StringTemplate;
import org.geogebra.common.main.App;
import org.geogebra.common.main.error.ErrorHandler;
import org.geogebra.common.plugin.Event;
import org.geogebra.common.plugin.EventType;
import org.geogebra.common.util.AsyncOperation;
public class ScriptErrorHandler implements ErrorHandler {
private App app;
private Event evt;
private int line;
public ScriptErrorHandler(App app, Event evt, int i) {
this.app = app;
this.evt = evt;
this.line = i;
}
@Override
public void showError(String msg) {
if (evt.type == EventType.UPDATE) {
app.setBlockUpdateScripts(true);
}
app.getDefaultErrorHandler()
.showError(app.getLocalization().getPlain(
"ErrorInScriptAtLineAFromObjectB", (line + 1) + "",
evt.target.getLabel(StringTemplate.defaultTemplate))
+ "\n" + msg);
}
@Override
public void resetError() {
// nothing to do
}
@Override
public boolean onUndefinedVariables(String string,
AsyncOperation<String[]> callback) {
return false;
}
@Override
public void showCommandError(String command, String message) {
if (evt.type == EventType.UPDATE) {
app.setBlockUpdateScripts(true);
}
app.getDefaultErrorHandler().showCommandError(command,
message + "\n\n" + app.getLocalization().getPlain(
"ErrorInScriptAtLineAFromObjectB", (line + 1)
+ "",
evt.target.getLabel(StringTemplate.defaultTemplate)));
}
@Override
public String getCurrentCommand() {
// TODO Auto-generated method stub
return null;
}
}