@SuppressWarnings("boxing") @Override protected CompletableFuture<Void> doResolve(ITextViewer viewer, IProgressMonitor monitor) { return CompletableFuture.runAsync(() -> { try { IJavaElement element= super.getElement(); long implCount= countImplementations((IType) element, monitor); action= implCount > 0 ? e -> new OpenTypeHierarchyAction(editor).run(new StructuredSelection(element)) : null; if (implCount == 0 && showImplementationsAtLeastOne) { super.setLabel(""); //$NON-NLS-1$ } else { super.setLabel(MessageFormat.format(JavaCodeMiningMessages.JavaImplementationCodeMining_label, implCount)); } } catch (JavaModelException e) { // Should never occur } }); }
@Override public Object execute(ExecutionEvent event) throws ExecutionException { final IStructuredSelection activeSelection = HandlerUtil.getCurrentStructuredSelection(event); if (activeSelection != null && activeSelection != StructuredSelection.EMPTY) { final ElementDescription selectedElement = this.typeSelector.searchAndSelect(false, activeSelection.toArray()); if (selectedElement != null) { IJavaElement realJavaElement = null; if (selectedElement.element instanceof IJavaElement) { realJavaElement = (IJavaElement) selectedElement.element; } else if (selectedElement.element instanceof XtendTypeDeclaration) { final EObject jvmElement = this.sarlAssociations.getPrimaryJvmElement((XtendTypeDeclaration) selectedElement.element); if (jvmElement instanceof JvmIdentifiableElement) { realJavaElement = this.javaElementFinder.findElementFor((JvmIdentifiableElement) jvmElement); } } if (realJavaElement != null) { OpenTypeHierarchyUtil.open(realJavaElement, PlatformUI.getWorkbench().getActiveWorkbenchWindow()); } } else { final OpenTypeHierarchyAction jdtTool = new OpenTypeHierarchyAction(HandlerUtil.getActiveSite(event)); jdtTool.run(activeSelection); } } return null; }
private void createSiteActions(IWorkbenchSite site, ISelectionProvider specialProvider) { fOpenSuperImplementation= new OpenSuperImplementationAction(site); fOpenSuperImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_SUPER_IMPLEMENTATION); fOpenSuperImplementation.setSpecialSelectionProvider(specialProvider); fOpenExternalJavadoc= new OpenExternalJavadocAction(site); fOpenExternalJavadoc.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EXTERNAL_JAVADOC); fOpenExternalJavadoc.setSpecialSelectionProvider(specialProvider); fOpenTypeHierarchy= new OpenTypeHierarchyAction(site); fOpenTypeHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY); fOpenTypeHierarchy.setSpecialSelectionProvider(specialProvider); fOpenCallHierarchy= new OpenCallHierarchyAction(site); fOpenCallHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_CALL_HIERARCHY); fOpenCallHierarchy.setSpecialSelectionProvider(specialProvider); ISelectionProvider provider= specialProvider != null ? specialProvider : site.getSelectionProvider(); fOpenPropertiesDialog= new PropertyDialogAction(site, provider); fOpenPropertiesDialog.setActionDefinitionId(IWorkbenchActionDefinitionIds.PROPERTIES); initialize(provider); }
/** * Note: This constructor is for internal use only. Clients should not call this constructor. * @param part the editor part */ public OpenViewActionGroup(JavaEditor part) { fEditorIsOwner= true; fShowShowInMenu= false; fOpenSuperImplementation= new OpenSuperImplementationAction(part); fOpenSuperImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_SUPER_IMPLEMENTATION); part.setAction("OpenSuperImplementation", fOpenSuperImplementation); //$NON-NLS-1$ fOpenExternalJavadoc= new OpenExternalJavadocAction(part); fOpenExternalJavadoc.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EXTERNAL_JAVADOC); part.setAction("OpenExternalJavadoc", fOpenExternalJavadoc); //$NON-NLS-1$ fOpenTypeHierarchy= new OpenTypeHierarchyAction(part); fOpenTypeHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY); part.setAction("OpenTypeHierarchy", fOpenTypeHierarchy); //$NON-NLS-1$ fOpenCallHierarchy= new OpenCallHierarchyAction(part); fOpenCallHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_CALL_HIERARCHY); part.setAction("OpenCallHierarchy", fOpenCallHierarchy); //$NON-NLS-1$ initialize(part.getEditorSite().getSelectionProvider()); }
/** * Note: This constructor is for internal use only. Clients should not call this constructor. * @param part the editor part * * @noreference This constructor is not intended to be referenced by clients. */ public OpenViewActionGroup(JavaEditor part) { fEditorIsOwner= true; fShowShowInMenu= false; fOpenImplementation= new OpenImplementationAction(part); fOpenImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_IMPLEMENTATION); part.setAction("OpenImplementation", fOpenImplementation); //$NON-NLS-1$ fOpenSuperImplementation= new OpenSuperImplementationAction(part); fOpenSuperImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_SUPER_IMPLEMENTATION); part.setAction("OpenSuperImplementation", fOpenSuperImplementation); //$NON-NLS-1$ fOpenAttachedJavadoc= new OpenAttachedJavadocAction(part); fOpenAttachedJavadoc.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_ATTACHED_JAVADOC); part.setAction("OpenAttachedJavadoc", fOpenAttachedJavadoc); //$NON-NLS-1$ fOpenTypeHierarchy= new OpenTypeHierarchyAction(part); fOpenTypeHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY); part.setAction("OpenTypeHierarchy", fOpenTypeHierarchy); //$NON-NLS-1$ fOpenCallHierarchy= new OpenCallHierarchyAction(part); fOpenCallHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_CALL_HIERARCHY); part.setAction("OpenCallHierarchy", fOpenCallHierarchy); //$NON-NLS-1$ initialize(part.getEditorSite().getSelectionProvider()); }
private void createSiteActions(IWorkbenchSite site, ISelectionProvider specialProvider) { fOpenImplementation= new OpenImplementationAction(site); fOpenImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_IMPLEMENTATION); fOpenImplementation.setSpecialSelectionProvider(specialProvider); fOpenSuperImplementation= new OpenSuperImplementationAction(site); fOpenSuperImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_SUPER_IMPLEMENTATION); fOpenSuperImplementation.setSpecialSelectionProvider(specialProvider); fOpenAttachedJavadoc= new OpenAttachedJavadocAction(site); fOpenAttachedJavadoc.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_ATTACHED_JAVADOC); fOpenAttachedJavadoc.setSpecialSelectionProvider(specialProvider); fOpenTypeHierarchy= new OpenTypeHierarchyAction(site); fOpenTypeHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY); fOpenTypeHierarchy.setSpecialSelectionProvider(specialProvider); fOpenCallHierarchy= new OpenCallHierarchyAction(site); fOpenCallHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_CALL_HIERARCHY); fOpenCallHierarchy.setSpecialSelectionProvider(specialProvider); ISelectionProvider provider= specialProvider != null ? specialProvider : site.getSelectionProvider(); fOpenPropertiesDialog= new PropertyDialogAction(site, provider); fOpenPropertiesDialog.setActionDefinitionId(IWorkbenchCommandConstants.FILE_PROPERTIES); initialize(provider); }
private void createSiteActions(IWorkbenchSite site, ISelectionProvider specialProvider) { fOpenImplementation= new OpenImplementationAction(site); fOpenImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_IMPLEMENTATION); fOpenImplementation.setSpecialSelectionProvider(specialProvider); fOpenSuperImplementation= new OpenSuperImplementationAction(site); fOpenSuperImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_SUPER_IMPLEMENTATION); fOpenSuperImplementation.setSpecialSelectionProvider(specialProvider); fOpenAttachedJavadoc= new OpenAttachedJavadocAction(site); fOpenAttachedJavadoc.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_ATTACHED_JAVADOC); fOpenAttachedJavadoc.setSpecialSelectionProvider(specialProvider); fOpenTypeHierarchy= new OpenTypeHierarchyAction(site); fOpenTypeHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY); fOpenTypeHierarchy.setSpecialSelectionProvider(specialProvider); fOpenCallHierarchy= new OpenCallHierarchyAction(site); fOpenCallHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_CALL_HIERARCHY); fOpenCallHierarchy.setSpecialSelectionProvider(specialProvider); ISelectionProvider provider= specialProvider != null ? specialProvider : site.getSelectionProvider(); fOpenPropertiesDialog= new PropertyDialogAction(site, provider); fOpenPropertiesDialog.setActionDefinitionId(IWorkbenchCommandConstants.FILE_PROPERTIES); initialize(provider); }
/** * Note: This constructor is for internal use only. Clients should not call this constructor. * @param part the editor part * * @noreference This constructor is not intended to be referenced by clients. */ public OpenViewActionGroup(JavaEditor part) { fEditorIsOwner= true; fShowShowInMenu= false; fOpenImplementation= new OpenImplementationAction(part); fOpenImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_IMPLEMENTATION); part.setAction("OpenImplementation", fOpenImplementation); //$NON-NLS-1$ fOpenSuperImplementation= new OpenSuperImplementationAction(part); fOpenSuperImplementation.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_SUPER_IMPLEMENTATION); part.setAction("OpenSuperImplementation", fOpenSuperImplementation); //$NON-NLS-1$ fOpenAttachedJavadoc= new OpenAttachedJavadocAction(part); fOpenAttachedJavadoc.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_ATTACHED_JAVADOC); part.setAction("OpenAttachedJavadoc", fOpenAttachedJavadoc); //$NON-NLS-1$ fOpenTypeHierarchy= new OpenTypeHierarchyAction(part); fOpenTypeHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY); part.setAction("OpenTypeHierarchy", fOpenTypeHierarchy); //$NON-NLS-1$ fOpenCallHierarchy= new OpenCallHierarchyAction(part); fOpenCallHierarchy.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_CALL_HIERARCHY); part.setAction("OpenCallHierarchy", fOpenCallHierarchy); //$NON-NLS-1$ initialize(part.getEditorSite().getSelectionProvider()); }