Index: editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/feedback/LogViewer.java |
=================================================================== |
--- editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/feedback/LogViewer.java (revision 9365) |
+++ editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/feedback/LogViewer.java (working copy) |
@@ -13,18 +13,22 @@ |
*/ |
package com.google.dart.tools.ui.feedback; |
+import com.google.dart.tools.ui.actions.CopyDetailsToClipboardAction; |
+import com.google.dart.tools.ui.actions.CopyDetailsToClipboardAction.DetailsProvider; |
+ |
import org.eclipse.jface.layout.GridLayoutFactory; |
import org.eclipse.swt.SWT; |
import org.eclipse.swt.custom.ScrolledComposite; |
import org.eclipse.swt.custom.StyledText; |
import org.eclipse.swt.graphics.Point; |
import org.eclipse.swt.layout.GridData; |
+import org.eclipse.swt.widgets.Control; |
import org.eclipse.swt.widgets.Shell; |
/** |
* A lightweight FeedbackReport log previewer. |
*/ |
-public class LogViewer extends Shell { |
+public class LogViewer extends Shell implements DetailsProvider { |
private StyledText logText; |
@@ -56,6 +60,14 @@ |
} |
@Override |
+ public String getDetails() { |
+ if (logText != null) { |
+ return logText.getText(); |
+ } |
+ return ""; |
+ } |
+ |
+ @Override |
protected void checkSubclass() { |
// Disable the check that prevents subclassing of SWT components |
} |
@@ -63,8 +75,14 @@ |
protected void createContents() { |
setText(FeedbackMessages.LogViewer_LogViewer_title); |
setSize(750, 350); |
+ addCopyDetailsPopup(this); |
+ addCopyDetailsPopup(logText); |
} |
+ private void addCopyDetailsPopup(Control control) { |
+ CopyDetailsToClipboardAction.addCopyDetailsPopup(control, this); |
+ } |
+ |
private void centerShell(Shell parent) { |
Point parentSize = parent.getSize(); |
Point size = getSize(); |