UX-1 new SearchEverywhere popup

* refactoring
This commit is contained in:
Mikhail Sokolov
2018-06-04 12:19:32 +03:00
parent 2a18870701
commit dcc337a97d
6 changed files with 13 additions and 20 deletions
@@ -3,7 +3,6 @@
*/
package com.intellij.ide.actions.searcheverywhere;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.progress.ProgressIndicator;
import org.jetbrains.annotations.NotNull;
@@ -44,8 +43,7 @@ public interface SearchEverywhereContributor {
ListCellRenderer getElementsRenderer();
@NotNull
DataContext getDataContextForItem(Object element);
Object getDataForItem(Object element, String dataId);
static List<SearchEverywhereContributorFactory> getProviders() {
return Arrays.asList(EP_NAME.getExtensions());
@@ -5,7 +5,6 @@ import com.intellij.codeInsight.navigation.NavigationUtil;
import com.intellij.ide.util.gotoByName.ChooseByNameModel;
import com.intellij.ide.util.gotoByName.ChooseByNamePopup;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.project.DumbService;
@@ -83,11 +82,7 @@ public abstract class AbstractGotoSEContributor implements SearchEverywhereContr
}
@Override
public DataContext getDataContextForItem(Object element) {
return (dataId) -> getItemData(dataId, element);
}
protected Object getItemData(String dataId, Object element) {
public Object getDataForItem(Object element, String dataId) {
if (CommonDataKeys.PSI_ELEMENT.is(dataId)) {
return element;
}
@@ -98,10 +98,9 @@ public class ActionSearchEverywhereContributor implements SearchEverywhereContri
return ActionSearchEverywhereContributor.class.getSimpleName();
}
@NotNull
@Override
public DataContext getDataContextForItem(Object element) {
return DataContext.EMPTY_CONTEXT;
public Object getDataForItem(Object element, String dataId) {
return null;
}
@Override
@@ -66,12 +66,12 @@ public class FileSearchEverywhereContributor extends AbstractGotoSEContributor {
}
@Override
protected Object getItemData(String dataId, Object element) {
public Object getDataForItem(Object element, String dataId) {
if (CommonDataKeys.PSI_FILE.is(dataId)) {
return element;
}
return super.getItemData(dataId, element);
return super.getDataForItem(element, dataId);
}
@Override
@@ -229,8 +229,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
}
SearchEverywhereContributor contributor = myListModel.getContributorForIndex(index);
DataContext context = contributor.getDataContextForItem(myListModel.getElementAt(index));
return context.getData(dataId);
return contributor.getDataForItem(myListModel.getElementAt(index), dataId);
}
@Override
@@ -9,7 +9,10 @@ import com.intellij.ide.ui.search.BooleanOptionDescription;
import com.intellij.ide.ui.search.OptionDescription;
import com.intellij.navigation.ItemPresentation;
import com.intellij.navigation.NavigationItem;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.AbbreviationManager;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.actionSystem.ex.ActionUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -93,10 +96,9 @@ public class TopHitSEContributor implements SearchEverywhereContributor {
return new ContributorSearchResult<>(new ArrayList<>(res), interrupted);
}
@NotNull
@Override
public DataContext getDataContextForItem(Object element) {
return DataContext.EMPTY_CONTEXT;
public Object getDataForItem(Object element, String dataId) {
return null;
}
@Override