All prefs administrated in external tools plugin.
[phpeclipse.git] / net.sourceforge.phpeclipse.externaltools / src / net / sourceforge / phpeclipse / externaltools / PHPConsole.java
diff --git a/net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpeclipse/externaltools/PHPConsole.java b/net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpeclipse/externaltools/PHPConsole.java
new file mode 100644 (file)
index 0000000..817ec47
--- /dev/null
@@ -0,0 +1,107 @@
+package net.sourceforge.phpeclipse.externaltools;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.MessageConsole;
+import org.eclipse.ui.console.MessageConsoleStream;
+
+public class PHPConsole {
+  private MessageConsole myConsole;
+
+  private MessageConsoleStream stream;
+
+  private boolean hasMessages;
+
+  public PHPConsole() {
+    hasMessages = false;
+    myConsole = new MessageConsole("PHPeclipse Console", null);
+    ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { myConsole });
+    ConsolePlugin.getDefault().getConsoleManager().showConsoleView(myConsole);
+    //  layout.addView(IConsoleConstants.ID_CONSOLE_VIEW, IPageLayout.BOTTOM, .5f,IPageLayout.ID_EDITOR_AREA);
+    stream = myConsole.newMessageStream();
+  }
+
+  /**
+   * @return
+   */
+  public Color getColor() {
+    return stream.getColor();
+  }
+
+  /**
+   * @return
+   */
+  public MessageConsole getConsole() {
+    return stream.getConsole();
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see java.lang.Object#hashCode()
+   */
+  public int hashCode() {
+    return stream.hashCode();
+  }
+
+  /**
+   * @param message
+   */
+  public void print(String message) {
+    hasMessages = true;
+    stream.print(message);
+  }
+
+  /**
+   *  
+   */
+  public void println() {
+    hasMessages = true;
+    stream.println();
+  }
+
+  /**
+   * @param message
+   */
+  public void println(String message) {
+    hasMessages = true;
+    stream.println(message);
+  }
+
+  /**
+   * @param color
+   */
+  public void setColor(Color color) {
+    stream.setColor(color);
+  }
+
+  //  public void reportError(String title, String message) {
+  //    if (hasMessages) {
+  //      WikiEditorPlugin.getDefault().reportError(title, message);
+  //    }
+  //  }
+
+  //  public void reportError() {
+  //    reportError("Problems listed", "Open console view for problems log!");
+  //  }
+  /**
+   * Creates a string buffer from the given input stream
+   */
+  public static String getStringFromStream(InputStream stream) throws IOException {
+    StringBuffer buffer = new StringBuffer();
+    byte[] b = new byte[100];
+    int finished = 0;
+    while (finished != -1) {
+      finished = stream.read(b);
+      if (finished != -1) {
+        String current = new String(b, 0, finished);
+        buffer.append(current);
+      }
+    }
+    return buffer.toString();
+  }
+}
\ No newline at end of file