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 41 public class FindImplementorsInWorkingSetAction extends FindImplementorsAction { 42 43 private IWorkingSet[] fWorkingSets; 44 45 53 public FindImplementorsInWorkingSetAction(IWorkbenchSite site) { 54 super(site); 55 } 56 57 65 public FindImplementorsInWorkingSetAction(IWorkbenchSite site, IWorkingSet[] workingSets) { 66 this(site); 67 fWorkingSets= workingSets; 68 } 69 70 74 public FindImplementorsInWorkingSetAction(JavaEditor editor) { 75 super(editor); 76 } 77 78 83 public FindImplementorsInWorkingSetAction(JavaEditor editor, IWorkingSet[] workingSets) { 84 this(editor); 85 fWorkingSets= workingSets; 86 } 87 88 void init() { 89 setText(SearchMessages.Search_FindImplementorsInWorkingSetAction_label); 90 setToolTipText(SearchMessages.Search_FindImplementorsInWorkingSetAction_tooltip); 91 setImageDescriptor(JavaPluginImages.DESC_OBJS_SEARCH_DECL); 92 PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IJavaHelpContextIds.FIND_IMPLEMENTORS_IN_WORKING_SET_ACTION); 93 } 94 95 QuerySpecification createQuery(IJavaElement element) throws JavaModelException, InterruptedException { 96 JavaSearchScopeFactory factory= JavaSearchScopeFactory.getInstance(); 97 98 IWorkingSet[] workingSets= fWorkingSets; 99 if (fWorkingSets == null) { 100 workingSets= factory.queryWorkingSets(); 101 if (workingSets == null) 102 return super.createQuery(element); } 104 SearchUtil.updateLRUWorkingSets(workingSets); 105 IJavaSearchScope scope= factory.createJavaSearchScope(workingSets, true); 106 String description= factory.getWorkingSetScopeDescription(workingSets, true); 107 return new ElementQuerySpecification(element, getLimitTo(), scope, description); 108 } 109 110 } 111 112 | Popular Tags |