Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDani Megert2009-03-20 11:16:02 +0000
committerDani Megert2009-03-20 11:16:02 +0000
commit1d5faef04267bebf84af118cc19665a7bfe02935 (patch)
tree5328321b6a6bbbf2685004c6f529370c2b32b163
parent3d955e66f543d1771bda4429cb3c97a09c40cce9 (diff)
downloadeclipse.platform.text-1d5faef04267bebf84af118cc19665a7bfe02935.tar.gz
eclipse.platform.text-1d5faef04267bebf84af118cc19665a7bfe02935.tar.xz
eclipse.platform.text-1d5faef04267bebf84af118cc19665a7bfe02935.zip
Fixed bug 267672: [navigation] Clicking on hyperlink while popup is open should close the popupv20090324-0800
-rw-r--r--org.eclipse.jface.text/src/org/eclipse/jface/text/hyperlink/MultipleHyperlinkPresenter.java28
1 files changed, 26 insertions, 2 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/hyperlink/MultipleHyperlinkPresenter.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/hyperlink/MultipleHyperlinkPresenter.java
index e65dc1d29b0..5839d504de8 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/hyperlink/MultipleHyperlinkPresenter.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/hyperlink/MultipleHyperlinkPresenter.java
@@ -16,6 +16,7 @@ import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -361,7 +362,7 @@ public class MultipleHyperlinkPresenter extends DefaultHyperlinkPresenter {
private static class MultipleHyperlinkHoverManager extends AbstractInformationControlManager implements IWidgetTokenKeeper, IWidgetTokenKeeperExtension {
- private class Closer implements IInformationControlCloser, Listener, KeyListener {
+ private class Closer implements IInformationControlCloser, Listener, KeyListener, MouseListener {
private Control fSubjectControl;
private Display fDisplay;
@@ -393,6 +394,7 @@ public class MultipleHyperlinkPresenter extends DefaultHyperlinkPresenter {
fDisplay.addFilter(SWT.FocusOut, this);
fDisplay.addFilter(SWT.MouseMove, this);
fTextViewer.getTextWidget().addKeyListener(this);
+ fTextViewer.getTextWidget().addMouseListener(this);
}
}
@@ -404,6 +406,7 @@ public class MultipleHyperlinkPresenter extends DefaultHyperlinkPresenter {
fDisplay.removeFilter(SWT.FocusOut, this);
fDisplay.removeFilter(SWT.MouseMove, this);
fTextViewer.getTextWidget().removeKeyListener(this);
+ fTextViewer.getTextWidget().removeMouseListener(this);
}
fSubjectArea= null;
@@ -494,6 +497,28 @@ public class MultipleHyperlinkPresenter extends DefaultHyperlinkPresenter {
hideInformationControl();
}
+ /*
+ * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
+ * @since 3.5
+ */
+ public void mouseDoubleClick(MouseEvent e) {
+ }
+
+ /*
+ * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
+ * @since 3.5
+ */
+ public void mouseDown(MouseEvent e) {
+ }
+
+ /*
+ * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
+ * @since 3.5
+ */
+ public void mouseUp(MouseEvent e) {
+ hideInformationControl();
+ }
+
}
/**
@@ -731,7 +756,6 @@ public class MultipleHyperlinkPresenter extends DefaultHyperlinkPresenter {
*/
public void hideHyperlinks() {
super.hideHyperlinks();
-
fHyperlinks= null;
}

Back to the top