From 492ea4777630d3f8cf300d2d17c9f16fe18de698 Mon Sep 17 00:00:00 2001 From: Konstantin Aleev Date: Mon, 10 Jun 2019 17:24:16 +0300 Subject: [PATCH] [service-view] drag bean implements data provider GitOrigin-RevId: 9f7dbe5a9b6707d227576b8cd28c6ff1c7a3d485 --- .../execution/services/ServiceViewDragHelper.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java b/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java index 34d6742c90c3..636e5994bc20 100644 --- a/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java +++ b/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java @@ -6,6 +6,8 @@ import com.intellij.ide.dnd.*; import com.intellij.ide.projectView.PresentationData; import com.intellij.ide.util.treeView.PresentableNodeDescriptor; import com.intellij.navigation.ItemPresentation; +import com.intellij.openapi.actionSystem.DataProvider; +import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.text.StringUtil; @@ -128,7 +130,7 @@ class ServiceViewDragHelper { return content; } - static class ServiceViewDragBean { + static class ServiceViewDragBean implements DataProvider { private final ServiceView myServiceView; private final List myItems; private final ServiceViewContributor myContributor; @@ -160,6 +162,15 @@ class ServiceViewDragHelper { ServiceViewContributor getContributor() { return myContributor; } + + @Nullable + @Override + public Object getData(@NotNull String dataId) { + if (PlatformDataKeys.SELECTED_ITEMS.is(dataId)) { + return ContainerUtil.map2Array(myItems, ServiceViewItem::getValue); + } + return null; + } } private static class ServiceViewDnDSource implements DnDSource {