PHP Console View
authorkhartlage <khartlage>
Wed, 13 Nov 2002 20:42:31 +0000 (20:42 +0000)
committerkhartlage <khartlage>
Wed, 13 Nov 2002 20:42:31 +0000 (20:42 +0000)
net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java [new file with mode: 0644]

diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java
new file mode 100644 (file)
index 0000000..ad72992
--- /dev/null
@@ -0,0 +1,135 @@
+package net.sourceforge.phpeclipse.views;
+
+/**********************************************************************
+Copyright (c) 2000, 2002 IBM Corp. and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Common Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/cpl-v10.html
+
+Contributors:
+    IBM Corporation - Initial implementation
+    Klaus Hartlage - www.eclipseproject.de
+**********************************************************************/
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.MessageFormat;
+
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.actions.PHPActionMessages;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.TextViewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.ViewPart;
+import sun.security.krb5.internal.crypto.e;
+
+/**
+ * The PHPConsole is used to display the output if you start MySQL/Apache
+ * @see ViewPart
+ */
+public class PHPConsole extends ViewPart {
+
+       public static final String CONSOLE_ID = "net.sourceforge.phpeclipse.views.phpconsoleview";
+       
+       private TextViewer viewer = null;
+       private Document document = null;
+
+       /**
+        * The constructor.
+        */
+       public PHPConsole() {
+       }
+
+       /**
+        * Insert the method's description here.
+        * @see ViewPart#createPartControl
+        */
+       public void createPartControl(Composite parent)  {
+               viewer = new TextViewer(parent, SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL);
+               GridData viewerData = new GridData(GridData.FILL_BOTH);
+               viewer.getControl().setLayoutData(viewerData);
+               viewer.setEditable(false);
+       }
+
+       /**
+        * Insert the method's description here.
+        * @see ViewPart#setFocus
+        */
+       public void setFocus()  {
+       }
+       
+       /**
+        * Set the text for the viewer
+        */
+       public void setOutputText(String text) {
+               document = new Document(text);
+               viewer.setDocument(document);
+       }
+
+  public void appendOutputText(String text) {
+    try {
+      document.replace(document.getLength(), 0, text);
+    } catch (BadLocationException e) {
+    }
+  //  viewer.setDocument(document);
+  }
+  
+  /**
+   * Prints out the string represented by the string buffer
+   */
+  static public void write(String output) {
+    try {
+      IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+      PHPConsole console = (PHPConsole) page.findView(PHPConsole.CONSOLE_ID);
+
+      if (console != null) {
+        console.appendOutputText(output);
+      } else if (
+        PHPeclipsePlugin.getDefault().getPreferenceStore().getBoolean(PHPeclipsePlugin.SHOW_OUTPUT_IN_CONSOLE) == true) {
+        page.showView(PHPConsole.CONSOLE_ID);
+        console = (PHPConsole) page.findView(PHPConsole.CONSOLE_ID);
+        console.setOutputText(output);
+      }
+    } catch (PartInitException e) {
+      PHPeclipsePlugin.getDefault().getLog().log(
+        new Status(IStatus.ERROR, PHPeclipsePlugin.getPluginId(), 0, PHPActionMessages.getString("PHPStartApacheAction.consoleViewOpeningProblem"), e));
+    }
+
+  }
+
+  /**
+   * Creates a string buffer from the given input stream
+   */
+  static public 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();
+  }
+
+
+
+
+}