本文整理汇总了Java中com.intellij.ide.util.PsiElementListCellRenderer类的典型用法代码示例。如果您正苦于以下问题:Java PsiElementListCellRenderer类的具体用法?Java PsiElementListCellRenderer怎么用?Java PsiElementListCellRenderer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PsiElementListCellRenderer类属于com.intellij.ide.util包,在下文中一共展示了PsiElementListCellRenderer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@Override
public PsiElementListCellRenderer getRenderer(@NotNull final PsiElement element, @NotNull GotoTargetHandler.GotoData gotoData) {
if (element instanceof PsiMethod) {
return new MethodCellRenderer(gotoData.hasDifferentNames());
}
else if (element instanceof PsiClass) {
return new PsiClassListCellRenderer();
}
return null;
}
示例2: chooseTargetClass
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
private void chooseTargetClass(List<PsiClass> classes, final Editor editor) {
final PsiClass firstClass = classes.get(0);
final Project project = firstClass.getProject();
final JList list = new JBList(classes);
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setCellRenderer(renderer);
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
renderer.installSpeedSearch(builder);
final PsiClass preselection = AnonymousTargetClassPreselectionUtil.getPreselection(classes, firstClass);
if (preselection != null) {
list.setSelectedValue(preselection, true);
}
Runnable runnable = new Runnable() {
@Override
public void run() {
int index = list.getSelectedIndex();
if (index < 0) return;
final PsiClass aClass = (PsiClass) list.getSelectedValue();
AnonymousTargetClassPreselectionUtil.rememberSelection(aClass, firstClass);
CommandProcessor.getInstance().executeCommand(project, new Runnable() {
@Override
public void run() {
doInvoke(project, aClass);
}
}, getText(), null);
}
};
builder.
setTitle(QuickFixBundle.message("target.class.chooser.title")).
setItemChoosenCallback(runnable).
createPopup().
showInBestPositionFor(editor);
}
示例3: getRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
private static PsiElementListCellRenderer getRenderer(Object value,
Map<Object, PsiElementListCellRenderer> targetsWithRenderers,
GotoData gotoData) {
PsiElementListCellRenderer renderer = targetsWithRenderers.get(value);
if (renderer == null) {
renderer = gotoData.getRenderer(value);
}
if (renderer != null) {
return renderer;
}
else {
return ourDefaultTargetElementRenderer;
}
}
示例4: createRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@NotNull
public static PsiElementListCellRenderer createRenderer(@NotNull GotoData gotoData, @NotNull PsiElement eachTarget) {
PsiElementListCellRenderer renderer = null;
for (GotoTargetRendererProvider eachProvider : Extensions.getExtensions(GotoTargetRendererProvider.EP_NAME)) {
renderer = eachProvider.getRenderer(eachTarget, gotoData);
if (renderer != null) break;
}
if (renderer == null) {
renderer = ourDefaultTargetElementRenderer;
}
return renderer;
}
示例5: getPsiElementPopup
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@NotNull
public static JBPopup getPsiElementPopup(@NotNull PsiElement[] elements,
@NotNull final PsiElementListCellRenderer<PsiElement> renderer,
final String title) {
return getPsiElementPopup(elements, renderer, title, new PsiElementProcessor<PsiElement>() {
@Override
public boolean execute(@NotNull final PsiElement element) {
Navigatable descriptor = EditSourceUtil.getDescriptor(element);
if (descriptor != null && descriptor.canNavigate()) {
descriptor.navigate(true);
}
return true;
}
});
}
示例6: createGutterIconRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
private MyNavigationGutterIconRenderer createGutterIconRenderer(@NotNull final Project project) {
checkBuilt();
NotNullLazyValue<List<SmartPsiElementPointer>> pointers = createPointersThunk(myLazy, project, evaluateAndForget(myTargets),
myConverter);
final boolean empty = isEmpty();
if (myTooltipText == null && !myLazy) {
final SortedSet<String> names = new TreeSet<String>();
for (T t : myTargets.getValue()) {
final String text = myNamer.fun(t);
if (text != null) {
names.add(MessageFormat.format(PATTERN, text));
}
}
@NonNls StringBuilder sb = new StringBuilder("<html><body>");
if (myTooltipTitle != null) {
sb.append(myTooltipTitle).append("<br>");
}
for (String name : names) {
sb.append(name).append("<br>");
}
sb.append("</body></html>");
myTooltipText = sb.toString();
}
Computable<PsiElementListCellRenderer> renderer =
myCellRenderer == null ? new Computable<PsiElementListCellRenderer>() {
@Override
public PsiElementListCellRenderer compute() {
return new DefaultPsiElementCellRenderer();
}
} : myCellRenderer;
return new MyNavigationGutterIconRenderer(this, myAlignment, myIcon, myTooltipText, pointers, renderer, empty);
}
示例7: MyNavigationGutterIconRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
public MyNavigationGutterIconRenderer(@NotNull NavigationGutterIconBuilder builder,
final Alignment alignment,
final Icon icon,
@Nullable final String tooltipText,
@NotNull NotNullLazyValue<List<SmartPsiElementPointer>> pointers,
Computable<PsiElementListCellRenderer> cellRenderer,
boolean empty) {
super(builder.myPopupTitle, builder.myEmptyText, cellRenderer, pointers);
myAlignment = alignment;
myIcon = icon;
myTooltipText = tooltipText;
myEmpty = empty;
}
示例8: NavigationGutterIconRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
protected NavigationGutterIconRenderer(final String popupTitle, final String emptyText, @NotNull Computable<PsiElementListCellRenderer> cellRenderer,
@NotNull NotNullLazyValue<List<SmartPsiElementPointer>> pointers) {
myPopupTitle = popupTitle;
myEmptyText = emptyText;
myCellRenderer = cellRenderer;
myPointers = pointers;
}
示例9: getRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@Override
public PsiElementListCellRenderer getRenderer(@NotNull PsiElement element, @NotNull GotoTargetHandler.GotoData gotoData) {
if (element instanceof XmlTagImpl) {
if (SchemaDefinitionsSearch.isTypeElement((XmlTagImpl)element)) {
return new MyRenderer("");
} else if (SchemaDefinitionsSearch.isElementWithSomeEmbeddedType((XmlTagImpl)element)) {
return new MyRenderer("xsd:element: ");
}
}
return null;
}
示例10: chooseClass
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
private void chooseClass(List<PsiClass> classes, Editor editor) {
final Project project = classes.get(0).getProject();
final JList list = new JBList(classes);
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setCellRenderer(renderer);
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
renderer.installSpeedSearch(builder);
Runnable runnable = new Runnable() {
@Override
public void run() {
int index = list.getSelectedIndex();
if (index < 0) return;
final PsiClass aClass = (PsiClass)list.getSelectedValue();
CommandProcessor.getInstance().executeCommand(project, new Runnable() {
@Override
public void run() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
invokeImpl(project, aClass);
}
});
}
}, getText(), null);
}
};
builder.
setTitle(QuickFixBundle.message("target.class.chooser.title")).
setItemChoosenCallback(runnable).
createPopup().
showInBestPositionFor(editor);
}
示例11: getRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@Override
public PsiElementListCellRenderer getRenderer(final PsiElement element, GotoTargetHandler.GotoData gotoData) {
if (element instanceof PsiMethod) {
return new MethodCellRenderer(gotoData.hasDifferentNames());
}
else if (element instanceof PsiClass) {
return new PsiClassListCellRenderer();
}
return null;
}
示例12: chooseTargetClass
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
private void chooseTargetClass(List<PsiClass> classes, final Editor editor) {
final Project project = classes.get(0).getProject();
final JList list = new JBList(classes);
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setCellRenderer(renderer);
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
renderer.installSpeedSearch(builder);
Runnable runnable = new Runnable() {
@Override
public void run() {
int index = list.getSelectedIndex();
if (index < 0) return;
final PsiClass aClass = (PsiClass) list.getSelectedValue();
CommandProcessor.getInstance().executeCommand(project, new Runnable() {
@Override
public void run() {
doInvoke(project, aClass);
}
}, getText(), null);
}
};
builder.
setTitle(QuickFixBundle.message("target.class.chooser.title")).
setItemChoosenCallback(runnable).
createPopup().
showInBestPositionFor(editor);
}
示例13: createRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
protected static PsiElementListCellRenderer createRenderer(GotoData gotoData, PsiElement eachTarget) {
PsiElementListCellRenderer renderer = null;
for (GotoTargetRendererProvider eachProvider : Extensions.getExtensions(GotoTargetRendererProvider.EP_NAME)) {
renderer = eachProvider.getRenderer(eachTarget, gotoData);
if (renderer != null) break;
}
if (renderer == null) {
renderer = ourDefaultTargetElementRenderer;
}
return renderer;
}
示例14: getRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@Override
public PsiElementListCellRenderer getRenderer(PsiElement element, GotoTargetHandler.GotoData gotoData) {
if (element instanceof XmlTagImpl) {
if (SchemaDefinitionsSearch.isTypeElement((XmlTagImpl)element)) {
return new MyRenderer("");
} else if (SchemaDefinitionsSearch.isElementWithSomeEmbeddedType((XmlTagImpl)element)) {
return new MyRenderer("xsd:element: ");
}
}
return null;
}
示例15: getRenderer
import com.intellij.ide.util.PsiElementListCellRenderer; //导入依赖的package包/类
@Nonnull
private PsiElementListCellRenderer getRenderer(Object value,
Map<Object, PsiElementListCellRenderer> targetsWithRenderers,
GotoData gotoData) {
PsiElementListCellRenderer renderer = targetsWithRenderers.get(value);
if (renderer == null) {
renderer = gotoData.getRenderer(value);
}
return renderer != null ? renderer : myDefaultTargetElementRenderer;
}