diff options
Diffstat (limited to 'sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java')
-rw-r--r-- | sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java index a5f45e6b26b..ac7b79c8dd3 100644 --- a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java +++ b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java @@ -8,61 +8,63 @@ import com.intellij.navigation.ItemPresentation; import com.intellij.psi.NavigatablePsiElement; import com.intellij.psi.PsiElement; import org.intellij.sdk.language.SdUtil; +import org.intellij.sdk.language.psi.SdDocumentAnnotationDefinition; import org.intellij.sdk.language.psi.SdDocumentDefinition; import org.intellij.sdk.language.psi.SdDocumentStructDefinition; import org.intellij.sdk.language.psi.SdDocumentSummaryDefinition; import org.intellij.sdk.language.psi.SdFile; import org.intellij.sdk.language.psi.SdRankProfileDefinition; +import org.intellij.sdk.language.psi.SdSchemaAnnotationDefinition; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; public class SdStructureViewElement implements StructureViewTreeElement, SortableTreeElement { - + private final NavigatablePsiElement myElement; - + public SdStructureViewElement(NavigatablePsiElement element) { this.myElement = element; } - + @Override public Object getValue() { return myElement; } - + @Override public void navigate(boolean requestFocus) { myElement.navigate(requestFocus); } - + @Override public boolean canNavigate() { return myElement.canNavigate(); } - + @Override public boolean canNavigateToSource() { return myElement.canNavigateToSource(); } - + @NotNull @Override public String getAlphaSortKey() { String name = myElement.getName(); return name != null ? name : ""; } - + @NotNull @Override public ItemPresentation getPresentation() { ItemPresentation presentation = myElement.getPresentation(); return presentation != null ? presentation : new PresentationData(); } - + @Override public TreeElement @NotNull [] getChildren() { - List<PsiElement> children = new ArrayList<>();; + List<PsiElement> children = new ArrayList<>(); if (myElement instanceof SdFile) { children = SdUtil.findSchemaChildren(myElement); } else if (myElement instanceof SdDocumentDefinition) { @@ -73,6 +75,9 @@ public class SdStructureViewElement implements StructureViewTreeElement, Sortabl children = SdUtil.findRankProfileChildren(myElement); } else if (myElement instanceof SdDocumentSummaryDefinition) { children = SdUtil.findDocumentSummaryChildren(myElement); + } else if (myElement instanceof SdSchemaAnnotationDefinition || + myElement instanceof SdDocumentAnnotationDefinition) { + children = SdUtil.findAnnotationChildren(myElement); } List<TreeElement> treeElements = new ArrayList<>(children.size()); |