mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Fix for 103318: All References search is disabled
This commit is contained in:
parent
f440bfe5de
commit
eb486d9b9a
1 changed files with 4 additions and 41 deletions
|
@ -13,19 +13,13 @@ package org.eclipse.cdt.internal.ui.search.actions;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
|
||||||
import org.eclipse.cdt.core.index.ICDTIndexer;
|
|
||||||
import org.eclipse.cdt.core.model.ICElement;
|
|
||||||
import org.eclipse.cdt.internal.ui.editor.CEditor;
|
import org.eclipse.cdt.internal.ui.editor.CEditor;
|
||||||
import org.eclipse.cdt.internal.ui.editor.ExternalSearchEditor;
|
import org.eclipse.cdt.internal.ui.editor.ExternalSearchEditor;
|
||||||
import org.eclipse.cdt.internal.ui.editor.ICEditorActionDefinitionIds;
|
import org.eclipse.cdt.internal.ui.editor.ICEditorActionDefinitionIds;
|
||||||
import org.eclipse.cdt.internal.ui.search.CSearchMessages;
|
import org.eclipse.cdt.internal.ui.search.CSearchMessages;
|
||||||
import org.eclipse.cdt.internal.ui.search.CSearchUtil;
|
import org.eclipse.cdt.internal.ui.search.CSearchUtil;
|
||||||
import org.eclipse.core.resources.IProject;
|
|
||||||
import org.eclipse.jface.action.IMenuManager;
|
import org.eclipse.jface.action.IMenuManager;
|
||||||
import org.eclipse.jface.action.MenuManager;
|
import org.eclipse.jface.action.MenuManager;
|
||||||
import org.eclipse.jface.viewers.ISelection;
|
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
|
||||||
import org.eclipse.search.ui.IContextMenuConstants;
|
import org.eclipse.search.ui.IContextMenuConstants;
|
||||||
import org.eclipse.ui.IWorkbenchSite;
|
import org.eclipse.ui.IWorkbenchSite;
|
||||||
import org.eclipse.ui.IWorkingSet;
|
import org.eclipse.ui.IWorkingSet;
|
||||||
|
@ -78,28 +72,8 @@ public class ReferencesSearchGroup extends ActionGroup {
|
||||||
menu.appendToGroup(ITextEditorActionConstants.GROUP_FIND, refsMenu);
|
menu.appendToGroup(ITextEditorActionConstants.GROUP_FIND, refsMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fEditor != null){
|
|
||||||
ICElement celement = fEditor.getInputCElement();
|
// /setReferenceMenuEnabled();
|
||||||
ICDTIndexer indexer = CCorePlugin.getDefault().getCoreModel().getIndexManager().getIndexerForProject(celement.getCProject().getProject());
|
|
||||||
if (indexer != null){
|
|
||||||
setReferenceMenuEnabled(indexer.getIndexerFeatures());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (fSite != null){
|
|
||||||
try {
|
|
||||||
ISelection sel =fSite.getSelectionProvider().getSelection();
|
|
||||||
if (sel instanceof IStructuredSelection){
|
|
||||||
IStructuredSelection structSel = (IStructuredSelection) sel;
|
|
||||||
Object cElement = structSel.getFirstElement();
|
|
||||||
if (cElement instanceof ICElement){
|
|
||||||
ICElement el = (ICElement) cElement;
|
|
||||||
IProject proj = el.getCProject().getProject();
|
|
||||||
ICDTIndexer indexer = CCorePlugin.getDefault().getCoreModel().getIndexManager().getIndexerForProject(proj);
|
|
||||||
setReferenceMenuEnabled(indexer.getIndexerFeatures());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (NullPointerException err){/* Safety */}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
incomingMenu.add(refsMenu);
|
incomingMenu.add(refsMenu);
|
||||||
|
@ -115,17 +89,6 @@ public class ReferencesSearchGroup extends ActionGroup {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setReferenceMenuEnabled(int indexFeatures){
|
|
||||||
if ((indexFeatures & ICDTIndexer._REFERENCES) == ICDTIndexer._REFERENCES){
|
|
||||||
//references for this indexer
|
|
||||||
fFindRefsAction.setEnabled(true);
|
|
||||||
fFindRefsInWorkingSetAction.setEnabled(true);
|
|
||||||
} else {
|
|
||||||
//no references for this indexer
|
|
||||||
fFindRefsAction.setEnabled(false);
|
|
||||||
fFindRefsInWorkingSetAction.setEnabled(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue