mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
(no message)
This commit is contained in:
@@ -122,7 +122,9 @@ public class UsageViewManagerImpl implements UsageViewManager, ProjectComponent
|
||||
else if (myUsageCount == 1 && !showPanelIfOnlyOneUsage) {
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
myFirstUsage.navigate(true);
|
||||
if (myFirstUsage.canNavigate()) {
|
||||
myFirstUsage.navigate(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -37,6 +37,5 @@ import com.intellij.pom.Navigatable;
|
||||
public interface NavigationItem extends Navigatable {
|
||||
String getName();
|
||||
ItemPresentation getPresentation();
|
||||
void navigate(boolean requestFocus);
|
||||
FileStatus getFileStatus();
|
||||
}
|
||||
@@ -68,7 +68,7 @@ public class HighlightUtil {
|
||||
|
||||
static {
|
||||
ourClassIncompatibleModifiers = new THashMap<String, Set<String>>(8);
|
||||
THashSet<String> modifiers = new THashSet<String>(1);
|
||||
Set<String> modifiers = new THashSet<String>(1);
|
||||
modifiers.add(PsiModifier.FINAL);
|
||||
ourClassIncompatibleModifiers.put(PsiModifier.ABSTRACT, modifiers);
|
||||
modifiers = new THashSet<String>(1);
|
||||
|
||||
@@ -195,7 +195,7 @@ public class GotoImplementationHandler implements CodeInsightActionHandler {
|
||||
|
||||
if (elements.length == 1) {
|
||||
Navigatable descriptor = EditSourceUtil.getDescriptor(elements[0]);
|
||||
if (descriptor != null) {
|
||||
if (descriptor != null && descriptor.canNavigate()) {
|
||||
descriptor.navigate(true);
|
||||
}
|
||||
}
|
||||
@@ -218,7 +218,7 @@ public class GotoImplementationHandler implements CodeInsightActionHandler {
|
||||
if (index < 0) return;
|
||||
PsiElement element = (PsiElement) list.getSelectedValue();
|
||||
Navigatable descriptor = EditSourceUtil.getDescriptor(element);
|
||||
if (descriptor != null) {
|
||||
if (descriptor != null && descriptor.canNavigate()) {
|
||||
descriptor.navigate(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public final class NavigationUtil {
|
||||
if (index < 0) return;
|
||||
PsiElement element = (PsiElement) list.getSelectedValue();
|
||||
Navigatable descriptor = EditSourceUtil.getDescriptor(element);
|
||||
if (descriptor != null) {
|
||||
if (descriptor != null && descriptor.canNavigate()) {
|
||||
descriptor.navigate(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,12 +32,12 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
}
|
||||
|
||||
protected boolean isValidForFile(Project project, Editor editor, final PsiFile file) {
|
||||
boolean b = file.canContainJavaCode() || file instanceof XmlFile;
|
||||
if (!b) {
|
||||
boolean canNavigate = file.canContainJavaCode() || file instanceof XmlFile;
|
||||
if (!canNavigate) {
|
||||
FileTypeSupportCapabilities supportCapabilities = file.getFileType().getSupportCapabilities();
|
||||
b = (supportCapabilities!=null)?supportCapabilities.hasNavigation():false;
|
||||
canNavigate = supportCapabilities == null ? false : supportCapabilities.hasNavigation();
|
||||
}
|
||||
return b;
|
||||
return canNavigate;
|
||||
}
|
||||
|
||||
protected boolean isValidForLookup() {
|
||||
@@ -51,7 +51,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
PsiElement element = findTargetElement(project, editor, offset);
|
||||
if (element == null) {
|
||||
FeatureUsageTracker.getInstance().triggerFeatureUsed("navigation.goto.declaration");
|
||||
chooseAmbigousTarget(project, editor, offset);
|
||||
chooseAmbiguousTarget(project, editor, offset);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -68,19 +68,18 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code
|
||||
}
|
||||
}
|
||||
|
||||
if (navElement instanceof Navigatable) {
|
||||
if (navElement instanceof Navigatable && ((Navigatable)navElement).canNavigate()) {
|
||||
((Navigatable)navElement).navigate(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void chooseAmbigousTarget(final Project project, final Editor editor, int offset) {
|
||||
private void chooseAmbiguousTarget(final Project project, final Editor editor, int offset) {
|
||||
final PsiElement[] candidates = suggestCandidates(project, editor, offset);
|
||||
if (candidates.length == 0) {
|
||||
return;
|
||||
} else if (candidates.length == 1) {
|
||||
Navigatable navigatable = EditSourceUtil.getDescriptor(candidates[0]);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(true);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -33,9 +33,8 @@ import com.intellij.openapi.fileEditor.OpenFileDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Splitter;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.openapi.vfs.ReadonlyStatusHandler;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.ToolWindowId;
|
||||
import com.intellij.openapi.wm.ToolWindowManager;
|
||||
import com.intellij.pom.Navigatable;
|
||||
@@ -142,7 +141,7 @@ public class InspectionResultsView extends JPanel implements OccurenceNavigator,
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if (!e.isPopupTrigger() && e.getClickCount() == 2) {
|
||||
Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(true);
|
||||
}
|
||||
}
|
||||
@@ -153,7 +152,7 @@ public class InspectionResultsView extends JPanel implements OccurenceNavigator,
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
|
||||
Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
@@ -202,7 +201,7 @@ public class InspectionResultsView extends JPanel implements OccurenceNavigator,
|
||||
private void syncSource() {
|
||||
if (isAutoScrollMode()) {
|
||||
Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,8 +90,9 @@ public class ToolbarPanel extends JPanel implements OccurenceNavigator {
|
||||
if (aClass != null && "junit.framework.TestSuite".equals(aClass.getQualifiedName())) return;
|
||||
}
|
||||
final Navigatable descriptor = TestsUIUtil.getOpenFileDescriptor(test, model);
|
||||
if (descriptor == null) return;
|
||||
descriptor.navigate(false);
|
||||
if (descriptor != null && descriptor.canNavigate()) {
|
||||
descriptor.navigate(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,7 +29,9 @@ public abstract class BaseNavigateToSourceAction extends AnAction {
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
DataContext dataContext = e.getDataContext();
|
||||
Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE);
|
||||
navigatable.navigate(myFocusEditor);
|
||||
if (navigatable.canNavigate()) {
|
||||
navigatable.navigate(myFocusEditor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,9 @@ abstract class OccurenceNavigatorActionBase extends AnAction {
|
||||
return;
|
||||
}
|
||||
Navigatable descriptor = occurenceInfo.getNavigateable();
|
||||
if (descriptor != null) descriptor.navigate(false);
|
||||
if (descriptor != null && descriptor.canNavigate()) {
|
||||
descriptor.navigate(false);
|
||||
}
|
||||
if(occurenceInfo.getOccurenceNumber()==-1||occurenceInfo.getOccurencesCount()==-1){
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.intellij.ide.errorTreeView.impl.ErrorViewTextExporter;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.ex.DataConstantsEx;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -22,7 +21,6 @@ import com.intellij.ui.content.Content;
|
||||
import com.intellij.ui.content.MessageView;
|
||||
import com.intellij.util.EditSourceOnDoubleClickHandler;
|
||||
import com.intellij.util.ui.ErrorTreeView;
|
||||
import com.intellij.util.ui.MessageCategory;
|
||||
import com.intellij.util.ui.Tree;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
|
||||
@@ -143,7 +141,7 @@ public class NewErrorTreeViewPanel extends JPanel implements DataProvider, Occur
|
||||
public Object getData(String dataId) {
|
||||
if (DataConstants.NAVIGATABLE.equals(dataId)) {
|
||||
final NavigatableMessageElement selectedMessageElement = getSelectedMessageElement();
|
||||
return (selectedMessageElement != null)? selectedMessageElement.getNavigatable() : null;
|
||||
return selectedMessageElement != null? selectedMessageElement.getNavigatable() : null;
|
||||
}
|
||||
else if (DataConstants.HELP_ID.equals(dataId)) {
|
||||
return myHelpId;
|
||||
@@ -253,10 +251,13 @@ public class NewErrorTreeViewPanel extends JPanel implements DataProvider, Occur
|
||||
if (element == null) {
|
||||
return;
|
||||
}
|
||||
element.getNavigatable().navigate(focusEditor);
|
||||
final Navigatable navigatable = element.getNavigatable();
|
||||
if (navigatable.canNavigate()) {
|
||||
navigatable.navigate(focusEditor);
|
||||
}
|
||||
}
|
||||
|
||||
public String getQualifiedName(final VirtualFile file) {
|
||||
public static String getQualifiedName(final VirtualFile file) {
|
||||
return file.getPresentableUrl();
|
||||
}
|
||||
|
||||
|
||||
@@ -72,51 +72,51 @@ public abstract class AbstractProjectViewPSIPane extends AbstractProjectViewPane
|
||||
TreeUtil.installActions(myTree);
|
||||
|
||||
myTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {
|
||||
public void valueChanged(TreeSelectionEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
});
|
||||
public void valueChanged(TreeSelectionEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
});
|
||||
myTree.getModel().addTreeModelListener(new TreeModelListener() {
|
||||
public void treeNodesChanged(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
public void treeNodesChanged(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
|
||||
public void treeNodesInserted(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
public void treeNodesInserted(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
|
||||
public void treeNodesRemoved(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
public void treeNodesRemoved(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
|
||||
public void treeStructureChanged(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
});
|
||||
public void treeStructureChanged(TreeModelEvent e) {
|
||||
fireTreeChangeListener();
|
||||
}
|
||||
});
|
||||
|
||||
new MySpeedSearch(myTree);
|
||||
|
||||
myTree.addKeyListener(new KeyAdapter() {
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (KeyEvent.VK_ENTER == e.getKeyCode()) {
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (KeyEvent.VK_ENTER == e.getKeyCode()) {
|
||||
|
||||
DataContext dataContext = DataManager.getInstance().getDataContext(myTree);
|
||||
Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
else if (KeyEvent.VK_ESCAPE == e.getKeyCode()) {
|
||||
if (e.isConsumed()) return;
|
||||
CopyPasteManagerEx copyPasteManager = (CopyPasteManagerEx)CopyPasteManager.getInstance();
|
||||
boolean[] isCopied = new boolean[1];
|
||||
if (copyPasteManager.getElements(isCopied) != null && !isCopied[0]) {
|
||||
copyPasteManager.clear();
|
||||
e.consume();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
DataContext dataContext = DataManager.getInstance().getDataContext(myTree);
|
||||
Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
else if (KeyEvent.VK_ESCAPE == e.getKeyCode()) {
|
||||
if (e.isConsumed()) return;
|
||||
CopyPasteManagerEx copyPasteManager = (CopyPasteManagerEx)CopyPasteManager.getInstance();
|
||||
boolean[] isCopied = new boolean[1];
|
||||
if (copyPasteManager.getElements(isCopied) != null && !isCopied[0]) {
|
||||
copyPasteManager.clear();
|
||||
e.consume();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
myExpandedElements.restoreExpandedElements(this, myProject);
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Collection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
public abstract class BasePsiNode <Type extends PsiElement> extends ProjectViewNode<Type> {
|
||||
static private final Logger LOG = Logger.getInstance("#com.intellij.ide.projectView.impl.nodes.BasePsiNode");
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.ide.projectView.impl.nodes.BasePsiNode");
|
||||
|
||||
private SmartPsiElementPointer mySmartPointer;
|
||||
|
||||
@@ -97,12 +97,12 @@ public abstract class BasePsiNode <Type extends PsiElement> extends ProjectViewN
|
||||
|
||||
public void navigate(boolean requestFocus) {
|
||||
if (canNavigate()) {
|
||||
((NavigationItem)getValue()).navigate(requestFocus);
|
||||
((NavigationItem)getValue()).navigate(requestFocus);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canNavigate() {
|
||||
return getValue() instanceof NavigationItem;
|
||||
return getValue() instanceof NavigationItem && ((NavigationItem)getValue()).canNavigate();
|
||||
}
|
||||
|
||||
public static VirtualFile getVirtualFile(PsiElement element) {
|
||||
|
||||
@@ -178,7 +178,7 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner,
|
||||
if (KeyEvent.VK_ENTER == e.getKeyCode()) {
|
||||
DataContext dataContext = DataManager.getInstance().getDataContext(getTree());
|
||||
Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ abstract class TodoPanel extends JPanel implements OccurenceNavigator, DataProvi
|
||||
return;
|
||||
}
|
||||
Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.ToolWindowManager;
|
||||
import com.intellij.ui.LayeredIcon;
|
||||
import com.intellij.util.IconUtil;
|
||||
import com.intellij.util.containers.ArrayListSet;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
@@ -20,6 +19,7 @@ import javax.swing.event.ChangeListener;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Author: msk
|
||||
@@ -67,7 +67,7 @@ public class EditorWindow {
|
||||
myPanel.add(myTabbedPane.getComponent(), BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
private ArrayListSet<EditorWindow> getWindows() {
|
||||
private Set<EditorWindow> getWindows() {
|
||||
return myOwner.myWindows;
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ public class EditorWindow {
|
||||
closeFile(files[i], false);
|
||||
}
|
||||
disposeTabs();
|
||||
getManager().openFileImpl2(this, currentFile, focusEditor && (myOwner.getCurrentWindow() == this), null);
|
||||
getManager().openFileImpl2(this, currentFile, focusEditor && myOwner.getCurrentWindow() == this, null);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
@@ -526,13 +526,13 @@ public class EditorWindow {
|
||||
|
||||
public boolean inSplitter() {
|
||||
check();
|
||||
return (myPanel.getParent() instanceof Splitter);
|
||||
return myPanel.getParent() instanceof Splitter;
|
||||
}
|
||||
|
||||
public VirtualFile getSelectedFile() {
|
||||
check();
|
||||
final EditorWithProviderComposite editor = getSelectedEditor();
|
||||
return (editor == null ? null : editor.getFile());
|
||||
return editor == null ? null : editor.getFile();
|
||||
}
|
||||
|
||||
public EditorWithProviderComposite findFileComposite(final VirtualFile file) {
|
||||
@@ -595,7 +595,7 @@ public class EditorWindow {
|
||||
if(!isFileOpen(file)){
|
||||
throw new IllegalArgumentException("file is not open: " + file.getPath());
|
||||
}
|
||||
getManager().assertThread();
|
||||
FileEditorManagerImpl.assertThread();
|
||||
final EditorComposite editorComposite = findFileComposite(file);
|
||||
return editorComposite.isPinned();
|
||||
}
|
||||
@@ -604,7 +604,7 @@ public class EditorWindow {
|
||||
if(!isFileOpen(file)){
|
||||
throw new IllegalArgumentException("file is not open: " + file.getPath());
|
||||
}
|
||||
getManager().assertThread();
|
||||
FileEditorManagerImpl.assertThread();
|
||||
final EditorComposite editorComposite = findFileComposite(file);
|
||||
editorComposite.setPinned(pinned);
|
||||
updateFileIcon(file);
|
||||
|
||||
@@ -17,9 +17,7 @@ import org.jdom.Element;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -399,7 +397,7 @@ public class EditorsSplitters extends JPanel {
|
||||
|
||||
//---------------------------------------------------------
|
||||
|
||||
protected final ArrayListSet<EditorWindow> myWindows = new ArrayListSet<EditorWindow>();
|
||||
protected final Set<EditorWindow> myWindows = new ArrayListSet<EditorWindow>();
|
||||
|
||||
public EditorWithProviderComposite[] findEditorComposites(final VirtualFile file) {
|
||||
final ArrayList<EditorWithProviderComposite> res = new ArrayList<EditorWithProviderComposite>();
|
||||
@@ -410,7 +408,7 @@ public class EditorsSplitters extends JPanel {
|
||||
res.add(fileComposite);
|
||||
}
|
||||
}
|
||||
return (res.size() == 0 ? null : res.toArray(new EditorWithProviderComposite[res.size()]));
|
||||
return res.size() == 0 ? null : res.toArray(new EditorWithProviderComposite[res.size()]);
|
||||
}
|
||||
|
||||
public EditorWindow[] findWindows(final VirtualFile file) {
|
||||
@@ -421,7 +419,7 @@ public class EditorsSplitters extends JPanel {
|
||||
res.add(window);
|
||||
}
|
||||
}
|
||||
return (res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()]));
|
||||
return res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()]);
|
||||
}
|
||||
|
||||
public EditorWindow[] findWindowsWithCurrent(final VirtualFile file) {
|
||||
@@ -432,7 +430,7 @@ public class EditorsSplitters extends JPanel {
|
||||
res.add(window);
|
||||
}
|
||||
}
|
||||
return (res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()]));
|
||||
return res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()]);
|
||||
}
|
||||
|
||||
public EditorWindow [] getWindows() {
|
||||
@@ -458,17 +456,15 @@ public class EditorsSplitters extends JPanel {
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// get root component and traverse splitters tree:
|
||||
{
|
||||
if (getComponentCount() != 0) {
|
||||
final Component comp = getComponent(0);
|
||||
LOG.assertTrue(comp instanceof JPanel);
|
||||
final JPanel panel = (JPanel)comp;
|
||||
if (panel.getComponentCount() != 0) {
|
||||
new Inner().collect (panel);
|
||||
}
|
||||
if (getComponentCount() != 0) {
|
||||
final Component comp = getComponent(0);
|
||||
LOG.assertTrue(comp instanceof JPanel);
|
||||
final JPanel panel = (JPanel)comp;
|
||||
if (panel.getComponentCount() != 0) {
|
||||
new Inner().collect (panel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -498,7 +494,7 @@ public class EditorsSplitters extends JPanel {
|
||||
if (oldActiveWindow != newActiveWindow) {
|
||||
setCurrentWindow(newActiveWindow, false);
|
||||
getManager().updateFileName(newActiveWindow.getSelectedFile());
|
||||
getManager().fireSelectionChanged((oldActiveWindow == null ? null : oldActiveWindow.getSelectedEditor()), newActiveWindow.getSelectedEditor());
|
||||
getManager().fireSelectionChanged(oldActiveWindow == null ? null : oldActiveWindow.getSelectedEditor(), newActiveWindow.getSelectedEditor());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.startup.StartupManager;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.vfs.*;
|
||||
import com.intellij.psi.PsiManager;
|
||||
@@ -20,6 +19,7 @@ import com.intellij.psi.PsiNameHelper;
|
||||
import com.intellij.psi.impl.PsiManagerConfiguration;
|
||||
import com.intellij.util.EventDispatcher;
|
||||
import junit.framework.Assert;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -33,8 +33,8 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone
|
||||
private boolean myInitialized = false;
|
||||
private boolean myDisposed = false;
|
||||
|
||||
private com.intellij.util.containers.HashMap<VirtualFile, DirectoryInfo> myDirToInfoMap = new com.intellij.util.containers.HashMap<VirtualFile, DirectoryInfo>();
|
||||
private com.intellij.util.containers.HashMap<String, VirtualFile[]> myPackageNameToDirsMap = new com.intellij.util.containers.HashMap<String, VirtualFile[]>();
|
||||
private Map<VirtualFile, DirectoryInfo> myDirToInfoMap = new HashMap<VirtualFile, DirectoryInfo>();
|
||||
private Map<String, VirtualFile[]> myPackageNameToDirsMap = new HashMap<String, VirtualFile[]>();
|
||||
|
||||
private VirtualFileListener myVirtualFileListener;
|
||||
private FileTypeListener myFileTypeListener;
|
||||
@@ -88,17 +88,17 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone
|
||||
Assert.assertTrue(myInitialized);
|
||||
Assert.assertTrue(!myDisposed);
|
||||
|
||||
com.intellij.util.containers.HashMap<VirtualFile, DirectoryInfo> oldDirToInfoMap = myDirToInfoMap;
|
||||
myDirToInfoMap = new com.intellij.util.containers.HashMap<VirtualFile, DirectoryInfo>();
|
||||
Map<VirtualFile, DirectoryInfo> oldDirToInfoMap = myDirToInfoMap;
|
||||
myDirToInfoMap = new HashMap<VirtualFile, DirectoryInfo>();
|
||||
|
||||
com.intellij.util.containers.HashMap<String, VirtualFile[]> oldPackageNameToDirsMap = myPackageNameToDirsMap;
|
||||
myPackageNameToDirsMap = new com.intellij.util.containers.HashMap<String, VirtualFile[]>();
|
||||
Map<String, VirtualFile[]> oldPackageNameToDirsMap = myPackageNameToDirsMap;
|
||||
myPackageNameToDirsMap = new HashMap<String, VirtualFile[]>();
|
||||
|
||||
_initialize(reverseAllSets, null);
|
||||
|
||||
if (LAZY_MODE) {
|
||||
com.intellij.util.containers.HashMap<VirtualFile, DirectoryInfo> newDirToInfoMap = myDirToInfoMap;
|
||||
com.intellij.util.containers.HashMap<String, VirtualFile[]> newPackageNameToDirsMap = myPackageNameToDirsMap;
|
||||
Map<VirtualFile, DirectoryInfo> newDirToInfoMap = myDirToInfoMap;
|
||||
Map<String, VirtualFile[]> newPackageNameToDirsMap = myPackageNameToDirsMap;
|
||||
myDirToInfoMap = oldDirToInfoMap;
|
||||
myPackageNameToDirsMap = oldPackageNameToDirsMap;
|
||||
|
||||
@@ -391,7 +391,7 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone
|
||||
}
|
||||
}
|
||||
|
||||
private void putForFileAndAllAncestors(Map<VirtualFile, Set<VirtualFile>> map, VirtualFile file, VirtualFile value) {
|
||||
private static void putForFileAndAllAncestors(Map<VirtualFile, Set<VirtualFile>> map, VirtualFile file, VirtualFile value) {
|
||||
while (true) {
|
||||
Set<VirtualFile> set = map.get(file);
|
||||
if (set == null) {
|
||||
@@ -792,7 +792,7 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone
|
||||
}
|
||||
|
||||
private class MyVirtualFileListener implements VirtualFileListener {
|
||||
private final Key FILES_TO_RELEASE_KEY = Key.create("DirectoryIndexImpl.MyVirtualFileListener.FILES_TO_RELEASE_KEY");
|
||||
private final Key<List<VirtualFile>> FILES_TO_RELEASE_KEY = Key.create("DirectoryIndexImpl.MyVirtualFileListener.FILES_TO_RELEASE_KEY");
|
||||
|
||||
public void fileCreated(VirtualFileEvent event) {
|
||||
VirtualFile file = event.getFile();
|
||||
@@ -857,7 +857,7 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone
|
||||
|
||||
public void fileDeleted(VirtualFileEvent event) {
|
||||
VirtualFile file = event.getFile();
|
||||
ArrayList<VirtualFile> list = (ArrayList<VirtualFile>)file.getUserData(FILES_TO_RELEASE_KEY);
|
||||
List<VirtualFile> list = file.getUserData(FILES_TO_RELEASE_KEY);
|
||||
if (list == null) return;
|
||||
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
|
||||
@@ -12,7 +12,10 @@ import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.wm.StatusBar;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.packageDependencies.*;
|
||||
import com.intellij.packageDependencies.DependenciesBuilder;
|
||||
import com.intellij.packageDependencies.DependencyRule;
|
||||
import com.intellij.packageDependencies.DependencyUISettings;
|
||||
import com.intellij.packageDependencies.DependencyValidationManager;
|
||||
import com.intellij.packageDependencies.actions.AnalyzeDependenciesHandler;
|
||||
import com.intellij.packageDependencies.actions.BackwardDependenciesHandler;
|
||||
import com.intellij.pom.Navigatable;
|
||||
@@ -20,21 +23,20 @@ import com.intellij.psi.*;
|
||||
import com.intellij.ui.*;
|
||||
import com.intellij.ui.content.Content;
|
||||
import com.intellij.util.Icons;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.ui.Tree;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.TreeSelectionEvent;
|
||||
import javax.swing.event.TreeSelectionListener;
|
||||
import javax.swing.event.TreeExpansionListener;
|
||||
import javax.swing.event.TreeExpansionEvent;
|
||||
import javax.swing.tree.*;
|
||||
import javax.swing.tree.DefaultTreeCellRenderer;
|
||||
import javax.swing.tree.DefaultTreeModel;
|
||||
import javax.swing.tree.TreePath;
|
||||
import javax.swing.tree.TreeSelectionModel;
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
public class DependenciesPanel extends JPanel {
|
||||
private Map<PsiFile, Set<PsiFile>> myDependencies;
|
||||
@@ -217,7 +219,7 @@ public class DependenciesPanel extends JPanel {
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if (e.isPopupTrigger() && e.getClickCount() == 2) {
|
||||
Navigatable navigatable = (Navigatable)tree.getData(DataConstants.NAVIGATABLE);
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ public abstract class PsiElementBase extends ElementBase implements PsiElement {
|
||||
}
|
||||
|
||||
public boolean canNavigate() {
|
||||
return true;
|
||||
return EditSourceUtil.getDescriptor(getNavigationElement()) != null;
|
||||
}
|
||||
|
||||
public FileStatus getFileStatus() {
|
||||
|
||||
@@ -222,7 +222,7 @@ public abstract class CompositePsiElement extends CompositeElement implements Ps
|
||||
}
|
||||
|
||||
public boolean canNavigate() {
|
||||
return true;
|
||||
return EditSourceUtil.getDescriptor(getNavigationElement()) != null;
|
||||
}
|
||||
|
||||
public FileStatus getFileStatus() {
|
||||
|
||||
@@ -28,7 +28,7 @@ public class SelectInEditorHandler {
|
||||
public static void selectInEditor(final JComponent component, final Project project) {
|
||||
final Navigatable navigatable = (Navigatable)DataManager.getInstance().getDataContext(component).getData(DataConstants.NAVIGATABLE);
|
||||
|
||||
if (navigatable != null) {
|
||||
if (navigatable != null && navigatable.canNavigate()) {
|
||||
navigatable.navigate(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public final class SoftValueHashMap<K,V> implements Map<K,V>{
|
||||
private THashMap myMap;
|
||||
private THashMap<K,MyReference<K,V>> myMap;
|
||||
private ReferenceQueue<MyReference<K,V>> myQueue = new ReferenceQueue<MyReference<K,V>>();
|
||||
|
||||
private static class MyReference<K,V> extends SoftReference<V> {
|
||||
@@ -25,7 +25,7 @@ public final class SoftValueHashMap<K,V> implements Map<K,V>{
|
||||
}
|
||||
|
||||
public SoftValueHashMap() {
|
||||
myMap = new THashMap();
|
||||
myMap = new THashMap<K, MyReference<K,V>>();
|
||||
}
|
||||
|
||||
private void processQueue() {
|
||||
@@ -46,20 +46,20 @@ public final class SoftValueHashMap<K,V> implements Map<K,V>{
|
||||
}
|
||||
|
||||
public V get(Object key) {
|
||||
MyReference<K,V> ref = (MyReference<K,V>)myMap.get(key);
|
||||
MyReference<K,V> ref = myMap.get(key);
|
||||
if (ref == null) return null;
|
||||
return ref.get();
|
||||
}
|
||||
|
||||
public V put(K key, V value) {
|
||||
processQueue();
|
||||
MyReference<K,V> oldRef = (MyReference<K,V>)myMap.put(key, new MyReference<K,V>(key, value, myQueue));
|
||||
MyReference<K,V> oldRef = myMap.put(key, new MyReference<K,V>(key, value, myQueue));
|
||||
return oldRef != null ? (V)oldRef.get() : null;
|
||||
}
|
||||
|
||||
public V remove(Object key) {
|
||||
processQueue();
|
||||
MyReference<K,V> ref = (MyReference<K,V>)myMap.remove(key);
|
||||
MyReference<K,V> ref = myMap.remove(key);
|
||||
return ref != null ? ref.get() : null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user