Esempio n. 1
0
    @Override
    public void run() {

      ISourceViewer sourceViewer = getSourceViewer();
      if (sourceViewer == null) {
        fTextOperationAction.run();
        return;
      }

      if (sourceViewer instanceof ITextViewerExtension4) {
        ITextViewerExtension4 extension4 = (ITextViewerExtension4) sourceViewer;
        if (extension4.moveFocusToWidgetToken()) return;
      }

      if (sourceViewer instanceof ITextViewerExtension2) {
        // does a text hover exist?
        ITextHover textHover = ((ITextViewerExtension2) sourceViewer).getCurrentTextHover();
        if (textHover != null && makeTextHoverFocusable(sourceViewer, textHover)) return;
      }

      if (sourceViewer instanceof ISourceViewerExtension3) {
        // does an annotation hover exist?
        IAnnotationHover annotationHover =
            ((ISourceViewerExtension3) sourceViewer).getCurrentAnnotationHover();
        if (annotationHover != null && makeAnnotationHoverFocusable(sourceViewer, annotationHover))
          return;
      }

      // otherwise, just display the tooltip
      // fTextOperationAction.run();
    }