mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Structure view under project view fixed
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user