(no message)

This commit is contained in:
Olesya Smirnova
2005-01-17 19:44:09 +03:00
parent 7270755329
commit 089dd8f342

View File

@@ -7,6 +7,8 @@ import com.intellij.ide.projectView.ProjectView;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.wm.ToolWindowId;
import com.intellij.openapi.wm.ToolWindowManager;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
@@ -22,7 +24,7 @@ public abstract class ProjectViewSelectInTarget implements SelectInTarget {
public void select(PsiElement element, final boolean requestFocus) {
while (true) {
if (element instanceof PsiFile) break;
if (element instanceof PsiClass && element.getParent() instanceof PsiFile) break;
if (isTopLevelClass(element)) break;
element = element.getParent();
}
if (element instanceof PsiAspectFile) {
@@ -56,6 +58,15 @@ public abstract class ProjectViewSelectInTarget implements SelectInTarget {
}
}
private boolean isTopLevelClass(final PsiElement element) {
if (!(element instanceof PsiClass)) return false;
final PsiElement parent = element.getParent();
if (!(parent instanceof PsiFile)) return false;
final VirtualFile virtualFile = ((PsiFile)parent).getVirtualFile();
if (virtualFile == null) return false;
return virtualFile.getFileType() == StdFileTypes.JAVA;
}
public String getToolWindowId() {
return ToolWindowId.PROJECT_VIEW;
}