@Override public void install(ISourceViewer sourceViewer) { super.install(sourceViewer); fViewer= sourceViewer; fLightBulbUpdater= new QuickAssistLightBulbUpdater(fEditor, sourceViewer); fLightBulbUpdater.install(); }
@Override public void uninstall() { if (fLightBulbUpdater != null) { fLightBulbUpdater.uninstall(); fLightBulbUpdater= null; } super.uninstall(); }
private void doSelectionChanged(int offset, int length, CompilationUnit astRoot) { final IAnnotationModel model= getAnnotationModel(); final ICompilationUnit cu= getCompilationUnit(); if (model == null || cu == null) { return; } final AssistContext context= new AssistContext(cu, offset, length); context.setASTRoot(astRoot); boolean hasQuickFix= hasQuickFixLightBulb(model, context.getSelectionOffset()); if (hasQuickFix) { removeLightBulb(model); return; // there is already a quick fix light bulb at the new location } calculateLightBulb(model, context); }
protected void doPropertyChanged(String property) { if (property.equals(PreferenceConstants.EDITOR_QUICKASSIST_LIGHTBULB)) { if (isSetInPreferences()) { ICompilationUnit cu= getCompilationUnit(); if (cu != null) { installSelectionListener(); Point point= fViewer.getSelectedRange(); CompilationUnit astRoot= SharedASTProviderCore.getAST(cu, SharedASTProviderCore.WAIT_ACTIVE_ONLY, null); if (astRoot != null) { doSelectionChanged(point.x, point.y, astRoot); } } } else { uninstallSelectionListener(); } } }
private void uninstallSelectionListener() { if (fListener != null) { SelectionListenerWithASTManager.getDefault().removeListener(fEditor, fListener); fListener= null; } IAnnotationModel model= getAnnotationModel(); if (model != null) { removeLightBulb(model); } }
@Override public void propertyChange(PropertyChangeEvent event) { doPropertyChanged(event.getProperty()); } };
private boolean hasQuickFixLightBulb(IAnnotationModel model, int offset) { try { IDocument document= getDocument(); if (document == null) { return false;
protected void doPropertyChanged(String property) { if (property.equals(PreferenceConstants.EDITOR_QUICKASSIST_LIGHTBULB)) { if (isSetInPreferences()) { ICompilationUnit cu= getCompilationUnit(); if (cu != null) { installSelectionListener(); Point point= fViewer.getSelectedRange(); CompilationUnit astRoot= SharedASTProvider.getAST(cu, SharedASTProvider.WAIT_ACTIVE_ONLY, null); if (astRoot != null) { doSelectionChanged(point.x, point.y, astRoot); } } } else { uninstallSelectionListener(); } } }
private void uninstallSelectionListener() { if (fListener != null) { SelectionListenerWithASTManager.getDefault().removeListener(fEditor, fListener); fListener= null; } IAnnotationModel model= getAnnotationModel(); if (model != null) { removeLightBulb(model); } }
@Override public void propertyChange(PropertyChangeEvent event) { doPropertyChanged(event.getProperty()); } };
private boolean hasQuickFixLightBulb(IAnnotationModel model, int offset) { try { IDocument document= getDocument(); if (document == null) { return false;
private void doSelectionChanged(int offset, int length, CompilationUnit astRoot) { final IAnnotationModel model= getAnnotationModel(); final ICompilationUnit cu= getCompilationUnit(); if (model == null || cu == null) { return; } final AssistContext context= new AssistContext(cu, offset, length); context.setASTRoot(astRoot); boolean hasQuickFix= hasQuickFixLightBulb(model, context.getSelectionOffset()); if (hasQuickFix) { removeLightBulb(model); return; // there is already a quick fix light bulb at the new location } calculateLightBulb(model, context); }
protected void doPropertyChanged(String property) { if (property.equals(PreferenceConstants.EDITOR_QUICKASSIST_LIGHTBULB)) { if (isSetInPreferences()) { ICompilationUnit cu= getCompilationUnit(); if (cu != null) { installSelectionListener(); Point point= fViewer.getSelectedRange(); CompilationUnit astRoot= ASTProvider.getASTProvider().getAST(cu, ASTProvider.WAIT_ACTIVE_ONLY, null); if (astRoot != null) { doSelectionChanged(point.x, point.y, astRoot); } } } else { uninstallSelectionListener(); } } }
public void install(ISourceViewer sourceViewer) { super.install(sourceViewer); fViewer= sourceViewer; fLightBulbUpdater= new QuickAssistLightBulbUpdater(fEditor, sourceViewer); fLightBulbUpdater.install(); }
private void uninstallSelectionListener() { if (fListener != null) { SelectionListenerWithASTManager.getDefault().removeListener(fEditor, fListener); fListener= null; } IAnnotationModel model= getAnnotationModel(); if (model != null) { removeLightBulb(model); } }
public void uninstall() { if (fLightBulbUpdater != null) { fLightBulbUpdater.uninstall(); fLightBulbUpdater= null; } super.uninstall(); }
public void propertyChange(PropertyChangeEvent event) { doPropertyChanged(event.getProperty()); } };
private boolean hasQuickFixLightBulb(IAnnotationModel model, int offset) { try { IDocument document= getDocument(); if (document == null) { return false;
private void doSelectionChanged(int offset, int length, CompilationUnit astRoot) { final IAnnotationModel model= getAnnotationModel(); final ICompilationUnit cu= getCompilationUnit(); if (model == null || cu == null) { return; } final AssistContext context= new AssistContext(cu, offset, length); context.setASTRoot(astRoot); boolean hasQuickFix= hasQuickFixLightBulb(model, context.getSelectionOffset()); if (hasQuickFix) { removeLightBulb(model); return; // there is already a quick fix light bulb at the new location } calculateLightBulb(model, context); }
@Override public void install(ISourceViewer sourceViewer) { super.install(sourceViewer); fViewer= sourceViewer; fLightBulbUpdater= new QuickAssistLightBulbUpdater(fEditor, sourceViewer); fLightBulbUpdater.install(); }