Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 188191 Details for
Bug 129309
[Workbench] allow 'Copy' on the status line
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Copy context menu v01
bug129309-v01.txt (text/plain), 3.97 KB, created by
Paul Webster
on 2011-02-02 15:56:08 EST
(
hide
)
Description:
Copy context menu v01
Filename:
MIME Type:
Creator:
Paul Webster
Created:
2011-02-02 15:56:08 EST
Size:
3.97 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jface >Index: src/org/eclipse/jface/action/StatusLine.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jface/src/org/eclipse/jface/action/StatusLine.java,v >retrieving revision 1.26 >diff -u -r1.26 StatusLine.java >--- src/org/eclipse/jface/action/StatusLine.java 11 Aug 2010 15:52:20 -0000 1.26 >+++ src/org/eclipse/jface/action/StatusLine.java 2 Feb 2011 20:53:17 -0000 >@@ -12,16 +12,24 @@ > package org.eclipse.jface.action; > > import org.eclipse.core.runtime.IProgressMonitor; >- >+import org.eclipse.jface.dialogs.ProgressIndicator; >+import org.eclipse.jface.resource.ImageDescriptor; >+import org.eclipse.jface.resource.JFaceColors; >+import org.eclipse.jface.resource.JFaceResources; >+import org.eclipse.jface.util.Util; > import org.eclipse.swt.SWT; > import org.eclipse.swt.accessibility.ACC; > import org.eclipse.swt.accessibility.AccessibleControlAdapter; > import org.eclipse.swt.accessibility.AccessibleControlEvent; > import org.eclipse.swt.custom.CLabel; >+import org.eclipse.swt.dnd.Clipboard; >+import org.eclipse.swt.dnd.TextTransfer; >+import org.eclipse.swt.dnd.Transfer; > import org.eclipse.swt.events.DisposeEvent; > import org.eclipse.swt.events.DisposeListener; > import org.eclipse.swt.events.SelectionAdapter; > import org.eclipse.swt.events.SelectionEvent; >+import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.graphics.Cursor; > import org.eclipse.swt.graphics.Font; > import org.eclipse.swt.graphics.Image; >@@ -33,15 +41,11 @@ > import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.Display; > import org.eclipse.swt.widgets.Layout; >+import org.eclipse.swt.widgets.Menu; >+import org.eclipse.swt.widgets.MenuItem; > import org.eclipse.swt.widgets.ToolBar; > import org.eclipse.swt.widgets.ToolItem; > >-import org.eclipse.jface.dialogs.ProgressIndicator; >-import org.eclipse.jface.resource.ImageDescriptor; >-import org.eclipse.jface.resource.JFaceColors; >-import org.eclipse.jface.resource.JFaceResources; >-import org.eclipse.jface.util.Util; >- > /** > * A StatusLine control is a SWT Composite with a horizontal layout which hosts > * a number of status indication controls. Typically it is situated below the >@@ -113,6 +117,8 @@ > /** stop image descriptor */ > protected static ImageDescriptor fgStopImage = ImageDescriptor > .createFromFile(StatusLine.class, "images/stop.gif");//$NON-NLS-1$ >+ >+ private MenuItem copyMenuItem; > static { > JFaceResources.getImageRegistry().put( > "org.eclipse.jface.parts.StatusLine.stopImage", fgStopImage);//$NON-NLS-1$ >@@ -282,13 +288,25 @@ > setLayout(new StatusLineLayout()); > > fMessageLabel = new CLabel(this, SWT.NONE);// SWT.SHADOW_IN); >- // Color[] colors = new Color[2]; >- // colors[0] = >- // parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); >- // colors[1] = fMessageLabel.getBackground(); >- // int[] gradient = new int[] {JFaceColors.STATUS_PERCENT}; >- // fMessageLabel.setBackground(colors, gradient); >- >+ >+ Menu menu = new Menu(fMessageLabel); >+ fMessageLabel.setMenu(menu); >+ copyMenuItem = new MenuItem(menu, SWT.PUSH); >+ copyMenuItem.setText("&Copy"); //$NON-NLS-1$ >+ copyMenuItem.addSelectionListener(new SelectionListener() { >+ public void widgetSelected(SelectionEvent e) { >+ String text = fMessageLabel.getText(); >+ if (text != null && text.length() > 0) { >+ Clipboard cp = new Clipboard(e.display); >+ cp.setContents(new Object[] { text }, >+ new Transfer[] { TextTransfer.getInstance() }); >+ cp.dispose(); >+ } >+ } >+ public void widgetDefaultSelected(SelectionEvent e) { >+ } >+ }); >+ > fProgressIsVisible = false; > fCancelEnabled = false; > >@@ -678,6 +696,10 @@ > fMessageLabel.setText(fMessageText == null ? "" : fMessageText); //$NON-NLS-1$ > fMessageLabel.setImage(fMessageImage); > } >+ if (copyMenuItem != null && !copyMenuItem.isDisposed()) { >+ String text = fMessageLabel.getText(); >+ copyMenuItem.setEnabled(text != null && text.length() > 0); >+ } > } > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 129309
:
188191
|
188243