1 11 package org.eclipse.jdt.ui.actions; 12 13 import org.eclipse.ui.IWorkbenchSite; 14 import org.eclipse.ui.IWorkingSet; 15 import org.eclipse.ui.PlatformUI; 16 17 import org.eclipse.jdt.core.IJavaElement; 18 import org.eclipse.jdt.core.JavaModelException; 19 import org.eclipse.jdt.core.search.IJavaSearchScope; 20 21 import org.eclipse.jdt.ui.search.ElementQuerySpecification; 22 import org.eclipse.jdt.ui.search.QuerySpecification; 23 24 import org.eclipse.jdt.internal.ui.IJavaHelpContextIds; 25 import org.eclipse.jdt.internal.ui.JavaPluginImages; 26 import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor; 27 import org.eclipse.jdt.internal.ui.search.JavaSearchScopeFactory; 28 import org.eclipse.jdt.internal.ui.search.SearchMessages; 29 import org.eclipse.jdt.internal.ui.search.SearchUtil; 30 31 32 42 public class FindReferencesInWorkingSetAction extends FindReferencesAction { 43 44 private IWorkingSet[] fWorkingSets; 45 46 54 public FindReferencesInWorkingSetAction(IWorkbenchSite site) { 55 this(site, null); 56 } 57 58 66 public FindReferencesInWorkingSetAction(IWorkbenchSite site, IWorkingSet[] workingSets) { 67 super(site); 68 fWorkingSets= workingSets; 69 } 70 71 75 public FindReferencesInWorkingSetAction(JavaEditor editor) { 76 this(editor, null); 77 } 78 79 84 public FindReferencesInWorkingSetAction(JavaEditor editor, IWorkingSet[] workingSets) { 85 super(editor); 86 fWorkingSets= workingSets; 87 } 88 89 void init() { 90 setText(SearchMessages.Search_FindReferencesInWorkingSetAction_label); 91 setToolTipText(SearchMessages.Search_FindReferencesInWorkingSetAction_tooltip); 92 setImageDescriptor(JavaPluginImages.DESC_OBJS_SEARCH_REF); 93 PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IJavaHelpContextIds.FIND_REFERENCES_IN_WORKING_SET_ACTION); 94 } 95 96 QuerySpecification createQuery(IJavaElement element) throws JavaModelException, InterruptedException { 97 JavaSearchScopeFactory factory= JavaSearchScopeFactory.getInstance(); 98 99 IWorkingSet[] workingSets= fWorkingSets; 100 if (fWorkingSets == null) { 101 workingSets= factory.queryWorkingSets(); 102 if (workingSets == null) 103 return super.createQuery(element); } 105 SearchUtil.updateLRUWorkingSets(workingSets); 106 IJavaSearchScope scope= factory.createJavaSearchScope(workingSets, true); 107 String description= factory.getWorkingSetScopeDescription(workingSets, true); 108 return new ElementQuerySpecification(element, getLimitTo(), scope, description); 109 } 110 } 111 | Popular Tags |