UX-1 new SearchEverywhere popup

* short text in results items when not enough space
This commit is contained in:
Mikhail Sokolov
2018-06-07 12:39:38 +03:00
parent deb76d7c0f
commit df5aff895d
9 changed files with 12 additions and 24 deletions
@@ -43,7 +43,7 @@ public interface SearchEverywhereContributor<F> {
boolean processSelectedItem(Object selected, int modifiers);
ListCellRenderer getElementsRenderer();
ListCellRenderer getElementsRenderer(JList<?> list);
Object getDataForItem(Object element, String dataId);
@@ -45,7 +45,7 @@ import java.util.LinkedList;
/**
* @author Konstantin Bulenkov
*/
class SearchEverywherePsiRenderer extends PsiElementListCellRenderer<PsiElement> {
public class SearchEverywherePsiRenderer extends PsiElementListCellRenderer<PsiElement> {
private final JList myList;
@@ -2,6 +2,7 @@
package com.intellij.ide.actions.searcheverywhere;
import com.intellij.codeInsight.navigation.NavigationUtil;
import com.intellij.ide.actions.SearchEverywherePsiRenderer;
import com.intellij.ide.util.gotoByName.ChooseByNameModel;
import com.intellij.ide.util.gotoByName.ChooseByNamePopup;
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
@@ -14,6 +15,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.event.InputEvent;
public abstract class AbstractGotoSEContributor<F> implements SearchEverywhereContributor<F> {
@@ -95,6 +97,11 @@ public abstract class AbstractGotoSEContributor<F> implements SearchEverywhereCo
return null;
}
@Override
public ListCellRenderer getElementsRenderer(JList<?> list) {
return new SearchEverywherePsiRenderer(list);
}
protected boolean isDumbModeSupported() {
return false;
}
@@ -85,7 +85,7 @@ public class ActionSearchEverywhereContributor implements SearchEverywhereContri
}
@Override
public ListCellRenderer getElementsRenderer() {
public ListCellRenderer getElementsRenderer(JList<?> list) {
return myModel.getListCellRenderer();
}
@@ -2,7 +2,6 @@
package com.intellij.ide.actions.searcheverywhere;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.util.NavigationItemListCellRenderer;
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
import com.intellij.ide.util.gotoByName.GotoClassModel2;
import com.intellij.lang.DependentLanguage;
@@ -50,11 +49,6 @@ public class ClassSearchEverywhereContributor extends AbstractGotoSEContributor<
return new GotoClassModel2(project);
}
@Override
public ListCellRenderer getElementsRenderer() {
return new NavigationItemListCellRenderer();
}
public static class Factory implements SearchEverywhereContributorFactory<Language> {
public static final Function<Language, String> LANGUAGE_NAME_EXTRACTOR = Language::getDisplayName;
public static final Function<Language, Icon> LANGUAGE_ICON_EXTRACTOR = language -> {
@@ -16,7 +16,6 @@ import com.intellij.ui.IdeUICustomization;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.event.InputEvent;
import java.util.List;
import java.util.stream.Collectors;
@@ -57,11 +56,6 @@ public class FileSearchEverywhereContributor extends AbstractGotoSEContributor<F
};
}
@Override
public ListCellRenderer getElementsRenderer() {
return createModel(myProject).getListCellRenderer();
}
@Override
public boolean processSelectedItem(Object selected, int modifiers) {
//todo maybe another elements types
@@ -711,7 +711,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
}
SearchEverywhereContributor contributor = myListModel.getContributorForIndex(index);
Component component = contributor.getElementsRenderer()
Component component = contributor.getElementsRenderer(myResultsList)
.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (isAllTabSelected() && myListModel.isGroupFirstItem(index)) {
@@ -2,7 +2,6 @@
package com.intellij.ide.actions.searcheverywhere;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.util.NavigationItemListCellRenderer;
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
import com.intellij.ide.util.gotoByName.GotoSymbolModel2;
import com.intellij.lang.DependentLanguage;
@@ -14,7 +13,6 @@ import com.intellij.ui.IdeUICustomization;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.List;
import java.util.stream.Collectors;
@@ -48,11 +46,6 @@ public class SymbolSearchEverywhereContributor extends AbstractGotoSEContributor
return new GotoSymbolModel2(project);
}
@Override
public ListCellRenderer getElementsRenderer() {
return new NavigationItemListCellRenderer();
}
public static class Factory implements SearchEverywhereContributorFactory<Language> {
@NotNull
@Override
@@ -123,7 +123,7 @@ public class TopHitSEContributor implements SearchEverywhereContributor<Void> {
}
@Override
public ListCellRenderer getElementsRenderer() {
public ListCellRenderer getElementsRenderer(JList<?> list) {
return new TopHitRenderer(myProject);
}