| 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; |
| } |
| } |