structure view model must use Editor from passed FileEditor, but not current focused Editor if document virtual file is not in local file system

This commit is contained in:
Vladimir Krivosheev
2013-06-24 15:14:33 +02:00
parent 00778f6748
commit 093f05e035
6 changed files with 7 additions and 6 deletions
@@ -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);
@@ -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 {
@@ -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)
*/
@@ -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) {
@@ -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);
}
@@ -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();