blob: 98b44f8f2aed93112906dd0097406b58d8357683 [file] [log] [blame]
package com.intellij.codeInsight.daemon;
import com.intellij.codeInsight.daemon.impl.PsiElementListNavigator;
import com.intellij.ide.util.DefaultPsiElementCellRenderer;
import com.intellij.psi.NavigatablePsiElement;
import com.intellij.psi.PsiElement;
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.util.Collection;
/**
* @author yole
*/
public class DefaultGutterIconNavigationHandler<T extends PsiElement> implements GutterIconNavigationHandler<T> {
private final Collection<? extends NavigatablePsiElement> myReferences;
private final String myTitle;
public DefaultGutterIconNavigationHandler(Collection<? extends NavigatablePsiElement> references, String title) {
myReferences = references;
myTitle = title;
}
public Collection<? extends NavigatablePsiElement> getReferences() {
return myReferences;
}
@Override
public void navigate(MouseEvent e, T elt) {
PsiElementListNavigator.openTargets(e,
myReferences.toArray(new NavigatablePsiElement[myReferences.size()]),
myTitle, null, createListCellRenderer());
}
protected ListCellRenderer createListCellRenderer() {
return new DefaultPsiElementCellRenderer();
}
}