diff options
author | Dani Megert | 2009-03-20 11:16:02 +0000 |
---|---|---|
committer | Dani Megert | 2009-03-20 11:16:02 +0000 |
commit | 1d5faef04267bebf84af118cc19665a7bfe02935 (patch) | |
tree | 5328321b6a6bbbf2685004c6f529370c2b32b163 | |
parent | 3d955e66f543d1771bda4429cb3c97a09c40cce9 (diff) | |
download | eclipse.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.java | 28 |
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; } |