use of com.intellij.openapi.fileEditor.FileEditorManager in project intellij-community by JetBrains.
the class StructureViewUpdatingTest method testExpandElementWithExitingName.
public void testExpandElementWithExitingName() throws InterruptedException {
final VirtualFile xmlVirtualFile = getContentRoot().findFileByRelativePath("test.xml");
final FileEditorManager fileEditorManager = FileEditorManager.getInstance(myProject);
FileEditor[] fileEditors = fileEditorManager.openFile(xmlVirtualFile, false);
final FileEditor fileEditor = fileEditors[0];
try {
final StructureViewComponent structureViewComponent = (StructureViewComponent) fileEditor.getStructureViewBuilder().createStructureView(fileEditor, myProject);
final JTree tree = structureViewComponent.getTree();
PlatformTestUtil.assertTreeEqual(tree, "-test.xml\n" + " -test\n" + " +level1\n" + " +level1\n" + " +level1\n" + " +level1\n");
tree.expandPath(tree.getPathForRow(3));
PlatformTestUtil.waitForAlarm(600);
PlatformTestUtil.assertTreeEqual(tree, "-test.xml\n" + " -test\n" + " +level1\n" + " -level1\n" + " +level2\n" + " +level1\n" + " +level1\n");
Disposer.dispose(structureViewComponent);
} finally {
fileEditorManager.closeFile(xmlVirtualFile);
}
}
use of com.intellij.openapi.fileEditor.FileEditorManager in project intellij-community by JetBrains.
the class StructureViewUpdatingTest method testShowClassMembers.
public void testShowClassMembers() throws Exception {
final PsiClass psiClass = JavaDirectoryService.getInstance().getClasses(getPackageDirectory("com/package1"))[0];
final VirtualFile virtualFile = psiClass.getContainingFile().getVirtualFile();
final FileEditorManager fileEditorManager = FileEditorManager.getInstance(myProject);
FileEditor[] fileEditors = fileEditorManager.openFile(virtualFile, false);
final FileEditor fileEditor = fileEditors[0];
final StructureViewComponent structureViewComponent = (StructureViewComponent) fileEditor.getStructureViewBuilder().createStructureView(fileEditor, myProject);
try {
PlatformTestUtil.assertTreeEqual(structureViewComponent.getTree(), "-Class2.java\n" + " -Class2\n" + " +InnerClass1\n" + " +InnerClass2\n" + " getValue(): int\n" + " myField1: boolean\n" + " myField2: boolean\n" + " myField3: boolean\n" + " myField4: boolean\n");
final PsiField innerClassField = psiClass.getInnerClasses()[0].getFields()[0];
structureViewComponent.select(innerClassField, true);
PlatformTestUtil.assertTreeEqual(structureViewComponent.getTree(), "-Class2.java\n" + " -Class2\n" + " -InnerClass1\n" + " +InnerClass12\n" + " myInnerClassField: int\n" + " +InnerClass2\n" + " getValue(): int\n" + " myField1: boolean\n" + " myField2: boolean\n" + " myField3: boolean\n" + " myField4: boolean\n");
CommandProcessor.getInstance().executeCommand(myProject, () -> WriteCommandAction.runWriteCommandAction(null, () -> {
try {
innerClassField.delete();
} catch (IncorrectOperationException e) {
fail(e.getLocalizedMessage());
}
}), null, null);
PlatformTestUtil.waitForAlarm(600);
PlatformTestUtil.assertTreeEqual(structureViewComponent.getTree(), "-Class2.java\n" + " -Class2\n" + " -InnerClass1\n" + " +InnerClass12\n" + " +InnerClass2\n" + " getValue(): int\n" + " myField1: boolean\n" + " myField2: boolean\n" + " myField3: boolean\n" + " myField4: boolean\n");
} finally {
Disposer.dispose(structureViewComponent);
fileEditorManager.closeFile(virtualFile);
}
}
use of com.intellij.openapi.fileEditor.FileEditorManager in project intellij-community by JetBrains.
the class ProjectTreeBuilderTest method testShowClassMembers.
public void testShowClassMembers() throws IncorrectOperationException, IOException {
myStructure.setShowMembers(true);
useStandardProviders();
final PsiClass[] classes = JavaDirectoryService.getInstance().getClasses(getPackageDirectory());
sortClassesByName(classes);
PsiClass aClass = classes[1];
PsiClass innerClass1 = aClass.getInnerClasses()[0];
PsiClass innerClass12 = innerClass1.getInnerClasses()[0];
PsiClass innerClass13 = innerClass12.getInnerClasses()[0];
PsiClass innerClass14 = innerClass13.getInnerClasses()[0];
PsiClass innerClass15 = innerClass14.getInnerClasses()[0];
PsiClass innerClass2 = aClass.getInnerClasses()[1];
PsiClass innerClass21 = innerClass2.getInnerClasses()[0];
PsiClass innerClass23 = innerClass21.getInnerClasses()[0];
PsiClass innerClass24 = innerClass23.getInnerClasses()[0];
PsiField innerClass1Field = innerClass14.getFields()[0];
PsiField innerClass2Field = innerClass24.getFields()[0];
final AbstractProjectViewPSIPane pane = myStructure.createPane();
myStructure.checkNavigateFromSourceBehaviour(innerClass2Field, innerClass2Field.getContainingFile().getVirtualFile(), pane);
IdeaTestUtil.assertTreeEqual(pane.getTree(), "-Project\n" + " -PsiDirectory: showClassMembers\n" + " -PsiDirectory: src\n" + " -PsiDirectory: com\n" + " -PsiDirectory: package1\n" + " +Class1\n" + " -Class2\n" + " +InnerClass1\n" + " -InnerClass2\n" + " -InnerClass22\n" + " -InnerClass23\n" + " -InnerClass24\n" + " +InnerClass25\n" + " myFieldToSelect:int\n" + " myInnerClassField:int\n" + " myInnerClassField:int\n" + " myInnerClassField:int\n" + " getValue():int\n" + " myField1:boolean\n" + " myField2:boolean\n" + " myField3:boolean\n" + " myField4:boolean\n" + getRootFiles() + " +External Libraries\n");
assertFalse(ProjectViewTestUtil.isExpanded(innerClass15.getFields()[0], pane));
assertFalse(ProjectViewTestUtil.isExpanded(innerClass1Field, pane));
assertTrue(ProjectViewTestUtil.isExpanded(innerClass2Field, pane));
VirtualFile virtualFile = aClass.getContainingFile().getVirtualFile();
FileEditorManager fileEditorManager = FileEditorManager.getInstance(myProject);
FileEditor[] fileEditors = fileEditorManager.openFile(virtualFile, false);
StructureViewComponent structureViewComponent2 = null;
StructureViewComponent structureViewComponent = null;
try {
structureViewComponent = (StructureViewComponent) fileEditors[0].getStructureViewBuilder().createStructureView(fileEditors[0], myProject);
TreeUtil.collapseAll(structureViewComponent.getTree(), -1);
structureViewComponent.select(innerClass2Field, true);
String expected = "-Class2.java\n" + " -Class2\n" + " +InnerClass1\n" + " -InnerClass2\n" + " -InnerClass22\n" + " -InnerClass23\n" + " -InnerClass24\n" + " +InnerClass25\n" + " myFieldToSelect: int\n" + " myInnerClassField: int\n" + " myInnerClassField: int\n" + " myInnerClassField: int\n" + " getValue(): int\n" + " myField1: boolean\n" + " myField2: boolean\n" + " myField3: boolean\n" + " myField4: boolean\n";
IdeaTestUtil.assertTreeEqual(structureViewComponent.getTree(), expected);
Disposer.dispose(structureViewComponent);
final FileEditor fileEditor = fileEditors[0];
structureViewComponent2 = (StructureViewComponent) fileEditor.getStructureViewBuilder().createStructureView(fileEditor, myProject);
structureViewComponent2.setActionActive(JavaInheritedMembersNodeProvider.ID, false);
IdeaTestUtil.assertTreeEqual(structureViewComponent2.getTree(), expected);
} finally {
fileEditorManager.closeFile(virtualFile);
if (structureViewComponent2 != null) {
Disposer.dispose(structureViewComponent2);
}
}
}
use of com.intellij.openapi.fileEditor.FileEditorManager in project intellij-community by JetBrains.
the class JavaTreeStructureTest method dotest.
private void dotest(CheckAction checkAction) throws Exception {
final PsiClass psiClass = JavaDirectoryService.getInstance().getClasses(getPackageDirectory("com/package1"))[0];
final VirtualFile virtualFile = psiClass.getContainingFile().getVirtualFile();
final FileEditorManager fileEditorManager = FileEditorManager.getInstance(myProject);
FileEditor[] fileEditors = fileEditorManager.openFile(virtualFile, false);
final FileEditor fileEditor = fileEditors[0];
try {
final StructureViewComponent structureViewComponent = (StructureViewComponent) fileEditor.getStructureViewBuilder().createStructureView(fileEditor, myProject);
checkAction.testClassStructure(structureViewComponent);
Disposer.dispose(structureViewComponent);
} finally {
fileEditorManager.closeFile(virtualFile);
}
}
use of com.intellij.openapi.fileEditor.FileEditorManager in project intellij-community by JetBrains.
the class EditorFixture method moveToAndClick.
/**
* Moves the caret to the given caret offset (0-based).
*
* @param offset the character offset.
*/
public EditorFixture moveToAndClick(final int offset, MouseButton button) {
assertThat(offset).isGreaterThanOrEqualTo(0);
execute(new GuiTask() {
@Override
protected void executeInEDT() throws Throwable {
FileEditorManager manager = FileEditorManager.getInstance(myFrame.getProject());
Editor editor = manager.getSelectedTextEditor();
assert editor != null;
VisualPosition visualPosition = editor.offsetToVisualPosition(offset);
Point point = editor.visualPositionToXY(visualPosition);
Component editorComponent = robot.finder().find(editor.getComponent(), component -> component instanceof EditorComponentImpl);
robot.click(editorComponent, point, button, 1);
}
});
return this;
}
Aggregations