X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java index ad72992..72416af 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/views/PHPConsole.java @@ -14,29 +14,27 @@ Contributors: 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.action.Action; +import org.eclipse.jface.resource.JFaceResources; 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.custom.StyledText; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IWorkbenchActionConstants; 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 @@ -44,70 +42,101 @@ import sun.security.krb5.internal.crypto.e; */ 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 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); + + StyledText widget = viewer.getTextWidget(); + widget.setFont(JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)); + Action cutAction = new Action() { + public void run() { + viewer.getTextWidget().cut(); + } + }; + Action copyAction = new Action() { + public void run() { + viewer.getTextWidget().copy(); + } + }; + Action pasteAction = new Action() { + public void run() { + viewer.getTextWidget().paste(); + } + }; + + IActionBars bars = this.getViewSite().getActionBars(); + bars.setGlobalActionHandler(IWorkbenchActionConstants.CUT, cutAction); + bars.setGlobalActionHandler(IWorkbenchActionConstants.COPY, copyAction); + bars.setGlobalActionHandler(IWorkbenchActionConstants.PASTE, pasteAction); + } + + /** + * 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 { + if (document == null) { + document = new Document(text); + viewer.setDocument(document); + } document.replace(document.getLength(), 0, text); } catch (BadLocationException e) { } - // viewer.setDocument(document); + // viewer.setDocument(document); } - + /** * Prints out the string represented by the string buffer */ - static public void write(String output) { + public static 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) { + } 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)); + new Status( + IStatus.ERROR, + PHPeclipsePlugin.getPluginId(), + 0, + PHPActionMessages.getString("PHPStartApacheAction.consoleViewOpeningProblem"), + e)); } } @@ -115,7 +144,7 @@ public class PHPConsole extends ViewPart { /** * Creates a string buffer from the given input stream */ - static public String getStringFromStream(InputStream stream) throws IOException { + public static String getStringFromStream(InputStream stream) throws IOException { StringBuffer buffer = new StringBuffer(); byte[] b = new byte[100]; int finished = 0; @@ -129,7 +158,4 @@ public class PHPConsole extends ViewPart { return buffer.toString(); } - - - }