From 86b9816655499930cf320cb68bdbeff183e57c00 Mon Sep 17 00:00:00 2001 From: Aydar Mukhametzyanov Date: Thu, 16 Mar 2023 16:40:34 +0100 Subject: [PATCH] IDEA-315372 Fix Gaps usages mixed with unscaled values For example, mixed with SpacingConfiguration properties GitOrigin-RevId: 2011306fb345e941396f2f007034b39d6c4119ab --- .../lang/regexp/inspection/custom/RegExpDialog.kt | 6 +++--- .../feedback/common/dialog/FeedbackUIUtils.kt | 6 +++--- .../dialog/ProductivityFeedbackDialog.kt | 4 ++-- .../ui/dsl/gridLayout/builders/RowBuilder.kt | 4 ++-- .../intellij/ui/dsl/builder/impl/PanelBuilder.kt | 13 ++++++++----- .../src/com/intellij/ui/dsl/builder/impl/RowImpl.kt | 4 ++-- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/RegExpSupport/src/org/intellij/lang/regexp/inspection/custom/RegExpDialog.kt b/RegExpSupport/src/org/intellij/lang/regexp/inspection/custom/RegExpDialog.kt index 4000502fad57..5f803b394ed4 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/inspection/custom/RegExpDialog.kt +++ b/RegExpSupport/src/org/intellij/lang/regexp/inspection/custom/RegExpDialog.kt @@ -29,8 +29,8 @@ import com.intellij.ui.dsl.builder.IntelliJSpacingConfiguration import com.intellij.ui.dsl.builder.RightGap import com.intellij.ui.dsl.builder.Row import com.intellij.ui.dsl.builder.panel -import com.intellij.ui.dsl.gridLayout.Gaps import com.intellij.ui.dsl.gridLayout.HorizontalAlign +import com.intellij.ui.dsl.gridLayout.UnscaledGaps import com.intellij.ui.dsl.gridLayout.VerticalAlign import com.intellij.util.ui.JBUI import org.intellij.lang.regexp.RegExpBundle @@ -123,7 +123,7 @@ class RegExpDialog(val project: Project?, val editConfiguration: Boolean, defaul filterButton = actionButton(MyFilterAction()) .component } - }.customize(Gaps(0, intelliJSpacingConfiguration.horizontalIndent, 0, intelliJSpacingConfiguration.horizontalIndent)) + }.customize(UnscaledGaps(0, intelliJSpacingConfiguration.horizontalIndent, 0, intelliJSpacingConfiguration.horizontalIndent)) row { searchEditor = cell(createEditor(true)) @@ -148,7 +148,7 @@ class RegExpDialog(val project: Project?, val editConfiguration: Boolean, defaul replace = !replace }.component } - }.customize(Gaps(10, intelliJSpacingConfiguration.horizontalIndent, 0, intelliJSpacingConfiguration.horizontalIndent)) + }.customize(UnscaledGaps(10, intelliJSpacingConfiguration.horizontalIndent, 0, intelliJSpacingConfiguration.horizontalIndent)) replaceRow = row { replaceEditor = cell(createEditor(false)) diff --git a/platform/feedback/src/com/intellij/feedback/common/dialog/FeedbackUIUtils.kt b/platform/feedback/src/com/intellij/feedback/common/dialog/FeedbackUIUtils.kt index dba1c01881d6..200ab6d44c26 100644 --- a/platform/feedback/src/com/intellij/feedback/common/dialog/FeedbackUIUtils.kt +++ b/platform/feedback/src/com/intellij/feedback/common/dialog/FeedbackUIUtils.kt @@ -7,7 +7,7 @@ import com.intellij.openapi.ui.panel.ComponentPanelBuilder import com.intellij.openapi.util.NlsContexts import com.intellij.ui.components.JBTextArea import com.intellij.ui.dsl.builder.* -import com.intellij.ui.dsl.gridLayout.Gaps +import com.intellij.ui.dsl.gridLayout.UnscaledGaps import com.intellij.util.ui.JBUI import java.awt.event.KeyAdapter import java.awt.event.KeyEvent @@ -40,7 +40,7 @@ fun Panel.createSegmentedButtonWithBottomLabels(@NlsContexts.Label mainLabel if (mainLabel != null) { row { label(mainLabel) - .customize(Gaps(top = IntelliJSpacingConfiguration().verticalComponentGap)) + .customize(UnscaledGaps(top = IntelliJSpacingConfiguration().verticalComponentGap)) .bold() }.bottomGap(BottomGap.SMALL).topGap(TopGap.MEDIUM) } @@ -48,7 +48,7 @@ fun Panel.createSegmentedButtonWithBottomLabels(@NlsContexts.Label mainLabel segmentedButton(items, renderer) .apply { maxButtonsCount(size) - }.customize(Gaps(top = IntelliJSpacingConfiguration().verticalComponentGap)) + }.customize(UnscaledGaps(top = IntelliJSpacingConfiguration().verticalComponentGap)) .whenItemSelected { bindProperty.set(it) } .align(Align.FILL) .validation { diff --git a/platform/feedback/src/com/intellij/feedback/productivityMetric/dialog/ProductivityFeedbackDialog.kt b/platform/feedback/src/com/intellij/feedback/productivityMetric/dialog/ProductivityFeedbackDialog.kt index a2d0fdb8939e..6e071c09a30b 100644 --- a/platform/feedback/src/com/intellij/feedback/productivityMetric/dialog/ProductivityFeedbackDialog.kt +++ b/platform/feedback/src/com/intellij/feedback/productivityMetric/dialog/ProductivityFeedbackDialog.kt @@ -15,7 +15,7 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.util.NlsContexts import com.intellij.ui.SimpleListCellRenderer import com.intellij.ui.dsl.builder.* -import com.intellij.ui.dsl.gridLayout.Gaps +import com.intellij.ui.dsl.gridLayout.UnscaledGaps import com.intellij.util.ui.JBEmptyBorder import com.intellij.util.ui.JBFont import com.intellij.util.ui.JBUI @@ -115,7 +115,7 @@ class ProductivityFeedbackDialog( row { label(ProductivityFeedbackBundle.message("dialog.combobox.label", applicationName)) - .customize(Gaps(top = IntelliJSpacingConfiguration().verticalComponentGap)) + .customize(UnscaledGaps(top = IntelliJSpacingConfiguration().verticalComponentGap)) .bold() }.bottomGap(BottomGap.SMALL).topGap(TopGap.MEDIUM) row { diff --git a/platform/platform-api/src/com/intellij/ui/dsl/gridLayout/builders/RowBuilder.kt b/platform/platform-api/src/com/intellij/ui/dsl/gridLayout/builders/RowBuilder.kt index 68bf5bcdf4dc..d8d6dc38acb5 100644 --- a/platform/platform-api/src/com/intellij/ui/dsl/gridLayout/builders/RowBuilder.kt +++ b/platform/platform-api/src/com/intellij/ui/dsl/gridLayout/builders/RowBuilder.kt @@ -1,9 +1,9 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.ui.dsl.gridLayout.builders -import com.intellij.ui.dsl.gridLayout.Gaps import com.intellij.ui.dsl.gridLayout.GridLayout import com.intellij.ui.dsl.gridLayout.HorizontalAlign +import com.intellij.ui.dsl.gridLayout.UnscaledGaps import com.intellij.ui.dsl.gridLayout.VerticalAlign import org.jetbrains.annotations.ApiStatus import javax.swing.JComponent @@ -53,7 +53,7 @@ class RowBuilder(private val panel: JPanel) { } private fun add(component: JComponent, resizable: Boolean) { - val gaps = if (panel.componentCount == 0 || gap == 0) Gaps.EMPTY else Gaps(left = gap) + val gaps = if (panel.componentCount == 0 || gap == 0) UnscaledGaps.EMPTY else UnscaledGaps(left = gap) builder.cell(component, gaps = gaps, verticalAlign = verticalAlign, resizableColumn = resizable, horizontalAlign = if (resizable) HorizontalAlign.FILL else HorizontalAlign.LEFT) } diff --git a/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/PanelBuilder.kt b/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/PanelBuilder.kt index 34509ebc3f07..cf4ff34194a5 100644 --- a/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/PanelBuilder.kt +++ b/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/PanelBuilder.kt @@ -43,7 +43,7 @@ internal class PanelBuilder(val rows: List, private val dialogPanelConf val subGridBuilder = rowsGridBuilder.subGridBuilder(width = maxColumnsCount, horizontalAlign = HorizontalAlign.FILL, verticalAlign = subRowVerticalAlign, - gaps = Gaps(left = row.getIndent())) + gaps = UnscaledGaps(left = row.getIndent())) val cells = row.cells buildLabelRow(cells, 0, cells.size, row.rowLayout, subGridBuilder) @@ -96,7 +96,7 @@ internal class PanelBuilder(val rows: List, private val dialogPanelConf } row.rowComment?.let { - val gaps = Gaps(left = row.getIndent(), bottom = spacingConfiguration.verticalComponentGap) + val gaps = UnscaledGaps(left = row.getIndent(), bottom = spacingConfiguration.verticalComponentGap) val horizontalAlign = if (it.maxLineLength == MAX_LINE_LENGTH_WORD_WRAP) HorizontalAlign.FILL else HorizontalAlign.LEFT rowsGridBuilder.cell(it, maxColumnsCount, gaps = gaps, horizontalAlign = horizontalAlign) rowsGridBuilder.row() @@ -271,7 +271,7 @@ internal class PanelBuilder(val rows: List, private val dialogPanelConf } else { val left = if (index == 0) firstCellIndent else 0 - GeneratedComponentData(label, Gaps(top = spacingConfiguration.verticalComponentGap, left = left), HorizontalAlign.LEFT, index) + GeneratedComponentData(label, UnscaledGaps(top = spacingConfiguration.verticalComponentGap, left = left), HorizontalAlign.LEFT, index) } } @@ -295,7 +295,7 @@ internal class PanelBuilder(val rows: List, private val dialogPanelConf else { val left = getAdditionalHorizontalIndent(cell) + (if (index == 0) firstCellIndent else 0) val horizontalAlign = if (comment.maxLineLength == MAX_LINE_LENGTH_WORD_WRAP) HorizontalAlign.FILL else HorizontalAlign.LEFT - GeneratedComponentData(comment, Gaps(left = left, bottom = spacingConfiguration.verticalComponentGap), horizontalAlign, index) + GeneratedComponentData(comment, UnscaledGaps(left = left, bottom = spacingConfiguration.verticalComponentGap), horizontalAlign, index) } } @@ -388,4 +388,7 @@ internal class PanelBuilder(val rows: List, private val dialogPanelConf } } -private data class GeneratedComponentData(val component: JComponent, val gaps: Gaps, val horizontalAlign: HorizontalAlign, val column: Int) +private data class GeneratedComponentData(val component: JComponent, + val gaps: UnscaledGaps, + val horizontalAlign: HorizontalAlign, + val column: Int) diff --git a/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/RowImpl.kt b/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/RowImpl.kt index f66d4e403389..aa0379ca584d 100644 --- a/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/RowImpl.kt +++ b/platform/platform-impl/src/com/intellij/ui/dsl/builder/impl/RowImpl.kt @@ -26,7 +26,7 @@ import com.intellij.ui.components.fields.ExpandableTextField import com.intellij.ui.dsl.UiDslException import com.intellij.ui.dsl.builder.* import com.intellij.ui.dsl.builder.components.* -import com.intellij.ui.dsl.gridLayout.Gaps +import com.intellij.ui.dsl.gridLayout.UnscaledGaps import com.intellij.ui.dsl.gridLayout.VerticalGaps import com.intellij.ui.layout.ComponentPredicate import com.intellij.ui.popup.PopupState @@ -416,7 +416,7 @@ internal open class RowImpl(private val dialogPanelConfig: DialogPanelConfig, textArea.columns = COLUMNS_SHORT textArea.font = JBFont.regular() textArea.emptyText.setFont(JBFont.regular()) - textArea.putClientProperty(DslComponentProperty.VISUAL_PADDINGS, Gaps.EMPTY) + textArea.putClientProperty(DslComponentProperty.VISUAL_PADDINGS, UnscaledGaps.EMPTY) return scrollCell(textArea) }