From 9bdda45a21d5f36eba118ca3a7b8725f52a7d5e9 Mon Sep 17 00:00:00 2001 From: Maxim Mossienko Date: Fri, 25 Sep 2009 20:42:36 +0400 Subject: [PATCH] WI-152 PHP structure view shows local vars + do not show html view when there is no meaningful content --- .../impl/TemplateLanguageStructureViewBuilder.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/structureView/impl/TemplateLanguageStructureViewBuilder.java b/platform/lang-impl/src/com/intellij/ide/structureView/impl/TemplateLanguageStructureViewBuilder.java index 152242e104d9..8abe03395ead 100644 --- a/platform/lang-impl/src/com/intellij/ide/structureView/impl/TemplateLanguageStructureViewBuilder.java +++ b/platform/lang-impl/src/com/intellij/ide/structureView/impl/TemplateLanguageStructureViewBuilder.java @@ -6,10 +6,7 @@ package com.intellij.ide.structureView.impl; import com.intellij.ide.IdeBundle; import com.intellij.ide.impl.StructureViewWrapperImpl; -import com.intellij.ide.structureView.StructureView; -import com.intellij.ide.structureView.StructureViewBuilder; -import com.intellij.ide.structureView.StructureViewFactoryEx; -import com.intellij.ide.structureView.StructureViewWrapper; +import com.intellij.ide.structureView.*; import com.intellij.ide.structureView.newStructureView.StructureViewComponent; import com.intellij.lang.Language; import com.intellij.lang.LanguageStructureViewBuilder; @@ -199,7 +196,7 @@ public abstract class TemplateLanguageStructureViewBuilder implements StructureV if (viewProvider == null) return null; final PsiFile dataFile = viewProvider.getPsi(language); - if (dataFile == null) return null; + if (dataFile == null || !isAcceptableBaseLanguageFile(dataFile)) return null; final PsiStructureViewFactory factory = LanguageStructureViewBuilder.INSTANCE.forLanguage(language); if (factory == null) return null; @@ -211,6 +208,10 @@ public abstract class TemplateLanguageStructureViewBuilder implements StructureV return new StructureViewComposite.StructureViewDescriptor(IdeBundle.message("tab.structureview.baselanguage.view", language.getDisplayName()), structureView, findFileType(language).getIcon()); } + protected boolean isAcceptableBaseLanguageFile(PsiFile dataFile) { + return true; + } + private void updateTemplateDataFileView() { new WriteCommandAction(myProject) { protected void run(Result result) throws Throwable {