package org.nodeclipse.common.ui;
import java.io.IOException;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IOConsoleOutputStream;
import org.eclipse.ui.console.MessageConsole;
/**
* Console showing executable's options and launch parameters
* and also runtime errors
*
* @author pverest
*/
public class CommonConsole {
private static CommonConsole instance = null;
private static IOConsoleOutputStream stream = null;
public CommonConsole() {
MessageConsole console = new MessageConsole("Common Console", null);
console.activate();
ConsolePlugin.getDefault().getConsoleManager()
.addConsoles(new IConsole[] { console });
stream = console.newOutputStream();
}
static {
getInstance();
//write(VersionUtil.getLongString());
write("visit http://www.nodeclipse.org/\n\n");
}
private static CommonConsole getInstance() {
if (instance == null)
instance = new CommonConsole();
return instance;
}
public static void write(String s) {
// IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
// boolean nodeclipseConsoleEnabled = preferenceStore.getBoolean(PreferenceConstants.NODECLIPSE_CONSOLE_ENABLED);//@since 0.7
// if (!nodeclipseConsoleEnabled)
// return;
instance = getInstance();
try {
stream.write(s);
} catch (IOException e) {
//TODO how to show?
//e.printStackTrace();
}
}
@Override
public void finalize() {
try {
stream.close();
} catch (IOException e) {
//TODO how to show?
//e.printStackTrace();
}
}
}