diff options
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/internal/filetransfer/ui/hyperlink/SCPHyperlinkDetector.java')
-rw-r--r-- | framework/bundles/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/internal/filetransfer/ui/hyperlink/SCPHyperlinkDetector.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/framework/bundles/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/internal/filetransfer/ui/hyperlink/SCPHyperlinkDetector.java b/framework/bundles/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/internal/filetransfer/ui/hyperlink/SCPHyperlinkDetector.java new file mode 100644 index 000000000..2ab674db2 --- /dev/null +++ b/framework/bundles/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/internal/filetransfer/ui/hyperlink/SCPHyperlinkDetector.java @@ -0,0 +1,37 @@ +package org.eclipse.ecf.internal.filetransfer.ui.hyperlink; + +import java.net.URI; +import org.eclipse.ecf.ui.hyperlink.AbstractURLHyperlinkDetector; +import org.eclipse.jface.text.IRegion; +import org.eclipse.jface.text.ITextViewer; +import org.eclipse.jface.text.hyperlink.IHyperlink; +import org.eclipse.swt.widgets.Shell; + +public class SCPHyperlinkDetector extends AbstractURLHyperlinkDetector { + + public static final String SCP_PROTOCOL = "scp"; //$NON-NLS-1$ + + public SCPHyperlinkDetector() { + setProtocols(new String[] {SCP_PROTOCOL}); + } + + Shell shell; + + /* (non-Javadoc) + * @see org.eclipse.ecf.ui.hyperlink.AbstractURLHyperlinkDetector#detectHyperlinks(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion, boolean) + */ + public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) { + IHyperlink[] links = super.detectHyperlinks(textViewer, region, canShowMultipleHyperlinks); + if (links != null) + shell = textViewer.getTextWidget().getShell(); + return links; + } + + /* (non-Javadoc) + * @see org.eclipse.ecf.ui.hyperlink.AbstractURLHyperlinkDetector#createHyperLinksForURI(org.eclipse.jface.text.IRegion, java.net.URI) + */ + protected IHyperlink[] createHyperLinksForURI(IRegion region, URI uri) { + return new IHyperlink[] {new SCPHyperlink(shell, region, uri)}; + } + +} |