From 093f05e035b068fd934232a181eb8e8f08605a76 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 24 Jun 2013 15:14:33 +0200 Subject: [PATCH] structure view model must use Editor from passed FileEditor, but not current focused Editor if document virtual file is not in local file system --- .../com/intellij/projectView/FileStructureDialogTest.java | 2 +- .../ide/structureView/TextEditorBasedStructureViewModel.java | 2 +- .../ide/structureView/TreeBasedStructureViewBuilder.java | 3 ++- .../intellij/codeInsight/hint/ShowContainerInfoHandler.java | 2 +- .../com/intellij/codeInsight/navigation/MethodUpDownUtil.java | 2 +- .../lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/java/java-tests/testSrc/com/intellij/projectView/FileStructureDialogTest.java b/java/java-tests/testSrc/com/intellij/projectView/FileStructureDialogTest.java index eab9203b4d19..f460748585e4 100644 --- a/java/java-tests/testSrc/com/intellij/projectView/FileStructureDialogTest.java +++ b/java/java-tests/testSrc/com/intellij/projectView/FileStructureDialogTest.java @@ -43,7 +43,7 @@ public class FileStructureDialogTest extends BaseProjectViewTestCase { final StructureViewBuilder structureViewBuilder = StructureViewBuilder.PROVIDER.getStructureViewBuilder(virtualFile.getFileType(), virtualFile, myProject); assertNotNull(structureViewBuilder); - final StructureViewModel structureViewModel = ((TreeBasedStructureViewBuilder)structureViewBuilder).createStructureViewModel(); + final StructureViewModel structureViewModel = ((TreeBasedStructureViewBuilder)structureViewBuilder).createStructureViewModel(null); final EditorFactory factory = EditorFactory.getInstance(); assertNotNull(factory); diff --git a/platform/lang-api/src/com/intellij/ide/structureView/TextEditorBasedStructureViewModel.java b/platform/lang-api/src/com/intellij/ide/structureView/TextEditorBasedStructureViewModel.java index 809ee2cd6172..a6a17bea1324 100644 --- a/platform/lang-api/src/com/intellij/ide/structureView/TextEditorBasedStructureViewModel.java +++ b/platform/lang-api/src/com/intellij/ide/structureView/TextEditorBasedStructureViewModel.java @@ -38,7 +38,7 @@ import java.util.List; /** * The standard {@link StructureViewModel} implementation which is linked to a text editor. * - * @see com.intellij.ide.structureView.TreeBasedStructureViewBuilder#createStructureViewModel() + * @see com.intellij.ide.structureView.TreeBasedStructureViewBuilder#createStructureViewModel(Editor editor) */ public abstract class TextEditorBasedStructureViewModel implements StructureViewModel, ProvidingTreeModel { diff --git a/platform/lang-api/src/com/intellij/ide/structureView/TreeBasedStructureViewBuilder.java b/platform/lang-api/src/com/intellij/ide/structureView/TreeBasedStructureViewBuilder.java index aec6a54d801b..ec30047809be 100644 --- a/platform/lang-api/src/com/intellij/ide/structureView/TreeBasedStructureViewBuilder.java +++ b/platform/lang-api/src/com/intellij/ide/structureView/TreeBasedStructureViewBuilder.java @@ -33,7 +33,8 @@ import org.jetbrains.annotations.Nullable; * @see TextEditorBasedStructureViewModel * @see com.intellij.lang.LanguageStructureViewBuilder#getStructureViewBuilder(com.intellij.psi.PsiFile) */ -public abstract class TreeBasedStructureViewBuilder implements StructureViewBuilder { +public abstract class + TreeBasedStructureViewBuilder implements StructureViewBuilder { /** * @deprecated Use createStructureViewModel(Editor editor) */ diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hint/ShowContainerInfoHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/hint/ShowContainerInfoHandler.java index 9bffb230f119..b0e1e6c38265 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hint/ShowContainerInfoHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/hint/ShowContainerInfoHandler.java @@ -58,7 +58,7 @@ public class ShowContainerInfoHandler implements CodeInsightActionHandler { StructureViewBuilder builder = LanguageStructureViewBuilder.INSTANCE.getStructureViewBuilder(file); if (builder instanceof TreeBasedStructureViewBuilder) { - StructureViewModel model = ((TreeBasedStructureViewBuilder) builder).createStructureViewModel(); + StructureViewModel model = ((TreeBasedStructureViewBuilder) builder).createStructureViewModel(editor); boolean goOneLevelUp = true; try { if (container == null) { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/MethodUpDownUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/MethodUpDownUtil.java index dc89034f7813..0d8f29e122a4 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/MethodUpDownUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/MethodUpDownUtil.java @@ -63,7 +63,7 @@ public class MethodUpDownUtil { StructureViewBuilder structureViewBuilder = LanguageStructureViewBuilder.INSTANCE.getStructureViewBuilder(element); if (structureViewBuilder instanceof TreeBasedStructureViewBuilder) { TreeBasedStructureViewBuilder builder = (TreeBasedStructureViewBuilder) structureViewBuilder; - StructureViewModel model = builder.createStructureViewModel(); + StructureViewModel model = builder.createStructureViewModel(null); try { addStructureViewElements(model.getRoot(), array, element); } diff --git a/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java b/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java index 73d1f24b61ec..e0146bd526ab 100644 --- a/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java +++ b/platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java @@ -211,7 +211,7 @@ public class Bookmark implements Navigatable { StructureViewBuilder builder = LanguageStructureViewBuilder.INSTANCE.getStructureViewBuilder(psiFile); if (builder instanceof TreeBasedStructureViewBuilder) { - StructureViewModel model = ((TreeBasedStructureViewBuilder)builder).createStructureViewModel(); + StructureViewModel model = ((TreeBasedStructureViewBuilder)builder).createStructureViewModel(null); Object element; try { element = model.getCurrentEditorElement();