drop deprecated DataProvider usages

GitOrigin-RevId: a3ee2786b05e096e2ff56ba0f940b95ffc3ee2c3
This commit is contained in:
Gregory.Shrago
2025-05-01 02:13:48 +04:00
committed by intellij-monorepo-bot
parent 4fb7d1bd5e
commit 421140029d
28 changed files with 155 additions and 212 deletions

View File

@@ -4,7 +4,8 @@ package com.intellij.execution.testDiscovery.actions;
import com.intellij.execution.Location;
import com.intellij.execution.junit2.info.MethodLocation;
import com.intellij.ide.SelectInEditorManager;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.DataSink;
import com.intellij.openapi.actionSystem.UiDataProvider;
import com.intellij.openapi.fileEditor.*;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtilCore;
@@ -32,7 +33,7 @@ import javax.swing.*;
import java.util.Collection;
import java.util.Collections;
class TestMethodUsage implements Usage, UsageInFile, UsageInModule, PsiElementUsage, DataProvider {
class TestMethodUsage implements Usage, UsageInFile, UsageInModule, PsiElementUsage, UiDataProvider {
private final @NotNull SmartPsiElementPointer<? extends PsiMethod> myTestMethodPointer;
private final @Nullable SmartPsiElementPointer<? extends PsiClass> myTestClassPointer;
@@ -168,9 +169,10 @@ class TestMethodUsage implements Usage, UsageInFile, UsageInModule, PsiElementUs
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
if (!UsageView.USAGE_INFO_LIST_KEY.is(dataId)) return null;
PsiElement psi = getElement();
return psi == null ? null : Collections.singletonList(new UsageInfo(psi));
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.lazy(UsageView.USAGE_INFO_LIST_KEY, () -> {
PsiElement psi = getElement();
return psi == null ? null : Collections.singletonList(new UsageInfo(psi));
});
}
}

View File

@@ -6,7 +6,7 @@ f:com.intellij.dvcs.push.PushController
c:com.intellij.dvcs.push.ui.VcsPushDialog
- com.intellij.openapi.ui.DialogWrapper
- com.intellij.dvcs.push.ui.VcsPushUi
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiDataProvider
- *:getCustomParams():java.util.Map
com.intellij.dvcs.push.ui.VcsPushUi
- *:hasWarnings():Z

View File

@@ -355,7 +355,7 @@ c:com.intellij.dvcs.push.ui.VcsLinkedTextComponent
c:com.intellij.dvcs.push.ui.VcsPushDialog
- com.intellij.openapi.ui.DialogWrapper
- com.intellij.dvcs.push.ui.VcsPushUi
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiDataProvider
- pf:myController:com.intellij.dvcs.push.PushController
- pf:myProject:com.intellij.openapi.project.Project
- <init>(com.intellij.openapi.project.Project,java.util.Collection,java.util.List,com.intellij.dvcs.repo.Repository,com.intellij.dvcs.push.PushSource):V
@@ -372,7 +372,6 @@ c:com.intellij.dvcs.push.ui.VcsPushDialog
- enableOkActions(Z):V
- executeAfterRunningPrePushHandlers(com.intellij.openapi.progress.Task$Backgroundable):V
- getAdditionalOptionValue(com.intellij.dvcs.push.PushSupport):com.intellij.dvcs.push.VcsPushOptionValue
- getData(java.lang.String):java.lang.Object
- p:getDimensionServiceKey():java.lang.String
- p:getHelpId():java.lang.String
- p:getOKAction():javax.swing.Action
@@ -382,6 +381,7 @@ c:com.intellij.dvcs.push.ui.VcsPushDialog
- p:postponeValidation():Z
- push(Z):V
- runPrePushHandlersInModalTask():com.intellij.dvcs.push.PrePushHandler$Result
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
- updateOkActions():V
com.intellij.dvcs.push.ui.VcsPushUi
- sf:VCS_PUSH_DIALOG:com.intellij.openapi.actionSystem.DataKey

View File

@@ -8,8 +8,9 @@ import com.intellij.dvcs.repo.VcsRepositoryManager;
import com.intellij.dvcs.ui.DvcsBundle;
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.DataSink;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.actionSystem.UiDataProvider;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.fileEditor.FileDocumentManager;
@@ -41,7 +42,7 @@ import java.util.concurrent.atomic.AtomicReference;
import static com.intellij.util.containers.ContainerUtil.getFirstItem;
import static java.util.Objects.requireNonNull;
public class VcsPushDialog extends DialogWrapper implements VcsPushUi, DataProvider {
public class VcsPushDialog extends DialogWrapper implements VcsPushUi, UiDataProvider {
private static final @NonNls String DIMENSION_KEY = "Vcs.Push.Dialog.v2";
private static final @NonNls String HELP_ID = "Vcs.Push.Dialog";
private static final Logger LOG = Logger.getInstance(VcsPushDialog.class);
@@ -358,11 +359,8 @@ public class VcsPushDialog extends DialogWrapper implements VcsPushUi, DataProvi
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
if (VcsPushUi.VCS_PUSH_DIALOG.is(dataId)) {
return this;
}
return null;
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.set(VcsPushUi.VCS_PUSH_DIALOG, this);
}
@ApiStatus.Experimental

View File

@@ -19,8 +19,10 @@ import java.awt.event.ContainerEvent
import java.awt.event.ContainerListener
@ApiStatus.Internal
class RunToolbarMainWidgetComponent(val presentation: Presentation, place: String, group: ActionGroup) :
FixWidthSegmentedActionToolbarComponent(place, group) {
class RunToolbarMainWidgetComponent(
val presentation: Presentation,
place: String, group: ActionGroup
) : FixWidthSegmentedActionToolbarComponent(place, group), UiDataProvider {
companion object {
private val LOG = Logger.getInstance(RunToolbarMainWidgetComponent::class.java)
private var counter: MutableMap<Project, Int> = mutableMapOf()
@@ -185,6 +187,15 @@ class RunToolbarMainWidgetComponent(val presentation: Presentation, place: Strin
super.removeProject()
}
override fun uiDataSnapshot(sink: DataSink) {
val project = popupController?.project ?: return
val slotManager = RunToolbarSlotManager.getInstance(project)
sink[RunToolbarProcessData.RW_SLOT] = slotManager.mainSlotData.id
sink[RunToolbarData.RUN_TOOLBAR_DATA_KEY] = slotManager.mainSlotData
sink[RunToolbarData.RUN_TOOLBAR_POPUP_STATE_KEY] = isOpened
sink[RunToolbarData.RUN_TOOLBAR_MAIN_STATE] = state
}
private fun add(project: Project) {
popupController = RunToolbarPopupController(project, this)
@@ -194,25 +205,6 @@ class RunToolbarMainWidgetComponent(val presentation: Presentation, place: Strin
if (!RunToolbarProcess.logNeeded) {
LOG.info("add value $value RunToolbar")
}
DataManager.registerDataProvider(component, DataProvider { key ->
when {
RunToolbarProcessData.RW_SLOT.`is`(key) -> {
slotManager.mainSlotData.id
}
RunToolbarData.RUN_TOOLBAR_DATA_KEY.`is`(key) -> {
slotManager.mainSlotData
}
RunToolbarData.RUN_TOOLBAR_POPUP_STATE_KEY.`is`(key) -> {
isOpened
}
RunToolbarData.RUN_TOOLBAR_MAIN_STATE.`is`(key) -> {
state
}
else -> null
}
})
if (value == 1) {
slotManager.stateListeners.addListener(managerStateListener)
slotManager.active = true

View File

@@ -371,7 +371,7 @@ public class TerminalExecutionConsole implements ConsoleView, ObservableConsoleV
(process instanceof PtyBasedProcess && ((PtyBasedProcess)process).hasPty());
}
private final class ConsoleTerminalWidget extends JBTerminalWidget implements DataProvider {
private final class ConsoleTerminalWidget extends JBTerminalWidget {
private ConsoleTerminalWidget(@NotNull Project project, int columns, int lines, @NotNull JBTerminalSystemSettingsProviderBase provider) {
super(project, columns, lines, provider, TerminalExecutionConsole.this, TerminalExecutionConsole.this);
}

View File

@@ -973,7 +973,7 @@ f:com.intellij.build.BuildTreeConsoleView
- com.intellij.build.Filterable
- com.intellij.execution.ui.ConsoleView
- com.intellij.ide.OccurenceNavigator
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiDataProvider
- <init>(com.intellij.openapi.project.Project,com.intellij.build.BuildDescriptor,com.intellij.execution.ui.ExecutionConsole):V
- <init>(com.intellij.openapi.project.Project,com.intellij.build.BuildDescriptor,com.intellij.execution.ui.ExecutionConsole,com.intellij.build.BuildViewSettingsProvider):V
- addFilter(java.util.function.Predicate):V
@@ -987,7 +987,6 @@ f:com.intellij.build.BuildTreeConsoleView
- dispose():V
- getComponent():javax.swing.JComponent
- getContentSize():I
- getData(java.lang.String):java.lang.Object
- getFilter():java.util.function.Predicate
- getNextOccurenceActionName():java.lang.String
- getPreferredFocusableComponent():javax.swing.JComponent
@@ -1009,6 +1008,7 @@ f:com.intellij.build.BuildTreeConsoleView
- scrollTo(I):V
- setHelpId(java.lang.String):V
- setOutputPaused(Z):V
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
f:com.intellij.build.BuildTreeFilters
c:com.intellij.build.BuildView
- com.intellij.build.BuildProgressListener
@@ -5918,12 +5918,12 @@ f:com.intellij.codeInspection.actions.InspectionElement
- getToolWrapper():com.intellij.codeInspection.ex.InspectionToolWrapper
f:com.intellij.codeInspection.actions.RunInspectionAction
- com.intellij.ide.actions.GotoActionBase
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiDataProvider
- <init>():V
- <init>(java.lang.String):V
- getData(java.lang.String):java.lang.Object
- s:runInspection(com.intellij.openapi.project.Project,java.lang.String,com.intellij.openapi.vfs.VirtualFile,com.intellij.psi.PsiElement,com.intellij.psi.PsiFile):V
- s:runInspection(com.intellij.openapi.project.Project,java.lang.String,com.intellij.openapi.vfs.VirtualFile[],com.intellij.psi.PsiElement,com.intellij.psi.PsiFile):V
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
f:com.intellij.codeInspection.actions.RunInspectionIntention
- com.intellij.codeInsight.intention.HighPriorityAction
- com.intellij.codeInsight.intention.IntentionAction
@@ -8366,7 +8366,6 @@ com.intellij.ide.actions.SaveFileAsTemplateHandler
- a:getTemplateText(com.intellij.psi.PsiFile,java.lang.String,java.lang.String):java.lang.String
c:com.intellij.ide.actions.SearchEverywhereAction
- com.intellij.ide.actions.SearchEverywhereBaseAction
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.RightAlignedToolbarAction
- com.intellij.openapi.actionSystem.ex.CustomComponentAction
- com.intellij.openapi.project.DumbAware
@@ -8374,7 +8373,6 @@ c:com.intellij.ide.actions.SearchEverywhereAction
- <init>():V
- actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent):V
- createCustomComponent(com.intellij.openapi.actionSystem.Presentation,java.lang.String):javax.swing.JComponent
- getData(java.lang.String):java.lang.Object
- ps:getShortcut():java.lang.String
a:com.intellij.ide.actions.SearchEverywhereBaseAction
- com.intellij.openapi.actionSystem.AnAction
@@ -11048,7 +11046,6 @@ c:com.intellij.ide.structureView.newStructureView.StructureViewComponent
- com.intellij.openapi.ui.SimpleToolWindowPanel
- com.intellij.ide.structureView.StructureView
- com.intellij.ide.structureView.newStructureView.TreeActionsOwner
- com.intellij.openapi.actionSystem.DataProvider
- <init>(com.intellij.openapi.fileEditor.FileEditor,com.intellij.ide.structureView.StructureViewModel,com.intellij.openapi.project.Project,Z):V
- p:addGroupByActions(com.intellij.openapi.actionSystem.DefaultActionGroup):V
- centerSelectedRow():V

View File

@@ -73,8 +73,8 @@ import java.awt.*;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.*;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
@@ -96,7 +96,7 @@ import static com.intellij.util.ui.UIUtil.*;
/**
* @author Vladislav.Soroka
*/
public final class BuildTreeConsoleView implements ConsoleView, DataProvider, BuildConsoleView, Filterable<ExecutionNode>, OccurenceNavigator {
public final class BuildTreeConsoleView implements ConsoleView, UiDataProvider, BuildConsoleView, Filterable<ExecutionNode>, OccurenceNavigator {
private static final Logger LOG = Logger.getInstance(BuildTreeConsoleView.class);
private static final @NonNls String TREE = "tree";
@@ -817,15 +817,14 @@ public final class BuildTreeConsoleView implements ConsoleView, DataProvider, Bu
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
if (PlatformCoreDataKeys.HELP_ID.is(dataId)) return "reference.build.tool.window";
if (CommonDataKeys.PROJECT.is(dataId)) return myProject;
if (CommonDataKeys.NAVIGATABLE_ARRAY.is(dataId)) return extractSelectedNodesNavigatables();
if (CommonDataKeys.NAVIGATABLE.is(dataId)) return extractSelectedNodeNavigatable();
return null;
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.set(PlatformCoreDataKeys.HELP_ID, "reference.build.tool.window");
sink.set(CommonDataKeys.PROJECT, myProject);
sink.set(CommonDataKeys.NAVIGATABLE_ARRAY, extractSelectedNodesNavigatables());
sink.set(CommonDataKeys.NAVIGATABLE, extractSelectedNodeNavigatable());
}
private @Nullable Object extractSelectedNodeNavigatable() {
private @Nullable Navigatable extractSelectedNodeNavigatable() {
TreePath selectedPath = TreeUtil.getSelectedPathIfOne(myTree);
if (selectedPath == null) return null;
DefaultMutableTreeNode node = ObjectUtils.tryCast(selectedPath.getLastPathComponent(), DefaultMutableTreeNode.class);
@@ -837,7 +836,7 @@ public final class BuildTreeConsoleView implements ConsoleView, DataProvider, Bu
return navigatables.get(0);
}
private Object extractSelectedNodesNavigatables() {
private Navigatable @Nullable [] extractSelectedNodesNavigatables() {
final List<Navigatable> navigatables = new ArrayList<>();
for (ExecutionNode each : getSelectedNodes()) {
List<Navigatable> navigatable = each.getNavigatables();

View File

@@ -20,10 +20,7 @@ import com.intellij.ide.util.gotoByName.ChooseByNameFilter;
import com.intellij.ide.util.gotoByName.ChooseByNamePopup;
import com.intellij.lang.InjectableLanguage;
import com.intellij.lang.Language;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.ReadAction;
@@ -59,7 +56,7 @@ import java.util.Set;
/**
* @author Konstantin Bulenkov
*/
public final class RunInspectionAction extends GotoActionBase implements DataProvider {
public final class RunInspectionAction extends GotoActionBase implements UiDataProvider {
private static final Logger LOGGER = Logger.getInstance(RunInspectionAction.class);
private final String myPredefinedText;
@@ -104,8 +101,8 @@ public final class RunInspectionAction extends GotoActionBase implements DataPro
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
return PlatformDataKeys.PREDEFINED_TEXT.is(dataId) ? myPredefinedText : null;
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.set(PlatformDataKeys.PREDEFINED_TEXT, myPredefinedText);
}
public static void runInspection(@NotNull Project project,

View File

@@ -6,8 +6,9 @@ import com.intellij.find.usages.api.SearchTarget
import com.intellij.find.usages.impl.AllSearchOptions
import com.intellij.model.Pointer
import com.intellij.navigation.ItemPresentation
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.actionSystem.DataSink
import com.intellij.openapi.actionSystem.KeyboardShortcut
import com.intellij.openapi.actionSystem.UiDataProvider
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.fileEditor.FileEditor
import com.intellij.openapi.project.Project
@@ -26,7 +27,7 @@ class SearchTarget2UsageTarget(
private val project: Project,
target: SearchTarget,
private val allOptions: AllSearchOptions,
) : UsageTarget, DataProvider, ConfigurableUsageTarget {
) : UsageTarget, UiDataProvider, ConfigurableUsageTarget {
private val myPointer: Pointer<out SearchTarget> = target.createPointer()
override fun isValid(): Boolean = myPointer.dereference() != null
@@ -87,10 +88,7 @@ class SearchTarget2UsageTarget(
// ----- data context -----
override fun getData(dataId: String): Any? {
if (UsageView.USAGE_SCOPE.`is`(dataId)) {
return allOptions.options.searchScope
}
return null
override fun uiDataSnapshot(sink: DataSink) {
sink[UsageView.USAGE_SCOPE] = allOptions.options.searchScope
}
}

View File

@@ -28,7 +28,6 @@ import com.intellij.util.FontUtil;
import com.intellij.util.JavaCoroutines;
import kotlin.Unit;
import kotlin.coroutines.Continuation;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -41,7 +40,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @author Konstantin Bulenkov
*/
public class SearchEverywhereAction extends SearchEverywhereBaseAction
implements CustomComponentAction, RightAlignedToolbarAction, DumbAware, DataProvider {
implements CustomComponentAction, RightAlignedToolbarAction, DumbAware {
private static final Logger LOG = Logger.getInstance(SearchEverywhereAction.class);
public static final Key<ConcurrentHashMap<ClientId, JBPopup>> SEARCH_EVERYWHERE_POPUP = new Key<>("SearchEverywherePopup");
@@ -93,11 +92,6 @@ public class SearchEverywhereAction extends SearchEverywhereBaseAction
: ActionToolbar.DEFAULT_MINIMUM_BUTTON_SIZE;
}
@Override
public @Nullable Object getData(@NotNull @NonNls String dataId) {
return null;
}
protected static String getShortcut() {
Shortcut[] shortcuts = KeymapUtil.getActiveKeymapShortcuts(IdeActions.ACTION_SEARCH_EVERYWHERE).getShortcuts();
if (shortcuts.length == 0) {

View File

@@ -83,7 +83,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
public class StructureViewComponent extends SimpleToolWindowPanel implements TreeActionsOwner, DataProvider, StructureView {
public class StructureViewComponent extends SimpleToolWindowPanel implements TreeActionsOwner, StructureView {
private static final Logger LOG = Logger.getInstance(StructureViewComponent.class);
private static final Key<TreeState> STRUCTURE_VIEW_STATE_KEY = Key.create("STRUCTURE_VIEW_STATE");

View File

@@ -2,7 +2,6 @@
package com.intellij.openapi.projectRoots.impl.jdkDownloader
import com.intellij.lang.LangBundle
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.application.invokeLater
import com.intellij.openapi.progress.ProgressIndicator
@@ -40,14 +39,7 @@ internal object RuntimeChooserCustom {
val isActionAvailable: Boolean
get() = sdkType != null
val jdkDownloaderExtensionProvider: DataProvider = DataProvider { dataId ->
when {
JDK_DOWNLOADER_EXT.`is`(dataId) -> jdkDownloaderExtension
else -> null
}
}
private val jdkDownloaderExtension = object : JdkDownloaderDialogHostExtension {
val jdkDownloaderExtension = object : JdkDownloaderDialogHostExtension {
override fun allowWsl(): Boolean = false
override fun getEel(): EelApi? = null

View File

@@ -3,7 +3,8 @@ package com.intellij.openapi.projectRoots.impl.jdkDownloader
import com.intellij.icons.AllIcons
import com.intellij.lang.LangBundle
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.actionSystem.DataSink
import com.intellij.openapi.actionSystem.UiDataProvider
import com.intellij.openapi.application.ApplicationInfo
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.application.invokeLater
@@ -45,7 +46,7 @@ internal sealed class RuntimeChooserDialogResult {
internal class RuntimeChooserDialog(
private val project: Project?,
private val model: RuntimeChooserModel,
) : DialogWrapper(project), DataProvider {
) : DialogWrapper(project), UiDataProvider {
private val USE_DEFAULT_RUNTIME_CODE = NEXT_USER_EXIT_CODE + 42
private lateinit var jdkInstallDirSelector: TextFieldWithBrowseButton
@@ -87,8 +88,8 @@ internal class RuntimeChooserDialog(
clipboardUpdateAction()
}
override fun getData(dataId: String): Any? {
return RuntimeChooserCustom.jdkDownloaderExtensionProvider.getData(dataId)
override fun uiDataSnapshot(sink: DataSink) {
sink[JDK_DOWNLOADER_EXT] = RuntimeChooserCustom.jdkDownloaderExtension
}
override fun createSouthAdditionalPanel(): JPanel {

View File

@@ -9906,7 +9906,7 @@ a:com.intellij.openapi.roots.ui.configuration.actions.IconWithTextAction
- s:createCustomComponentImpl(com.intellij.openapi.actionSystem.AnAction,com.intellij.openapi.actionSystem.Presentation,java.lang.String):javax.swing.JComponent
c:com.intellij.openapi.ui.FrameWrapper
- com.intellij.openapi.Disposable
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiCompatibleDataProvider
- pf:coroutineScope:kotlinx.coroutines.CoroutineScope
- <init>(com.intellij.openapi.project.Project):V
- <init>(com.intellij.openapi.project.Project,java.lang.String):V
@@ -9922,7 +9922,6 @@ c:com.intellij.openapi.ui.FrameWrapper
- p:createJFrame(com.intellij.openapi.wm.IdeFrame):javax.swing.JFrame
- dispose():V
- getComponent():javax.swing.JComponent
- getData(java.lang.String):java.lang.Object
- p:getDimensionKey():java.lang.String
- f:getFrame():java.awt.Window
- getPreferredFocusedComponent():javax.swing.JComponent
@@ -9942,6 +9941,7 @@ c:com.intellij.openapi.ui.FrameWrapper
- f:setTitle(java.lang.String):V
- show():V
- f:show(Z):V
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
f:com.intellij.openapi.ui.VerticalSeparatorComponent
- javax.swing.JComponent
- <init>():V

View File

@@ -6,7 +6,6 @@ import com.intellij.ide.IdeBundle
import com.intellij.ide.actions.QuickChangeLookAndFeel
import com.intellij.ide.ui.*
import com.intellij.ide.ui.experimental.ExperimentalUiCollector
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ex.ApplicationInfoEx
import com.intellij.openapi.diagnostic.Logger
@@ -37,8 +36,10 @@ import javax.swing.Icon
import javax.swing.JLabel
import javax.swing.JPanel
internal class MeetNewUiToolWindow(private val project: Project, private val toolWindow: ToolWindow)
: SimpleToolWindowPanel(true, true), DataProvider {
internal class MeetNewUiToolWindow(
private val project: Project,
private val toolWindow: ToolWindow
) : SimpleToolWindowPanel(true, true) {
companion object {
internal val LOG: Logger = logger<MeetNewUiToolWindow>()

View File

@@ -4,7 +4,8 @@ package com.intellij.openapi.command.impl;
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.DataSink;
import com.intellij.openapi.actionSystem.UiDataProvider;
import com.intellij.openapi.command.undo.DocumentReference;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
@@ -24,7 +25,7 @@ import javax.swing.*;
import java.util.Collection;
@ApiStatus.Internal
public final class CannotUndoReportDialog extends DialogWrapper implements DataProvider {
public final class CannotUndoReportDialog extends DialogWrapper implements UiDataProvider {
private static final int FILE_TEXT_PREVIEW_CHARS_LIMIT = 40;
private final Project myProject;
@@ -84,14 +85,11 @@ public final class CannotUndoReportDialog extends DialogWrapper implements DataP
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
if (CommonDataKeys.NAVIGATABLE.is(dataId)) {
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.lazy(CommonDataKeys.NAVIGATABLE, () -> {
DocumentReference value = myProblemFilesList.getSelectedValue();
VirtualFile file = value != null ? value.getFile() : null;
if (file != null) {
return new OpenFileDescriptor(myProject, file);
}
}
return null;
return file != null ? new OpenFileDescriptor(myProject, file) : null;
});
}
}

View File

@@ -3,9 +3,7 @@ package com.intellij.openapi.ui
import com.intellij.ide.ui.UISettings.Companion.setupAntialiasing
import com.intellij.openapi.Disposable
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.actionSystem.CommonShortcuts
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.actionSystem.*
import com.intellij.openapi.actionSystem.ex.ActionUtil
import com.intellij.openapi.actionSystem.impl.MouseGestureManager
import com.intellij.openapi.application.ApplicationManager
@@ -24,7 +22,6 @@ import com.intellij.openapi.wm.ex.IdeFocusTraversalPolicy
import com.intellij.openapi.wm.ex.IdeFrameEx
import com.intellij.openapi.wm.ex.WindowManagerEx
import com.intellij.openapi.wm.impl.*
import com.intellij.openapi.wm.impl.RootPaneUtil
import com.intellij.openapi.wm.impl.customFrameDecorations.header.CustomFrameDialogContent
import com.intellij.openapi.wm.impl.customFrameDecorations.header.CustomHeader
import com.intellij.platform.ide.CoreUiCoroutineScopeHolder
@@ -46,12 +43,14 @@ import java.nio.file.Path
import java.util.function.BooleanSupplier
import javax.swing.*
open class FrameWrapper @JvmOverloads constructor(private val project: Project?,
@param:NonNls protected open val dimensionKey: String? = null,
private val isDialog: Boolean = false,
@NlsContexts.DialogTitle var title: String = "",
open var component: JComponent? = null,
@JvmField protected val coroutineScope: CoroutineScope? = null) : Disposable, DataProvider {
open class FrameWrapper @JvmOverloads constructor(
private val project: Project?,
@param:NonNls protected open val dimensionKey: String? = null,
private val isDialog: Boolean = false,
@NlsContexts.DialogTitle var title: String = "",
open var component: JComponent? = null,
@JvmField protected val coroutineScope: CoroutineScope? = null,
) : Disposable, UiCompatibleDataProvider {
open var preferredFocusedComponent: JComponent? = null
private var images: List<Image> = emptyList()
private var isCloseOnEsc = false
@@ -263,15 +262,7 @@ open class FrameWrapper @JvmOverloads constructor(private val project: Project?,
internal open fun getNorthExtension(key: String?): JComponent? = null
override fun getData(@NonNls dataId: String): Any? {
return if (CommonDataKeys.PROJECT.`is`(dataId)) project else null
}
internal fun getDataInner(@NonNls dataId: String): Any? {
return when {
CommonDataKeys.PROJECT.`is`(dataId) -> project
else -> getData(dataId)
}
override fun uiDataSnapshot(sink: DataSink) {
}
fun closeOnEsc() {
@@ -313,7 +304,10 @@ open class FrameWrapper @JvmOverloads constructor(private val project: Project?,
}
}
private class MyJFrame(private var owner: FrameWrapper, private val parent: IdeFrame) : JFrame(), DataProvider, IdeFrame.Child, IdeFrameEx, DisposableWindow {
private class MyJFrame(
private var owner: FrameWrapper,
private val parent: IdeFrame
) : JFrame(), UiDataProvider, IdeFrame.Child, IdeFrameEx, DisposableWindow {
private var frameTitle: String? = null
private var fileTitle: String? = null
private var file: Path? = null
@@ -400,12 +394,12 @@ private class MyJFrame(private var owner: FrameWrapper, private val parent: IdeF
menuBar = null
}
override fun getData(dataId: String): Any? {
return when {
IdeFrame.KEY.`is`(dataId) -> this
owner.isDisposing -> null
else -> owner.getDataInner(dataId)
override fun uiDataSnapshot(sink: DataSink) {
sink[IdeFrame.KEY] = this
if (!owner.isDisposing) {
DataSink.uiDataSnapshot(sink, owner)
}
sink[CommonDataKeys.PROJECT] = project
}
override fun paint(g: Graphics) {
@@ -422,8 +416,10 @@ private class MyJFrame(private var owner: FrameWrapper, private val parent: IdeF
}
}
private class MyJDialog(private val owner: FrameWrapper, private val parent: IdeFrame) :
JDialog(ComponentUtil.getWindow(parent.component)), DataProvider, IdeFrame.Child, DisposableWindow {
private class MyJDialog(
private val owner: FrameWrapper,
private val parent: IdeFrame
) : JDialog(ComponentUtil.getWindow(parent.component)), UiDataProvider, IdeFrame.Child, DisposableWindow {
override fun getComponent(): JComponent = getRootPane()
override fun getStatusBar(): StatusBar? = null
@@ -461,12 +457,12 @@ private class MyJDialog(private val owner: FrameWrapper, private val parent: Ide
override fun isWindowDisposed(): Boolean = owner.isDisposed
override fun getData(dataId: String): Any? {
return when {
IdeFrame.KEY.`is`(dataId) -> this
owner.isDisposing -> null
else -> owner.getDataInner(dataId)
override fun uiDataSnapshot(sink: DataSink) {
sink[IdeFrame.KEY] = this
if (!owner.isDisposing) {
DataSink.uiDataSnapshot(sink, owner)
}
sink[CommonDataKeys.PROJECT] = project
}
override fun paint(g: Graphics) {

View File

@@ -27,7 +27,6 @@ a:com.intellij.ide.todo.TodoPanel
- com.intellij.openapi.ui.SimpleToolWindowPanel
- com.intellij.ide.OccurenceNavigator
- com.intellij.openapi.Disposable
- com.intellij.openapi.actionSystem.DataProvider
- psf:LOG:com.intellij.openapi.diagnostic.Logger
- sf:TODO_PANEL_DATA_KEY:com.intellij.openapi.actionSystem.DataKey
- pf:myProject:com.intellij.openapi.project.Project

View File

@@ -51,7 +51,7 @@ import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.*;
import java.awt.*;
public abstract class TodoPanel extends SimpleToolWindowPanel implements OccurenceNavigator, DataProvider, Disposable {
public abstract class TodoPanel extends SimpleToolWindowPanel implements OccurenceNavigator, Disposable {
protected static final Logger LOG = Logger.getInstance(TodoPanel.class);

View File

@@ -3,8 +3,9 @@ package com.intellij.usages.impl.rules;
import com.intellij.icons.AllIcons;
import com.intellij.navigation.ItemPresentation;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.DataSink;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.actionSystem.UiDataProvider;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleGrouper;
import com.intellij.openapi.module.ModuleType;
@@ -142,7 +143,7 @@ class ModuleGroupingRule implements UsageGroupingRuleEx, DumbAware {
}
}
private static class ModuleUsageGroup extends UsageGroupBase implements DataProvider {
private static class ModuleUsageGroup extends UsageGroupBase implements UiDataProvider {
private final Module myModule;
private final ModuleGrouper myGrouper;
@@ -186,12 +187,8 @@ class ModuleGroupingRule implements UsageGroupingRuleEx, DumbAware {
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
if (!isValid()) return null;
if (LangDataKeys.MODULE_CONTEXT.is(dataId)) {
return myModule;
}
return null;
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.set(LangDataKeys.MODULE_CONTEXT, myModule);
}
}

View File

@@ -184,7 +184,7 @@ com.intellij.usages.UsageGroup
- isValid():Z
- update():V
c:com.intellij.usages.UsageInfo2UsageAdapter
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiCompatibleDataProvider
- com.intellij.usages.RenameableUsage
- com.intellij.usages.UsageInfoAdapter
- com.intellij.usages.UsagePresentation
@@ -203,7 +203,6 @@ c:com.intellij.usages.UsageInfo2UsageAdapter
- p:computeText():com.intellij.usages.TextChunk[]
- s:convert(com.intellij.usageView.UsageInfo[]):com.intellij.usages.UsageInfo2UsageAdapter[]
- getBackgroundColor():java.awt.Color
- getData(java.lang.String):java.lang.Object
- getDocument():com.intellij.openapi.editor.Document
- f:getElement():com.intellij.psi.PsiElement
- getFile():com.intellij.openapi.vfs.VirtualFile
@@ -237,6 +236,7 @@ c:com.intellij.usages.UsageInfo2UsageAdapter
- reset():V
- pf:resetCachedPresentation():V
- selectInEditor():V
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
com.intellij.usages.UsageInfoAdapter
- com.intellij.usages.Usage
- com.intellij.usages.rules.MergeableUsage

View File

@@ -5,7 +5,8 @@ import com.intellij.ide.SelectInEditorManager;
import com.intellij.ide.TypePresentationService;
import com.intellij.injected.editor.VirtualFileWindow;
import com.intellij.lang.findUsages.LanguageFindUsages;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.DataSink;
import com.intellij.openapi.actionSystem.UiCompatibleDataProvider;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.editor.DefaultLanguageHighlighterColors;
@@ -45,7 +46,7 @@ import java.util.concurrent.CompletableFuture;
public class UsageInfo2UsageAdapter implements UsageInModule, UsageInfoAdapter,
UsageInLibrary, UsageInFile, PsiElementUsage,
MergeableUsage,
RenameableUsage, DataProvider, UsagePresentation {
RenameableUsage, UiCompatibleDataProvider, UsagePresentation {
public static final NotNullFunction<UsageInfo, Usage> CONVERTER = UsageInfo2UsageAdapter::new;
private static final Comparator<UsageInfo> BY_NAVIGATION_OFFSET = Comparator.comparingInt(UsageInfo::getNavigationOffset);
@SuppressWarnings("StaticNonFinalField")
@@ -537,14 +538,9 @@ public class UsageInfo2UsageAdapter implements UsageInModule, UsageInfoAdapter,
}
@Override
public @Nullable Object getData(@NotNull String dataId) {
if (UsageView.USAGE_INFO_KEY.is(dataId)) {
return getUsageInfo();
}
if (UsageView.USAGE_INFO_LIST_KEY.is(dataId)) {
return Arrays.asList(getMergedInfos());
}
return null;
public void uiDataSnapshot(@NotNull DataSink sink) {
sink.set(UsageView.USAGE_INFO_KEY, getUsageInfo());
sink.set(UsageView.USAGE_INFO_LIST_KEY, Arrays.asList(getMergedInfos()));
}
private long myModificationStamp;

View File

@@ -3682,10 +3682,10 @@ c:com.intellij.openapi.vcs.history.actions.CopyRevisionNumberAction
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
f:com.intellij.openapi.vcs.history.impl.VcsSelectionHistoryDialog
- com.intellij.openapi.ui.FrameWrapper
- com.intellij.openapi.actionSystem.DataProvider
- com.intellij.openapi.actionSystem.UiDataProvider
- <init>(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.editor.Document,com.intellij.openapi.vcs.history.VcsHistoryProvider,com.intellij.openapi.vcs.AbstractVcs,I,I,java.lang.String):V
- dispose():V
- getData(java.lang.String):java.lang.Object
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
c:com.intellij.openapi.vcs.history.impl.VcsSelectionHistoryDialog$MyDiffAction
- com.intellij.openapi.actionSystem.AnActionExtensionProvider
- <init>():V

View File

@@ -66,7 +66,7 @@ import java.util.List;
import static com.intellij.util.ObjectUtils.notNull;
public final class VcsSelectionHistoryDialog extends FrameWrapper implements DataProvider {
public final class VcsSelectionHistoryDialog extends FrameWrapper implements UiDataProvider {
private static final DataKey<VcsSelectionHistoryDialog> SELECTION_HISTORY_DIALOG_KEY = DataKey.create("VCS_SELECTION_HISTORY_DIALOG");
private static final VcsRevisionNumber LOCAL_REVISION_NUMBER = new VcsRevisionNumber() {
@@ -459,31 +459,22 @@ public final class VcsSelectionHistoryDialog extends FrameWrapper implements Dat
}
@Override
public Object getData(@NotNull @NonNls String dataId) {
if (SELECTION_HISTORY_DIALOG_KEY.is(dataId)) {
return this;
}
else if (CommonDataKeys.PROJECT.is(dataId)) {
return myProject;
}
else if (VcsDataKeys.VCS_VIRTUAL_FILE.is(dataId)) {
return myFile;
}
else if (VcsDataKeys.VCS_FILE_REVISION.is(dataId)) {
VcsFileRevision selectedObject = myList.getSelectedObject();
return selectedObject instanceof CurrentRevision ? null : selectedObject;
}
else if (VcsDataKeys.VCS_FILE_REVISIONS.is(dataId)) {
return ContainerUtil.filter(myList.getSelectedObjects(), Conditions.notEqualTo(myBlockLoader.getLocalRevision()))
.toArray(new VcsFileRevision[0]);
}
else if (VcsDataKeys.VCS.is(dataId)) {
return myActiveVcs.getKeyInstanceMethod();
}
else if (PlatformCoreDataKeys.HELP_ID.is(dataId)) {
return notNull(myVcsHistoryProvider.getHelpId(), "reference.dialogs.vcs.selection.history");
}
return null;
public void uiDataSnapshot(@NotNull DataSink sink) {
super.uiDataSnapshot(sink);
sink.set(SELECTION_HISTORY_DIALOG_KEY, this);
sink.set(CommonDataKeys.PROJECT, myProject);
sink.set(VcsDataKeys.VCS_VIRTUAL_FILE, myFile);
VcsFileRevision selectedObject = myList.getSelectedObject();
sink.set(VcsDataKeys.VCS_FILE_REVISION, selectedObject instanceof CurrentRevision o ? o : null);
List<VcsFileRevision> selectedObjects = myList.getSelectedObjects();
sink.set(VcsDataKeys.VCS_FILE_REVISIONS, ContainerUtil.filter(
selectedObjects, Conditions.notEqualTo(myBlockLoader.getLocalRevision()))
.toArray(new VcsFileRevision[0]));
sink.set(VcsDataKeys.VCS, myActiveVcs.getKeyInstanceMethod());
sink.set(PlatformCoreDataKeys.HELP_ID,
notNull(myVcsHistoryProvider.getHelpId(), "reference.dialogs.vcs.selection.history"));
}
private @NotNull DiffFromHistoryHandler getDiffHandler() {

View File

@@ -2,7 +2,8 @@
package org.jetbrains.plugins.github.ui.dialog
import com.intellij.CommonBundle
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.actionSystem.DataSink
import com.intellij.openapi.actionSystem.UiDataProvider
import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.Splitter
import com.intellij.openapi.util.Disposer
@@ -10,13 +11,13 @@ import com.intellij.openapi.vcs.VcsDataKeys
import com.intellij.openapi.vcs.changes.ui.SelectFilesDialog
import com.intellij.openapi.vcs.ui.CommitMessage
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.annotations.NonNls
import org.jetbrains.plugins.github.i18n.GithubBundle
import javax.swing.JComponent
internal class GithubUntrackedFilesDialog(private val myProject: Project, untrackedFiles: List<VirtualFile>) :
SelectFilesDialog(myProject, untrackedFiles, null, null, true, false),
DataProvider {
internal class GithubUntrackedFilesDialog(
private val myProject: Project,
untrackedFiles: List<VirtualFile>
) : SelectFilesDialog(myProject, untrackedFiles, null, null, true, false), UiDataProvider {
private var myCommitMessagePanel: CommitMessage? = null
val commitMessage: String
@@ -50,11 +51,8 @@ internal class GithubUntrackedFilesDialog(private val myProject: Project, untrac
return splitter
}
override fun getData(@NonNls dataId: String): Any? {
return if (VcsDataKeys.COMMIT_MESSAGE_CONTROL.`is`(dataId)) {
myCommitMessagePanel
}
else null
override fun uiDataSnapshot(sink: DataSink) {
sink[VcsDataKeys.COMMIT_MESSAGE_CONTROL] = myCommitMessagePanel
}
override fun getDimensionServiceKey(): String {

View File

@@ -3,7 +3,6 @@ package training.ui
import com.intellij.icons.AllIcons
import com.intellij.openapi.Disposable
import com.intellij.openapi.actionSystem.DataProvider
import com.intellij.openapi.actionSystem.impl.ActionButton
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.invokeLater
@@ -31,8 +30,10 @@ import javax.swing.JLabel
import javax.swing.JPanel
import javax.swing.border.MatteBorder
class LearnToolWindow internal constructor(val project: Project, private val wholeToolWindow: ToolWindow)
: SimpleToolWindowPanel(true, true), DataProvider {
class LearnToolWindow internal constructor(
val project: Project,
private val wholeToolWindow: ToolWindow
) : SimpleToolWindowPanel(true, true) {
internal val parentDisposable: Disposable = wholeToolWindow.disposable
internal val learnPanel: LearnPanel = LearnPanel(this)

View File

@@ -25,7 +25,7 @@ import java.util.List;
/**
* @author Alexander Lobas
*/
public class DesignerActionPanel implements DataProvider {
public class DesignerActionPanel implements UiDataProvider {
public static final String TOOLBAR = "DesignerToolbar";
private final DefaultActionGroup myActionGroup;
@@ -225,17 +225,13 @@ public class DesignerActionPanel implements DataProvider {
}
@Override
public Object getData(@NotNull @NonNls String dataId) {
if (PlatformDataKeys.DELETE_ELEMENT_PROVIDER.is(dataId) ||
PlatformDataKeys.CUT_PROVIDER.is(dataId) ||
PlatformDataKeys.COPY_PROVIDER.is(dataId) ||
PlatformDataKeys.PASTE_PROVIDER.is(dataId)) {
JTable table = DesignerToolWindowManager.getInstance(myDesigner).getPropertyTable();
Component focusOwner = IdeFocusManager.getInstance(myDesigner.getProject()).getFocusOwner();
if (!UIUtil.isAncestor(table, focusOwner)) {
return myCommonEditActionsProvider;
}
}
return null;
public void uiDataSnapshot(@NotNull DataSink sink) {
JTable table = DesignerToolWindowManager.getInstance(myDesigner).getPropertyTable();
Component focusOwner = IdeFocusManager.getInstance(myDesigner.getProject()).getFocusOwner();
if (UIUtil.isAncestor(table, focusOwner)) return;
sink.set(PlatformDataKeys.DELETE_ELEMENT_PROVIDER, myCommonEditActionsProvider);
sink.set(PlatformDataKeys.CUT_PROVIDER, myCommonEditActionsProvider);
sink.set(PlatformDataKeys.COPY_PROVIDER, myCommonEditActionsProvider);
sink.set(PlatformDataKeys.PASTE_PROVIDER, myCommonEditActionsProvider);
}
}