Math2mat

/home/ythoma/docs/math2mat/svn/wp1/framework/m2mGUI/src/m2m/frontend/view/M2MConsole.java

Go to the documentation of this file.
00001 
00020 package m2m.frontend.view;
00021 
00022 import java.io.PrintStream;
00023 
00024 import org.eclipse.jface.text.ITextListener;
00025 import org.eclipse.jface.text.TextEvent;
00026 import org.eclipse.swt.custom.StyledText;
00027 import org.eclipse.swt.graphics.Color;
00028 import org.eclipse.swt.widgets.Composite;
00029 import org.eclipse.ui.console.MessageConsole;
00030 import org.eclipse.ui.console.MessageConsoleStream;
00031 import org.eclipse.ui.console.TextConsoleViewer;
00032 import org.eclipse.ui.part.ViewPart;
00033 
00034 public class M2MConsole extends ViewPart {
00035 
00036         public static final String ID = "m2mgui.view.m2mConsole";
00037         private MessageConsole console;
00038         private MessageConsoleStream stream;
00039         private MessageConsoleStream errStream;
00040         private MessageConsoleStream warStream;
00041         
00042         @Override
00043         public void createPartControl(Composite parent) {
00044                 // TODO Auto-generated method stub
00045                 console = new MessageConsole("Console", null, false);
00046                 stream = console.newMessageStream();
00047                 errStream = console.newMessageStream();
00048                 errStream.setColor(new Color(null, 255, 0, 0));
00049                 warStream = console.newMessageStream();
00050                 warStream.setColor(new Color(null, 0, 0, 255));
00051                 System.setOut(new PrintStream(stream, true));
00052                 System.setErr(new PrintStream(errStream, true));
00053                 final TextConsoleViewer consoleViewer = new TextConsoleViewer(parent, console);
00054                 
00055                 consoleViewer.addTextListener(new ITextListener() {
00056 
00057                         @Override
00058                         public void textChanged(TextEvent event) {
00059                                 // TODO Auto-generated method stub
00060                                 StyledText textWidget = consoleViewer.getTextWidget();
00061                         if (textWidget != null) {
00062                             int lineCount = textWidget.getLineCount();
00063                             textWidget.setTopIndex(lineCount - 1);
00064                         }
00065                         }
00066                         
00067                 });
00068         }
00069 
00070         @Override
00071         public void setFocus() {
00072                 // TODO Auto-generated method stub
00073                 
00074         }
00075         
00076         public void addText(String text) {
00077                 stream.println(text);
00078         }
00079         
00080         public void clearConsole() {
00081                 console.clearConsole();
00082         }
00083         
00084         public MessageConsoleStream getErrStream() {
00085                 return errStream;
00086         }
00087         
00088         public MessageConsoleStream getwarStream() {
00089                 return warStream;
00090         }
00091 }
 All Classes Namespaces Files Functions Variables Enumerations