mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +07:00
drop HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY usages
GitOrigin-RevId: 806df6ba21cbb4e0d5e3c4ca98e6f1325c376ca2
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fafb1708ce
commit
a1c6f16c0f
@@ -12,7 +12,6 @@ import com.intellij.ide.highlighter.HighlighterFactory
|
||||
import com.intellij.ide.util.PropertiesComponent
|
||||
import com.intellij.lang.Language
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||
import com.intellij.openapi.actionSystem.PlatformCoreDataKeys
|
||||
import com.intellij.openapi.actionSystem.UiDataProvider
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.WriteAction
|
||||
@@ -23,7 +22,6 @@ import com.intellij.openapi.editor.event.DocumentEvent
|
||||
import com.intellij.openapi.editor.event.DocumentListener
|
||||
import com.intellij.openapi.editor.ex.EditorEx
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
||||
import com.intellij.openapi.fileTypes.PlainTextLanguage
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.Key
|
||||
@@ -78,13 +76,9 @@ class EditorCellViewer(private val project: Project,
|
||||
}
|
||||
}
|
||||
|
||||
private val wrappedComponent = UiDataProvider.wrapComponent(
|
||||
editor.component,
|
||||
UiDataProvider { sink ->
|
||||
sink[CommonDataKeys.EDITOR] = editor
|
||||
sink[CommonDataKeys.HOST_EDITOR] = editor
|
||||
sink[PlatformCoreDataKeys.FILE_EDITOR] = TextEditorProvider.getInstance().getTextEditor(editor)
|
||||
})
|
||||
private val wrappedComponent = UiDataProvider.wrapComponent(editor.component) { sink ->
|
||||
sink[CommonDataKeys.EDITOR] = editor
|
||||
}
|
||||
|
||||
override val component: JComponent
|
||||
get() = wrappedComponent
|
||||
|
||||
@@ -168,7 +168,6 @@ public class TableResultPanel extends UserDataHolderBase
|
||||
myAutoscrollLocker = new JBAutoScroller.AutoscrollLocker();
|
||||
myDataHookUp = dataHookUp;
|
||||
myMainPanel = new GridMainPanel(this, sink -> uiDataSnapshot(sink));
|
||||
myMainPanel.getComponent().putClientProperty(UIUtil.HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY, Boolean.TRUE);
|
||||
myColumnAttributes = new ColumnAttributes();
|
||||
myLocalFilterState = new LocalFilterState(this, true);
|
||||
|
||||
@@ -875,6 +874,7 @@ public class TableResultPanel extends UserDataHolderBase
|
||||
|
||||
protected void uiDataSnapshot(@NotNull DataSink sink) {
|
||||
sink.set(CommonDataKeys.PROJECT, myProject);
|
||||
sink.setNull(CommonDataKeys.EDITOR);
|
||||
sink.set(PlatformDataKeys.COPY_PROVIDER, new GridCopyProvider(this));
|
||||
sink.set(PlatformDataKeys.PASTE_PROVIDER, new GridPasteProvider(this, GridUtil::retrieveDataFromText));
|
||||
sink.set(PlatformDataKeys.DELETE_ELEMENT_PROVIDER, new DeleteRowsAction());
|
||||
|
||||
@@ -129,7 +129,6 @@ public class GridCellEditorTextField extends EditorTextField implements Disposab
|
||||
sink.set(CommonDataKeys.VIRTUAL_FILE, FileDocumentManager.getInstance().getFile(getDocument()));
|
||||
Editor editor = getEditor();
|
||||
sink.set(CommonDataKeys.EDITOR, editor);
|
||||
sink.set(CommonDataKeys.HOST_EDITOR, editor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -80,7 +80,6 @@ public class TextResultView implements ResultView {
|
||||
myViewer.getScrollPane().setBorder(JBUI.Borders.empty());
|
||||
myComponent = UiDataProvider.wrapComponent(myViewer.getComponent(), sink -> {
|
||||
sink.set(CommonDataKeys.EDITOR, myViewer);
|
||||
sink.set(CommonDataKeys.HOST_EDITOR, myViewer);
|
||||
});
|
||||
myViewer.setColorsScheme(myViewer.createBoundColorSchemeDelegate(myResultPanel.getEditorColorsScheme()));
|
||||
updateColorScheme(myViewer);
|
||||
|
||||
@@ -363,9 +363,6 @@ f:com.intellij.collaboration.ui.codereview.editor.action.CodeReviewEditorShowFil
|
||||
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
f:com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory
|
||||
- sf:INSTANCE:com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory
|
||||
- f:create(com.intellij.openapi.project.Project,com.intellij.openapi.editor.Document,com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory$ScrollOnChangePolicy,java.lang.String):com.intellij.ui.EditorTextField
|
||||
- bs:create$default(com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory,com.intellij.openapi.project.Project,com.intellij.openapi.editor.Document,com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory$ScrollOnChangePolicy,java.lang.String,I,java.lang.Object):com.intellij.ui.EditorTextField
|
||||
- f:wrapWithLeftIcon(com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory$IconConfig,javax.swing.JComponent):javax.swing.JComponent
|
||||
f:com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory$IconConfig
|
||||
- sf:Companion:com.intellij.collaboration.ui.codereview.timeline.comment.CommentTextFieldFactory$IconConfig$Companion
|
||||
- <init>(javax.swing.Icon,I):V
|
||||
@@ -413,12 +410,14 @@ com.intellij.collaboration.ui.codereview.timeline.thread.CodeReviewResolvableIte
|
||||
- a:isResolved():kotlinx.coroutines.flow.StateFlow
|
||||
f:com.intellij.collaboration.ui.codereview.timeline.thread.TimelineThreadCommentsPanel
|
||||
- com.intellij.util.ui.components.BorderLayoutPanel
|
||||
- com.intellij.openapi.actionSystem.UiDataProvider
|
||||
- sf:Companion:com.intellij.collaboration.ui.codereview.timeline.thread.TimelineThreadCommentsPanel$Companion
|
||||
- sf:FOLD_THRESHOLD:I
|
||||
- sf:UNFOLD_BUTTON_VERTICAL_GAP:I
|
||||
- <init>(javax.swing.ListModel,kotlin.jvm.functions.Function1,I,I):V
|
||||
- b:<init>(javax.swing.ListModel,kotlin.jvm.functions.Function1,I,I,I,kotlin.jvm.internal.DefaultConstructorMarker):V
|
||||
- f:getFoldModel():com.intellij.collaboration.ui.SingleValueModel
|
||||
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
|
||||
f:com.intellij.collaboration.ui.codereview.timeline.thread.TimelineThreadCommentsPanel$Companion
|
||||
- f:createUnfoldComponent(I,kotlin.jvm.functions.Function1):javax.swing.JComponent
|
||||
com.intellij.collaboration.ui.codereview.user.CodeReviewUser
|
||||
|
||||
@@ -161,7 +161,6 @@ object CommentInputActionsComponentFactory {
|
||||
// installed as AnAction, bc otherwise Esc is stolen by editor
|
||||
val anAction = if (overrideEditorAction) action.toAnAction() else action.toAnActionWithEditorPromotion()
|
||||
try {
|
||||
putClientProperty(UIUtil.HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY, true)
|
||||
anAction.registerCustomShortcutSet(shortcut, component)
|
||||
awaitCancellation()
|
||||
}
|
||||
|
||||
@@ -7,9 +7,6 @@ import com.intellij.collaboration.ui.icon.IconsProvider
|
||||
import com.intellij.openapi.actionSystem.DataSink
|
||||
import com.intellij.openapi.actionSystem.PlatformCoreDataKeys
|
||||
import com.intellij.openapi.editor.Document
|
||||
import com.intellij.openapi.editor.actions.IncrementalFindAction
|
||||
import com.intellij.openapi.editor.event.DocumentEvent
|
||||
import com.intellij.openapi.editor.event.DocumentListener
|
||||
import com.intellij.openapi.editor.ex.EditorEx
|
||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
||||
import com.intellij.openapi.fileTypes.FileTypes
|
||||
@@ -17,12 +14,7 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.ui.EditorTextField
|
||||
import com.intellij.ui.scale.JBUIScale
|
||||
import com.intellij.util.ui.JBInsets
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import org.jetbrains.annotations.ApiStatus.Obsolete
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.awt.*
|
||||
import java.awt.event.ComponentAdapter
|
||||
import java.awt.event.ComponentEvent
|
||||
import javax.swing.Icon
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JLabel
|
||||
@@ -32,82 +24,12 @@ import kotlin.math.min
|
||||
|
||||
object CommentTextFieldFactory {
|
||||
|
||||
/**
|
||||
* Use [com.intellij.collaboration.ui.codereview.comment.CodeReviewCommentTextFieldFactory] or create a standalone editor
|
||||
*/
|
||||
@Obsolete
|
||||
fun create(
|
||||
project: Project?,
|
||||
document: Document,
|
||||
scrollOnChange: ScrollOnChangePolicy = ScrollOnChangePolicy.ScrollToField,
|
||||
placeHolder: @Nls String? = null,
|
||||
): EditorTextField = CommentTextField(project, document).apply {
|
||||
putClientProperty(UIUtil.HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY, true)
|
||||
setPlaceholder(placeHolder)
|
||||
addSettingsProvider {
|
||||
it.putUserData(IncrementalFindAction.SEARCH_DISABLED, true)
|
||||
it.colorsScheme.lineSpacing = 1f
|
||||
it.settings.isUseSoftWraps = true
|
||||
it.isEmbeddedIntoDialogWrapper = true
|
||||
it.contentComponent.isOpaque = false
|
||||
}
|
||||
installScrollIfChangedController(scrollOnChange)
|
||||
selectAll()
|
||||
}
|
||||
|
||||
private fun EditorTextField.installScrollIfChangedController(policy: ScrollOnChangePolicy) {
|
||||
if (policy == ScrollOnChangePolicy.DontScroll) return
|
||||
|
||||
fun scroll() {
|
||||
val field = this
|
||||
val parent = field.parent as? JComponent
|
||||
when (policy) {
|
||||
is ScrollOnChangePolicy.ScrollToComponent -> {
|
||||
val componentToScroll = policy.component
|
||||
parent?.scrollRectToVisible(Rectangle(0, 0, componentToScroll.width, componentToScroll.height))
|
||||
}
|
||||
ScrollOnChangePolicy.ScrollToField -> {
|
||||
parent?.scrollRectToVisible(Rectangle(0, 0, parent.width, parent.height))
|
||||
}
|
||||
else -> Unit
|
||||
}
|
||||
}
|
||||
|
||||
addDocumentListener(object : DocumentListener {
|
||||
override fun documentChanged(event: DocumentEvent) {
|
||||
scroll()
|
||||
}
|
||||
})
|
||||
|
||||
// Previous listener doesn't work properly when text field's size is changed because component is not resized at this moment.
|
||||
// Without the following listener component will not be scrolled to when newline is inserted.
|
||||
addComponentListener(object : ComponentAdapter() {
|
||||
override fun componentResized(e: ComponentEvent?) {
|
||||
if (UIUtil.isFocusAncestor(parent)) {
|
||||
scroll()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
sealed class ScrollOnChangePolicy {
|
||||
object DontScroll : ScrollOnChangePolicy()
|
||||
object ScrollToField : ScrollOnChangePolicy()
|
||||
class ScrollToComponent(val component: JComponent) : ScrollOnChangePolicy()
|
||||
}
|
||||
|
||||
fun wrapWithLeftIcon(config: IconConfig, item: JComponent): JComponent {
|
||||
val (icon, iconGap) = config
|
||||
val iconLabel = JLabel(icon)
|
||||
return JPanel(CommentFieldWithIconLayout(iconGap - CollaborationToolsUIUtil.getFocusBorderInset()) {
|
||||
item.takeIf { it.isVisible }?.minimumSize?.height ?: 0
|
||||
}).apply {
|
||||
isOpaque = false
|
||||
add(CommentFieldWithIconLayout.ICON, iconLabel)
|
||||
add(CommentFieldWithIconLayout.ITEM, item)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun wrapWithLeftIcon(config: IconConfig, item: JComponent, minimalItemHeightCalculator: () -> Int): JComponent {
|
||||
val (icon, iconGap) = config
|
||||
val iconLabel = JLabel(icon)
|
||||
|
||||
@@ -5,12 +5,14 @@ import com.intellij.collaboration.messages.CollaborationToolsBundle
|
||||
import com.intellij.collaboration.ui.SingleValueModel
|
||||
import com.intellij.collaboration.ui.codereview.timeline.thread.TimelineThreadCommentsPanel.Companion.FOLD_THRESHOLD
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||
import com.intellij.openapi.actionSystem.DataSink
|
||||
import com.intellij.openapi.actionSystem.UiDataProvider
|
||||
import com.intellij.ui.components.ActionLink
|
||||
import com.intellij.ui.components.panels.ListLayout
|
||||
import com.intellij.util.ui.JBUI
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import com.intellij.util.ui.components.BorderLayoutPanel
|
||||
import java.awt.*
|
||||
import java.awt.Component
|
||||
import java.awt.event.ActionEvent
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JPanel
|
||||
@@ -26,7 +28,7 @@ class TimelineThreadCommentsPanel<T>(
|
||||
private val commentComponentFactory: (T) -> JComponent,
|
||||
offset: Int = JBUI.scale(8),
|
||||
private val foldButtonOffset: Int = 30
|
||||
) : BorderLayoutPanel() {
|
||||
) : BorderLayoutPanel(), UiDataProvider {
|
||||
|
||||
val foldModel = SingleValueModel(true)
|
||||
private val collapsedCountModel: SingleValueModel<Int> = SingleValueModel(commentsModel.size - FOLD_THRESHOLD - 1)
|
||||
@@ -58,7 +60,6 @@ class TimelineThreadCommentsPanel<T>(
|
||||
init {
|
||||
isOpaque = false
|
||||
addToCenter(foldablePanel)
|
||||
putClientProperty(UIUtil.HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY, true)
|
||||
|
||||
commentsModel.addListDataListener(object : ListDataListener {
|
||||
override fun intervalRemoved(e: ListDataEvent) {
|
||||
@@ -94,6 +95,10 @@ class TimelineThreadCommentsPanel<T>(
|
||||
updateFolding(foldModel.value)
|
||||
}
|
||||
|
||||
override fun uiDataSnapshot(sink: DataSink) {
|
||||
sink.setNull(CommonDataKeys.EDITOR)
|
||||
}
|
||||
|
||||
private fun updateFolding(folded: Boolean) {
|
||||
val shouldFold = folded && commentsModel.size > FOLD_THRESHOLD
|
||||
unfoldButtonPanel.isVisible = shouldFold
|
||||
|
||||
@@ -658,7 +658,6 @@ public final class SearchReplaceComponent extends EditorHeaderComponent implemen
|
||||
innerTextComponent.putClientProperty(
|
||||
TextComponentEmptyText.STATUS_VISIBLE_FUNCTION, (Predicate<JTextComponent>)(c -> c.getText().isEmpty() && c.isFocusOwner()));
|
||||
|
||||
innerTextComponent.putClientProperty(UIUtil.HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY, Boolean.TRUE);
|
||||
innerTextComponent.setBackground(UIUtil.getTextFieldBackground());
|
||||
JComponent finalTextComponent = innerTextComponent;
|
||||
innerTextComponent.addFocusListener(new FocusListener() {
|
||||
|
||||
@@ -1129,7 +1129,12 @@ public class EditorTextField extends NonOpaquePanel implements EditorTextCompone
|
||||
if (editor != null && editor.isRendererMode()) {
|
||||
sink.set(PlatformDataKeys.COPY_PROVIDER, editor.getCopyProvider());
|
||||
}
|
||||
sink.set(CommonDataKeys.EDITOR, editor);
|
||||
if (editor == null) {
|
||||
sink.setNull(CommonDataKeys.EDITOR);
|
||||
}
|
||||
else {
|
||||
sink.set(CommonDataKeys.EDITOR, editor);
|
||||
}
|
||||
}
|
||||
|
||||
public void setFileType(@NotNull FileType fileType) {
|
||||
|
||||
@@ -15,7 +15,6 @@ import com.intellij.collaboration.ui.util.bindDisabledIn
|
||||
import com.intellij.collaboration.ui.util.bindTextIn
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.util.ui.InlineIconButton
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import icons.CollaborationToolsIcons
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
@@ -166,7 +165,6 @@ internal object GitLabNoteComponentFactory {
|
||||
|
||||
fun createTextPanel(project: Project, cs: CoroutineScope, textFlow: Flow<@Nls String>, baseUrl: URL): JComponent =
|
||||
SimpleHtmlPane(baseUrl = baseUrl, addBrowserListener = false).apply {
|
||||
putClientProperty(UIUtil.HIDE_EDITOR_FROM_DATA_CONTEXT_PROPERTY, true)
|
||||
bindTextIn(cs, textFlow)
|
||||
addGitLabHyperlinkListener(project)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user