Providing icons for package classes
This commit is contained in:
@@ -28,6 +28,7 @@ import com.intellij.util.containers.ContainerUtil;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.asJava.JetLightClass;
|
import org.jetbrains.jet.asJava.JetLightClass;
|
||||||
|
import org.jetbrains.jet.asJava.KotlinLightClassForPackage;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
import org.jetbrains.jet.lexer.JetTokens;
|
import org.jetbrains.jet.lexer.JetTokens;
|
||||||
|
|
||||||
@@ -66,15 +67,19 @@ public class JetIconProvider extends IconProvider {
|
|||||||
if ((flags & Iconable.ICON_FLAG_VISIBILITY) > 0 && psiElement instanceof JetModifierListOwner) {
|
if ((flags & Iconable.ICON_FLAG_VISIBILITY) > 0 && psiElement instanceof JetModifierListOwner) {
|
||||||
JetModifierList list = ((JetModifierListOwner) psiElement).getModifierList();
|
JetModifierList list = ((JetModifierListOwner) psiElement).getModifierList();
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
RowIcon rowIcon = new RowIcon(2);
|
result = createRowIcon(result, getVisibilityIcon(list));
|
||||||
rowIcon.setIcon(result, 0);
|
|
||||||
rowIcon.setIcon(getVisibilityIcon(list), 1);
|
|
||||||
result = rowIcon;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static RowIcon createRowIcon(Icon baseIcon, Icon visibilityIcon) {
|
||||||
|
RowIcon rowIcon = new RowIcon(2);
|
||||||
|
rowIcon.setIcon(baseIcon, 0);
|
||||||
|
rowIcon.setIcon(visibilityIcon, 1);
|
||||||
|
return rowIcon;
|
||||||
|
}
|
||||||
|
|
||||||
public static Icon getVisibilityIcon(JetModifierList list) {
|
public static Icon getVisibilityIcon(JetModifierList list) {
|
||||||
if (list.hasModifier(JetTokens.PRIVATE_KEYWORD)) {
|
if (list.hasModifier(JetTokens.PRIVATE_KEYWORD)) {
|
||||||
return PlatformIcons.PRIVATE_ICON;
|
return PlatformIcons.PRIVATE_ICON;
|
||||||
@@ -92,6 +97,11 @@ public class JetIconProvider extends IconProvider {
|
|||||||
if (psiElement instanceof JetNamespaceHeader) {
|
if (psiElement instanceof JetNamespaceHeader) {
|
||||||
return PlatformIcons.PACKAGE_ICON;
|
return PlatformIcons.PACKAGE_ICON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (psiElement instanceof KotlinLightClassForPackage) {
|
||||||
|
return JetIcons.FILE;
|
||||||
|
}
|
||||||
|
|
||||||
if (psiElement instanceof JetNamedFunction) {
|
if (psiElement instanceof JetNamedFunction) {
|
||||||
if (((JetFunction) psiElement).getReceiverTypeRef() != null) {
|
if (((JetFunction) psiElement).getReceiverTypeRef() != null) {
|
||||||
return JetIcons.EXTENSION_FUNCTION;
|
return JetIcons.EXTENSION_FUNCTION;
|
||||||
|
|||||||
Reference in New Issue
Block a user