diff options
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/FindRefsProjectAction.java')
-rw-r--r-- | core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/FindRefsProjectAction.java | 56 |
1 files changed, 23 insertions, 33 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/FindRefsProjectAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/FindRefsProjectAction.java index 22f8791ba92..8af66c7faa3 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/FindRefsProjectAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/FindRefsProjectAction.java @@ -10,15 +10,14 @@ *******************************************************************************/ package org.eclipse.cdt.internal.ui.search.actions; +import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICProject; -import org.eclipse.cdt.core.search.ICSearchConstants; -import org.eclipse.cdt.core.search.ICSearchScope; -import org.eclipse.cdt.core.search.LimitTo; -import org.eclipse.cdt.core.search.SearchEngine; import org.eclipse.cdt.internal.ui.editor.CEditor; import org.eclipse.cdt.internal.ui.search.CSearchMessages; -import org.eclipse.cdt.internal.ui.search.CSearchScopeFactory; +import org.eclipse.cdt.internal.ui.search.PDOMSearchQuery; +import org.eclipse.core.resources.IResource; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.IWorkbenchSite; @@ -41,46 +40,37 @@ public class FindRefsProjectAction extends FindAction { CSearchMessages.getString("CSearch.FindReferencesProjectAction.label"), //$NON-NLS-1$ CSearchMessages.getString("CSearch.FindReferencesProjectAction.tooltip")); //$NON-NLS-1$ } - /** - * @param site - * @param string - * @param string2 - * @param string3 - */ + public FindRefsProjectAction(IWorkbenchSite site, String label, String tooltip) { super(site); setText(label); setToolTipText(tooltip); } - /* (non-Javadoc) - * @see org.eclipse.cdt.internal.ui.editor.selsearch.FindAction#getScope(org.eclipse.core.resources.IProject) - */ - protected ICSearchScope getScope() { - - ICProject proj = null; - if (fEditor != null){ - proj= fEditor.getInputCElement().getCProject(); + + protected ICElement[] getScope() { + ICProject project = null; + if (fEditor != null) { + project = fEditor.getInputCElement().getCProject(); } else if (fSite != null){ - IStructuredSelection sel = (IStructuredSelection) getSelection(); - return CSearchScopeFactory.getInstance().createEnclosingProjectScope(sel); + ISelection selection = getSelection(); + if (selection instanceof IStructuredSelection) { + Object element = ((IStructuredSelection)selection).getFirstElement(); + if (element instanceof IResource) + project = CoreModel.getDefault().create(((IResource)element).getProject()); + else if (element instanceof ICElement) + project = ((ICElement)element).getCProject(); + } } - ICElement[] element = new ICElement[1]; - element[0]=proj; - return SearchEngine.createCSearchScope(element); + return project != null ? new ICElement[] { project } : null; } - /* (non-Javadoc) - * @see org.eclipse.cdt.internal.ui.editor.selsearch.FindAction#getScopeDescription() - */ + protected String getScopeDescription() { return CSearchMessages.getString("ProjectScope"); //$NON-NLS-1$ } - /* (non-Javadoc) - * @see org.eclipse.cdt.internal.ui.editor.selsearch.FindAction#getLimitTo() - */ - protected LimitTo getLimitTo() { - return ICSearchConstants.REFERENCES; - } + protected int getLimitTo() { + return PDOMSearchQuery.FIND_REFERENCES; + } } |