/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.structure; import com.intellij.ide.structureView.StructureViewBuilder; import com.intellij.ide.structureView.StructureViewModel; import com.intellij.ide.structureView.TreeBasedStructureViewBuilder; import com.intellij.lang.PsiStructureViewFactory; import com.intellij.psi.PsiFile; import gw.plugin.ij.lang.psi.IGosuFileBase; import org.jetbrains.annotations.NotNull; public class GosuStructureViewFactory implements PsiStructureViewFactory { public StructureViewBuilder getStructureViewBuilder(final PsiFile psiFile) { if (!(psiFile instanceof IGosuFileBase)) return null; return new TreeBasedStructureViewBuilder() { @NotNull public StructureViewModel createStructureViewModel() { return new GosuStructureViewModel((IGosuFileBase) psiFile); } }; } }