本文整理汇总了Java中com.intellij.navigation.ChooseByNameContributor类的典型用法代码示例。如果您正苦于以下问题:Java ChooseByNameContributor类的具体用法?Java ChooseByNameContributor怎么用?Java ChooseByNameContributor使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ChooseByNameContributor类属于com.intellij.navigation包,在下文中一共展示了ChooseByNameContributor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getFullName
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
@Override
public String getFullName(final Object element) {
for(ChooseByNameContributor c: getContributors()) {
if (c instanceof GotoClassContributor) {
String result = ((GotoClassContributor) c).getQualifiedName((NavigationItem) element);
if (result != null) {
return result;
}
}
}
String elementName = getElementName(element);
if (elementName == null) return null;
if (element instanceof PsiElement) {
return SymbolPresentationUtil.getSymbolContainerText((PsiElement)element) + "." + elementName;
}
return elementName;
}
示例2: getFullName
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
@Override
public String getFullName(final Object element) {
for(ChooseByNameContributor c: getContributors()) {
if (c instanceof GotoClassContributor) {
String result = ((GotoClassContributor) c).getQualifiedName((NavigationItem) element);
if (result != null) return result;
}
}
if (element instanceof PsiElement) {
final PsiElement psiElement = (PsiElement)element;
final String containerText = SymbolPresentationUtil.getSymbolContainerText(psiElement);
return containerText + "." + getElementName(element);
}
return getElementName(element);
}
示例3: createLink
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
@Override
public String createLink(Project project) {
for(ChooseByNameContributor contributor: ChooseByNameRegistry.getInstance().getClassModelContributors()) {
NavigationItem[] byName = contributor.getItemsByName(fileName, fileName, project, true);
if(byName.length > 0) {
StringBuffer buf = new StringBuffer();
buf.append("goto:c=");
buf.append(EntityQuery.encode(className));
buf.append("&f=");
buf.append(EntityQuery.encode(fileName));
if(line > 0) {
buf.append("&l=");
buf.append(line);
}
if(methodName != null) {
buf.append("&m=");
buf.append(EntityQuery.encode(methodName));
}
return buf.toString();
}
}
return null;
}
示例4: filterDumb
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
private List<ChooseByNameContributor> filterDumb(ChooseByNameContributor[] contributors) {
if (!DumbService.getInstance(myProject).isDumb()) return Arrays.asList(contributors);
List<ChooseByNameContributor> answer = new ArrayList<ChooseByNameContributor>(contributors.length);
for (ChooseByNameContributor contributor : contributors) {
if (DumbService.isDumbAware(contributor)) {
answer.add(contributor);
}
}
return answer;
}
示例5: getFullName
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
@Override
public String getFullName(final Object element) {
if (element instanceof PsiElement && !((PsiElement)element).isValid()) {
return null;
}
for (ChooseByNameContributor c : getContributors()) {
if (c instanceof GotoClassContributor) {
String result = ((GotoClassContributor)c).getQualifiedName((NavigationItem)element);
if (result != null) return result;
}
}
return getElementName(element);
}
示例6: getSeparatorsFromContributors
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
public static String[] getSeparatorsFromContributors(ChooseByNameContributor[] contributors) {
final Set<String> separators = new HashSet<String>();
separators.add(".");
for(ChooseByNameContributor c: contributors) {
if (c instanceof GotoClassContributor) {
ContainerUtil.addIfNotNull(separators, ((GotoClassContributor)c).getQualifiedNameSeparator());
}
}
return ArrayUtil.toStringArray(separators);
}
示例7: getFullName
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
@Override
public String getFullName(final Object element) {
for(ChooseByNameContributor c: getContributors()) {
if (c instanceof GotoClassContributor) {
String result = ((GotoClassContributor) c).getQualifiedName((NavigationItem) element);
if (result != null) return result;
}
}
return getElementName(element);
}
示例8: getSeparatorsFromContributors
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
public static String[] getSeparatorsFromContributors(ChooseByNameContributor[] contributors) {
final Set<String> separators = new HashSet<String>();
separators.add(".");
for(ChooseByNameContributor c: contributors) {
if (c instanceof GotoClassContributor) {
separators.add(((GotoClassContributor)c).getQualifiedNameSeparator());
}
}
return separators.toArray(new String[separators.size()]);
}
示例9: gotoActionPerformed
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
@Override
protected void gotoActionPerformed(AnActionEvent paramAnActionEvent) {
FeatureUsageTracker.getInstance().triggerFeatureUsed("navigation.popup.file");
Project localProject = paramAnActionEvent.getData(CommonDataKeys.PROJECT);
if (localProject != null) {
SymfonySymbolSearchModel searchModel = new SymfonySymbolSearchModel(localProject, new ChooseByNameContributor[] { new Symfony2NavigationContributor(localProject) });
showNavigationPopup(paramAnActionEvent, searchModel, new MyGotoCallback(), null, true);
}
}
示例10: evaluate
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
private static Editor evaluate(Project project, String link, boolean navigate) {
Map<String, String> query = parseQuery(link);
String className = query.get("c");
int line = query.containsKey("l")? Integer.valueOf(query.get("l")): 0;
String file = query.get("f");
String methodName = query.get("m");
for(ChooseByNameContributor contributor: ChooseByNameRegistry.getInstance().getClassModelContributors()) {
NavigationItem[] byName = contributor.getItemsByName(file, file, project, true);
NavigationItem item = matchClass(byName, className);
if(item != null) {
if(!navigate) {
return null;
}
if(item instanceof PsiClass && methodName != null) {
for(PsiMethod method: ((PsiClass)item).getMethods()) {
if(method.getName().equals(methodName)) {
project.getComponent(EditSourceUtil.class).navigate(method, true, true);
return project.getComponent(FileEditorManager.class).getSelectedTextEditor();
}
}
}
project.getComponent(EditSourceUtil.class).navigate(item, true, true);
Editor editor = project.getComponent(FileEditorManager.class).getSelectedTextEditor();
if(line > 0) {
if(editor != null /* && !editor.getDocument().getText().startsWith(PsiBundle.message("psi.decompiled.text.header")) */) { // TODO: string missing since commit 02ca2bd104e91420543cf8c19b2c6a9cbb6c5ab7
editor.getCaretModel().moveToLogicalPosition(new LogicalPosition(line - 1, 0));
editor.getScrollingModel().scrollToCaret(ScrollType.CENTER);
editor.getSelectionModel().removeSelection();
}
}
return editor;
}
}
return null;
}
示例11: processImplementations
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
public static void processImplementations(ThriftDefinitionName definitionName, @NotNull Processor<NavigatablePsiElement> processor) {
String name = definitionName.getText();
for (ChooseByNameContributor contributor : ChooseByNameRegistry.getInstance().getClassModelContributors()) {
if (!(contributor instanceof ThriftClassContributor)) {
for (NavigationItem navigationItem : contributor.getItemsByName(name, name, definitionName.getProject(), false)) {
if (navigationItem instanceof NavigatablePsiElement && !processor.process((NavigatablePsiElement)navigationItem)) {
return;
}
}
}
}
}
示例12: getSeparatorsFromContributors
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
public static String[] getSeparatorsFromContributors(ChooseByNameContributor[] contributors) {
final Set<String> separators = new HashSet<>();
separators.add(".");
for(ChooseByNameContributor c: contributors) {
if (c instanceof GotoClassContributor) {
ContainerUtil.addIfNotNull(separators, ((GotoClassContributor)c).getQualifiedNameSeparator());
}
}
return separators.toArray(new String[separators.size()]);
}
示例13: SearchFilterModel
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
protected SearchFilterModel(@NotNull Project project, @NotNull ChooseByNameContributor[] contributors) {
super(project, contributors);
}
示例14: SearchStringModel
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
public SearchStringModel(@NotNull Project project) {
super(project, Extensions.getExtensions(ChooseByNameContributor.SYMBOL_EP_NAME));
}
示例15: ContributorsBasedGotoByModel
import com.intellij.navigation.ChooseByNameContributor; //导入依赖的package包/类
protected ContributorsBasedGotoByModel(@NotNull Project project, @NotNull ChooseByNameContributor[] contributors) {
myProject = project;
myContributors = contributors;
assert !Arrays.asList(contributors).contains(null);
}