Mark deprecated items in StructureView

This commit is contained in:
Natalia.Ukhorskaya
2012-10-19 15:50:09 +04:00
parent aa28a03f61
commit fe689f5e11
@@ -18,12 +18,16 @@ package org.jetbrains.jet.plugin.structureView;
import com.intellij.ide.structureView.StructureViewTreeElement;
import com.intellij.ide.util.treeView.smartTree.TreeElement;
import com.intellij.navigation.ColoredItemPresentation;
import com.intellij.navigation.ItemPresentation;
import com.intellij.openapi.editor.colors.CodeInsightColors;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.NavigatablePsiElement;
import com.intellij.util.Function;
import com.intellij.util.PsiIconUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.BindingContext;
@@ -80,7 +84,7 @@ public class JetStructureViewElement implements StructureViewTreeElement {
@Override
public ItemPresentation getPresentation() {
return new ItemPresentation() {
return new ColoredItemPresentation() {
@Override
public String getPresentableText() {
if (elementText == null) {
@@ -103,6 +107,15 @@ public class JetStructureViewElement implements StructureViewTreeElement {
return null;
}
@Nullable
@Override
public TextAttributesKey getTextAttributesKey() {
if (myElement instanceof JetModifierListOwner && JetPsiUtil.isDeprecated((JetModifierListOwner) myElement)) {
return CodeInsightColors.DEPRECATED_ATTRIBUTES;
}
return null;
}
};
}