diff --git a/platform/platform-tests/testData/ui/laf/Darcula/win/components.svg b/platform/platform-tests/testData/ui/laf/Darcula/win/components.svg
new file mode 100644
index 000000000000..bc73471ef436
--- /dev/null
+++ b/platform/platform-tests/testData/ui/laf/Darcula/win/components.svg
@@ -0,0 +1,135 @@
+
diff --git a/platform/platform-tests/testData/ui/laf/IntelliJ/win/components.svg b/platform/platform-tests/testData/ui/laf/IntelliJ/win/components.svg
new file mode 100644
index 000000000000..b1a7db785605
--- /dev/null
+++ b/platform/platform-tests/testData/ui/laf/IntelliJ/win/components.svg
@@ -0,0 +1,113 @@
+
diff --git a/platform/platform-tests/testData/ui/laf/IntelliJ/win/components.yml b/platform/platform-tests/testData/ui/laf/IntelliJ/win/components.yml
new file mode 100644
index 000000000000..df63026b1d7a
--- /dev/null
+++ b/platform/platform-tests/testData/ui/laf/IntelliJ/win/components.yml
@@ -0,0 +1,9 @@
+bounds:
+ 'JTextField #0': [8, 10, 464, 24]
+ 'JPasswordField #1': [8, 44, 464, 25]
+ 'JComboBox #2': [8, 79, 464, 24]
+ 'JComboBox #3': [8, 113, 464, 24]
+ label: [8, 211, 464, 20]
+ enabled: [8, 181, 464, 20]
+ 'JBIntSpinner #7': [8, 241, 464, 24]
+ 'TextFieldWithHistoryWithBrowseButton #8': [8, 275, 464, 24]
diff --git a/platform/platform-tests/testSrc/com/intellij/ui/layout/MigLayoutTestApp.kt b/platform/platform-tests/testSrc/com/intellij/ui/layout/MigLayoutTestApp.kt
index fb8fdde1ec62..f3c311abfc75 100644
--- a/platform/platform-tests/testSrc/com/intellij/ui/layout/MigLayoutTestApp.kt
+++ b/platform/platform-tests/testSrc/com/intellij/ui/layout/MigLayoutTestApp.kt
@@ -34,8 +34,8 @@ object MigLayoutTestApp {
// val panel = visualPaddingsPanelOnlyButton()
// val panel = visualPaddingsPanelOnlyComboBox()
// val panel = alignFieldsInTheNestedGrid()
- val panel = cellPanel()
-// val panel = visualPaddingsPanel()
+// val panel = cellPanel()
+ val panel = visualPaddingsPanel()
val editableCombobox = JComboBox(arrayOf("one", "two"))
editableCombobox.isEditable = true
@@ -55,7 +55,7 @@ object MigLayoutTestApp {
panel.preferredSize = Dimension(50, 50)
if (panel.layout is MigLayout) {
- Paths.get(System.getProperty("user.home"), "layout-dump.yml").write(serializeLayout(panel))
+ Paths.get(System.getProperty("user.home"), "layout-dump.yml").write(serializeLayout(panel, isIncludeCellBounds = false))
}
val screenDevices = GraphicsEnvironment.getLocalGraphicsEnvironment().screenDevices
diff --git a/platform/platform-tests/testSrc/com/intellij/ui/layout/migLayoutDebugDumper.kt b/platform/platform-tests/testSrc/com/intellij/ui/layout/migLayoutDebugDumper.kt
index d014a3f791c0..738c69955fcf 100644
--- a/platform/platform-tests/testSrc/com/intellij/ui/layout/migLayoutDebugDumper.kt
+++ b/platform/platform-tests/testSrc/com/intellij/ui/layout/migLayoutDebugDumper.kt
@@ -89,7 +89,7 @@ private fun dumpCellBounds(layout: MigLayout): Any {
}
@Suppress("UNCHECKED_CAST")
-internal fun serializeLayout(component: Container): String {
+internal fun serializeLayout(component: Container, isIncludeCellBounds: Boolean = true): String {
val layout = component.layout as MigLayout
val componentConstrains = LinkedHashMap()
@@ -106,7 +106,7 @@ internal fun serializeLayout(component: Container): String {
"rowConstraints" to layout.rowConstraints,
"columnConstraints" to layout.columnConstraints,
"componentConstrains" to componentConstrains,
- "cellBounds" to dumpCellBounds(layout),
+ "cellBounds" to if (isIncludeCellBounds) dumpCellBounds(layout) else null,
"componentBounds" to dumpComponentBounds(component)
))
.replace("constaints", "constraints")