blob: 2f5104400c6f2a585c1887e0e4c7be88a5bb261f [file] [log] [blame]
package org.eclipse.dltk.javascript.internal.console.ui;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.dltk.console.IScriptInterpreter;
import org.eclipse.dltk.console.ScriptConsolePrompt;
import org.eclipse.dltk.console.ui.IScriptConsole;
import org.eclipse.dltk.console.ui.IScriptConsoleFactory;
import org.eclipse.dltk.console.ui.ScriptConsole;
import org.eclipse.dltk.console.ui.ScriptConsoleFactoryBase;
import org.eclipse.dltk.javascript.console.JavaScriptConsoleConstants;
import org.eclipse.dltk.javascript.console.JavaScriptInterpreter;
import org.eclipse.dltk.javascript.internal.debug.ui.JavaScriptDebugUIPlugin;
import org.eclipse.jface.preference.IPreferenceStore;
public class JavaScriptConsoleFactory extends ScriptConsoleFactoryBase
implements IScriptConsoleFactory {
protected IPreferenceStore getPreferenceStore() {
return JavaScriptDebugUIPlugin.getDefault().getPreferenceStore();
}
protected ScriptConsolePrompt makeInvitation() {
IPreferenceStore store = getPreferenceStore();
return new ScriptConsolePrompt(store
.getString(JavaScriptConsoleConstants.PREF_NEW_PROMPT), store
.getString(JavaScriptConsoleConstants.PREF_CONTINUE_PROMPT));
}
protected JavaScriptConsole makeConsole(JavaScriptInterpreter interpreter,
String id) {
JavaScriptConsole console = new JavaScriptConsole(interpreter, id);
console.setPrompt(makeInvitation());
return console;
}
private JavaScriptConsole createConsoleInstance(
IScriptInterpreter interpreter, String id) {
if (interpreter == null) {
try {
id = "default";
interpreter = new JavaScriptInterpreter();
// JavaScriptConsoleUtil
// .runDefaultTclInterpreter((JavaScriptInterpreter)
// interpreter);
} catch (Exception e) {
return null;
}
}
return makeConsole((JavaScriptInterpreter) interpreter, id);
}
protected ScriptConsole createConsoleInstance() {
return createConsoleInstance(null, null);
}
public JavaScriptConsoleFactory() {
}
/**
* @since 2.0
*/
public IScriptConsole openConsole(IScriptInterpreter interpreter,
String id, ILaunch launch) {
final JavaScriptConsole console = createConsoleInstance(interpreter, id);
registerAndOpenConsole(console);
return console;
}
}