From: khartlage Date: Wed, 13 Nov 2002 20:42:31 +0000 (+0000) Subject: PHP Console View X-Git-Url: http://secure.phpeclipse.com?hp=0fabd78d3f572f1c386559c3ce8a200720e79812 PHP Console View --- 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 index 0000000..ad72992 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java @@ -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(); + } + + + + +}