@Override public void doOperation(int operation) { if (operation == JavaSourceViewer.ANNOTATE_CLASS_FILE) { fQuickAssistAssistant.setStatusLineVisible(true); fQuickAssistAssistant.setStatusMessage(JavaEditorMessages.ClassFileEditor_changeExternalAnnotations_caption + ' '); String msg= fQuickAssistAssistant.showPossibleQuickAssists(); setStatusLineErrorMessage(msg); return; } super.doOperation(operation); } };
@Override public IStatus runInUIThread(IProgressMonitor monitor) { IQuickAssistAssistant assistant= ((ISourceViewerExtension3)fSourceViewer).getQuickAssistAssistant(); IQuickAssistProcessor processor= assistant.getQuickAssistProcessor(); if (processor instanceof PropertiesCorrectionProcessor) { ((PropertiesCorrectionProcessor)processor).setProposals(new ICompletionProposal[] { proposal }); assistant.showPossibleQuickAssists(); } return Status.OK_STATUS; } };
/** * Creates the support for a quick assist assistant. * * @param quickAssistAssistant the quick assist assistant. */ public KeyBindingSupportForAssistant(IQuickAssistAssistant quickAssistAssistant) { Assert.isLegal(quickAssistAssistant != null); fQuickAssistAssistant= quickAssistAssistant; fQuickAssistAssistant.addCompletionListener(this); }
public void doOperation(int operation) { if (getTextWidget() == null) return; switch (operation) { case CONTENTASSIST_PROPOSALS: long time= CODE_ASSIST_DEBUG ? System.currentTimeMillis() : 0; String msg= fContentAssistant.showPossibleCompletions(); if (CODE_ASSIST_DEBUG) { long delta= System.currentTimeMillis() - time; System.err.println("Code Assist (total): " + delta); //$NON-NLS-1$ } setStatusLineErrorMessage(msg); return; case QUICK_ASSIST: /* * XXX: We can get rid of this once the SourceViewer has a way to update the status line * https://bugs.eclipse.org/bugs/show_bug.cgi?id=133787 */ msg= fQuickAssistAssistant.showPossibleQuickAssists(); setStatusLineErrorMessage(msg); return; } super.doOperation(operation); }
private void addProposals(final SubMenuManager quickFixMenu) { IAnnotationModel sourceModel = sourceViewer.getAnnotationModel(); Iterator annotationIterator = sourceModel.getAnnotationIterator(); while (annotationIterator.hasNext()) { Annotation annotation = (Annotation) annotationIterator.next(); boolean isDeleted = annotation.isMarkedDeleted(); boolean isIncluded = includes(sourceModel.getPosition(annotation), getTextWidget().getCaretOffset()); boolean isFixable = sourceViewer.getQuickAssistAssistant().canFix( annotation); if (!isDeleted && isIncluded && isFixable) { IQuickAssistProcessor processor = sourceViewer .getQuickAssistAssistant() .getQuickAssistProcessor(); IQuickAssistInvocationContext context = sourceViewer .getQuickAssistInvocationContext(); ICompletionProposal[] proposals = processor .computeQuickAssistProposals(context); for (ICompletionProposal proposal : proposals) quickFixMenu.add(createQuickFixAction(proposal)); } } }
/** * Checks whether there's a quick assist assistant and if so, * whether the assistant has a possible fix for the given * annotation. * * @param annotation the annotation * @return <code>true</code> if there is quick fix * @since 3.2 */ protected boolean hasQuickFix(Annotation annotation) { if (annotation instanceof IQuickFixableAnnotation) { IQuickFixableAnnotation quickFixableAnnotation= (IQuickFixableAnnotation)annotation; if (!quickFixableAnnotation.isQuickFixableStateSet()) quickFixableAnnotation.setQuickFixable(fQuickAssistAssistant != null && fQuickAssistAssistant.canFix(annotation)); return quickFixableAnnotation.isQuickFixable(); } return false; }
public void dispose() { if (fContentAssistantFacade != null) { fContentAssistantFacade.removeCompletionListener(this); fContentAssistantFacade= null; } if (fQuickAssistAssistant != null) { fQuickAssistAssistant.removeCompletionListener(this); fQuickAssistAssistant= null; } } }
fQuickAssistAssistant.uninstall(); fQuickAssistAssistantInstalled= false; fQuickAssistAssistant= null;
fQuickAssistAssistant.install(this); fQuickAssistAssistantInstalled= true;
@Override public void doOperation(int operation) { if (getTextWidget() == null) return; switch (operation) { case CONTENTASSIST_PROPOSALS: long time= JavaPlugin.DEBUG_RESULT_COLLECTOR ? System.currentTimeMillis() : 0; String msg= fContentAssistant.showPossibleCompletions(); if (JavaPlugin.DEBUG_RESULT_COLLECTOR) { long delta= System.currentTimeMillis() - time; System.err.println("Code Assist (total): " + delta); //$NON-NLS-1$ } setStatusLineErrorMessage(msg); return; case QUICK_ASSIST: /* * XXX: We can get rid of this once the SourceViewer has a way to update the status line * https://bugs.eclipse.org/bugs/show_bug.cgi?id=133787 */ msg= fQuickAssistAssistant.showPossibleQuickAssists(); setStatusLineErrorMessage(msg); return; } super.doOperation(operation); }
/** * Checks whether there's a quick assist assistant and if so, * whether the assistant has a possible fix for the given * annotation. * * @param annotation the annotation * @return <code>true</code> if there is quick fix * @since 3.2 */ protected boolean hasQuickFix(Annotation annotation) { if (annotation instanceof IQuickFixableAnnotation) { IQuickFixableAnnotation quickFixableAnnotation= (IQuickFixableAnnotation)annotation; if (!quickFixableAnnotation.isQuickFixableStateSet()) quickFixableAnnotation.setQuickFixable(fQuickAssistAssistant != null && fQuickAssistAssistant.canFix(annotation)); return quickFixableAnnotation.isQuickFixable(); } return false; }
public void dispose() { if (fContentAssistantFacade != null) { fContentAssistantFacade.removeCompletionListener(this); fContentAssistantFacade= null; } if (fQuickAssistAssistant != null) { fQuickAssistAssistant.removeCompletionListener(this); fQuickAssistAssistant= null; } } }
fQuickAssistAssistant.uninstall(); fQuickAssistAssistantInstalled= false; fQuickAssistAssistant= null;
fQuickAssistAssistant.install(this); fQuickAssistAssistantInstalled= true;
@Override public void doOperation(int operation) { if (operation == JavaSourceViewer.ANNOTATE_CLASS_FILE) { fQuickAssistAssistant.setStatusLineVisible(true); fQuickAssistAssistant.setStatusMessage(JavaEditorMessages.ClassFileEditor_changeExternalAnnotations_caption + ' '); String msg= fQuickAssistAssistant.showPossibleQuickAssists(); setStatusLineErrorMessage(msg); return; } super.doOperation(operation); } };
@Override public IStatus runInUIThread(IProgressMonitor monitor) { IQuickAssistAssistant assistant= ((ISourceViewerExtension3)fSourceViewer).getQuickAssistAssistant(); IQuickAssistProcessor processor= assistant.getQuickAssistProcessor(); if (processor instanceof PropertiesCorrectionProcessor) { ((PropertiesCorrectionProcessor)processor).setProposals(new ICompletionProposal[] { proposal }); assistant.showPossibleQuickAssists(); } return Status.OK_STATUS; } };
@Override public void doOperation(int operation) { if (getTextWidget() == null) return; switch (operation) { case CONTENTASSIST_PROPOSALS: long time= JavaPlugin.DEBUG_RESULT_COLLECTOR ? System.currentTimeMillis() : 0; String msg= fContentAssistant.showPossibleCompletions(); if (JavaPlugin.DEBUG_RESULT_COLLECTOR) { long delta= System.currentTimeMillis() - time; System.err.println("Code Assist (total): " + delta); //$NON-NLS-1$ } setStatusLineErrorMessage(msg); return; case QUICK_ASSIST: /* * XXX: We can get rid of this once the SourceViewer has a way to update the status line * https://bugs.eclipse.org/bugs/show_bug.cgi?id=133787 */ msg= fQuickAssistAssistant.showPossibleQuickAssists(); setStatusLineErrorMessage(msg); return; } super.doOperation(operation); }
/** * Creates the support for a quick assist assistant. * * @param quickAssistAssistant the quick assist assistant. */ public KeyBindingSupportForAssistant(IQuickAssistAssistant quickAssistAssistant) { Assert.isLegal(quickAssistAssistant != null); fQuickAssistAssistant= quickAssistAssistant; fQuickAssistAssistant.addCompletionListener(this); }