package org.consulo.coldFusion; import org.jetbrains.annotations.NotNull; import com.intellij.coldFusion.model.psi.CfmlPsiUtil; import com.intellij.coldFusion.model.psi.CfmlTag; import com.intellij.coldFusion.model.psi.impl.CfmlFunctionImpl; import com.intellij.coldFusion.model.psi.impl.CfmlTagFunctionImpl; import com.intellij.icons.AllIcons; import com.intellij.ide.IconDescriptor; import com.intellij.ide.IconDescriptorUpdater; import com.intellij.psi.PsiElement; import icons.CFMLIcons; /** * @author VISTALL * @since 08.10.13. */ public class CfmlIconDescriptorUpdater implements IconDescriptorUpdater { @Override public void updateIcon(@NotNull IconDescriptor iconDescriptor, @NotNull PsiElement element, int i) { if(element instanceof CfmlFunctionImpl) { iconDescriptor.setMainIcon(AllIcons.Nodes.Function); } else if(element instanceof CfmlTagFunctionImpl) { iconDescriptor.setMainIcon(AllIcons.Nodes.Function); String access = CfmlPsiUtil.getPureAttributeValue((CfmlTag) element, "access"); if(access != null) { access = access.toLowerCase(); if("private".equals(access)) { iconDescriptor.setRightIcon(AllIcons.Nodes.C_private); } else if("package".equals(access)) { iconDescriptor.setRightIcon(AllIcons.Nodes.C_plocal); } else if("public".equals(access)) { iconDescriptor.setRightIcon(AllIcons.Nodes.C_public); } else if("remote".equals(access)) { iconDescriptor.setRightIcon(CFMLIcons.Remote_access); } } } } }