public DomElementsToggleAction(final DomModelTreeView treeView, final Class aClass) { myTreeView = treeView; myClass = aClass; Icon myIcon = ElementPresentationManager.getIcon(myClass); if (myIcon == null) { myIcon = AllIcons.Nodes.Pointcut; } this.myIcon = myIcon; myText = TypePresentationService.getService().getTypePresentableName(myClass); if (getHiders() == null) DomUtil.getFile(myTreeView.getRootElement()) .putUserData(AbstractDomElementNode.TREE_NODES_HIDERS_KEY, new HashMap<>()); if (getHiders().get(myClass) == null) getHiders().put(myClass, true); }
@Override @NotNull public String getType(@NotNull PsiElement element) { if (element instanceof PsiDirectory) { return LangBundle.message("terms.directory"); } if (element instanceof PsiFile) { return LangBundle.message("terms.file"); } if (ThrowSearchUtil.isSearchable(element)) { return LangBundle.message("java.terms.exception"); } if (element instanceof PsiPackage) { return LangBundle.message("java.terms.package"); } if (element instanceof PsiLabeledStatement) { return LangBundle.message("java.terms.label"); } if (element instanceof PsiClass) { if (((PsiClass) element).isAnnotationType()) { return LangBundle.message("java.terms.annotation.interface"); } if (((PsiClass) element).isEnum()) { return LangBundle.message("java.terms.enum"); } if (((PsiClass) element).isInterface()) { return LangBundle.message("java.terms.interface"); } if (element instanceof PsiTypeParameter) { return LangBundle.message("java.terms.type.parameter"); } return LangBundle.message("java.terms.class"); } if (element instanceof PsiField) { return LangBundle.message("java.terms.field"); } if (element instanceof PsiParameter) { return LangBundle.message("java.terms.parameter"); } if (element instanceof PsiLocalVariable) { return LangBundle.message("java.terms.variable"); } if (element instanceof PsiMethod) { final PsiMethod psiMethod = (PsiMethod) element; final boolean isConstructor = psiMethod.isConstructor(); if (isConstructor) { return LangBundle.message("java.terms.constructor"); } return LangBundle.message("java.terms.method"); } if (element instanceof PsiExpression) { return LangBundle.message("java.terms.expression"); } if (element instanceof PsiJavaModule) { return LangBundle.message("java.terms.module"); } final String name = TypePresentationService.getService().getTypePresentableName(element.getClass()); if (name != null) { return name; } return ""; }