Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,70 +1,62 @@
package consulo.msil.impl.ide.presentation;

import consulo.annotation.access.RequiredReadAction;
import consulo.annotation.component.ExtensionImpl;
import consulo.component.util.Iconable;
import consulo.dotnet.psi.DotNetElementPresentationUtil;
import consulo.dotnet.psi.DotNetTypeDeclaration;
import consulo.language.icon.IconDescriptorUpdaters;
import consulo.localize.LocalizeValue;
import consulo.msil.lang.psi.MsilClassEntry;
import consulo.navigation.ItemPresentation;
import consulo.navigation.ItemPresentationProvider;
import consulo.ui.image.Image;
import consulo.util.lang.StringUtil;

import org.jspecify.annotations.Nullable;

/**
* @author VISTALL
* @since 05.07.2015
* @since 2015-07-05
*/
@ExtensionImpl
public class MsilClassItemPresentationProvider implements ItemPresentationProvider<MsilClassEntry>
{
private static class Item implements ItemPresentation
{
private final DotNetTypeDeclaration myDeclaration;

public Item(DotNetTypeDeclaration declaration)
{
myDeclaration = declaration;
}

@Nullable
@Override
public String getPresentableText()
{
return DotNetElementPresentationUtil.formatTypeWithGenericParameters(myDeclaration);
}

@Nullable
@Override
public String getLocationString()
{
String presentableParentQName = myDeclaration.getPresentableParentQName();
if(StringUtil.isEmpty(presentableParentQName))
{
return null;
}
return "(" + presentableParentQName + ")";
}

@Nullable
@Override
public Image getIcon()
{
return IconDescriptorUpdaters.getIcon(myDeclaration, Iconable.ICON_FLAG_VISIBILITY);
}
}

@Override
public Class<MsilClassEntry> getItemClass()
{
return MsilClassEntry.class;
}

@Override
public ItemPresentation getPresentation(MsilClassEntry item)
{
return new Item((DotNetTypeDeclaration) item);
}
public class MsilClassItemPresentationProvider implements ItemPresentationProvider<MsilClassEntry> {
private static class Item implements ItemPresentation {
private final DotNetTypeDeclaration myDeclaration;

public Item(DotNetTypeDeclaration declaration) {
myDeclaration = declaration;
}

@Override
@RequiredReadAction
public LocalizeValue getPresentableText() {
return LocalizeValue.of(DotNetElementPresentationUtil.formatTypeWithGenericParameters(myDeclaration));
}

@Override
@RequiredReadAction
public @Nullable String getLocationString() {
String presentableParentQName = myDeclaration.getPresentableParentQName();
if (StringUtil.isEmpty(presentableParentQName)) {
return null;
}
return "(" + presentableParentQName + ")";
}

@Override
@RequiredReadAction
public @Nullable Image getIcon() {
return IconDescriptorUpdaters.getIcon(myDeclaration, Iconable.ICON_FLAG_VISIBILITY);
}
}

@Override
public Class<MsilClassEntry> getItemClass() {
return MsilClassEntry.class;
}

@Override
public ItemPresentation getPresentation(MsilClassEntry item) {
return new Item(item);
}
}
Loading