Structure view under project view fixed

This commit is contained in:
Olesya Smirnova
2005-03-01 14:52:57 +03:00
parent fafafdfe0c
commit 115f47f184
2 changed files with 25 additions and 3 deletions
@@ -534,8 +534,11 @@ public final class ProjectViewImpl extends ProjectView implements JDOMExternaliz
if (toShow) {
VirtualFile[] files = FileEditorManager.getInstance(myProject).getSelectedFiles();
PsiFile psiFile = files.length != 0 ? PsiManager.getInstance(myProject).findFile(files[0]) : null;
myStructureViewWrapper.setFileEditor(null);
if (files.length != 0) {
myStructureViewWrapper.setFileEditor(FileEditorManager.getInstance(myProject).getSelectedEditor(files[0]));
} else {
myStructureViewWrapper.setFileEditor(null);
}
}
}
@@ -134,6 +134,11 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner,
return convertPathsToValues(getTree().getSelectionPaths());
}
private Object[] getSelectedTreeElements() {
return convertPathsToTreeElements(getTree().getSelectionPaths());
}
private Object[] convertPathsToValues(TreePath[] selectionPaths) {
if (selectionPaths != null) {
Object[] result = new Object[selectionPaths.length];
@@ -153,6 +158,20 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner,
}
}
private Object[] convertPathsToTreeElements(TreePath[] selectionPaths) {
if (selectionPaths != null) {
Object[] result = new Object[selectionPaths.length];
for (int i = 0; i < selectionPaths.length; i++) {
result[i] = ((AbstractTreeNode)((DefaultMutableTreeNode)selectionPaths[i].getLastPathComponent()).getUserObject()).getValue();
}
return result;
}
else {
return null;
}
}
private void addTreeMouseListeners() {
EditSourceOnDoubleClickHandler.install(getTree());
ActionGroup group = (ActionGroup)ActionManager.getInstance().getAction(IdeActions.GROUP_STRUCTURE_VIEW_POPUP);
@@ -619,7 +638,7 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner,
return myCopyPasteDelegator.getPasteProvider();
}
else if (DataConstantsEx.NAVIGATABLE.equals(dataId)) {
Object[] selectedElements = getSelectedElements();
Object[] selectedElements = getSelectedTreeElements();
if (selectedElements == null || selectedElements.length == 0)
{
return null;