From ae3ff35c69dc73badf6bbacb1584ad08af21c6c8 Mon Sep 17 00:00:00 2001 From: "Vassiliy.Kudryashov" Date: Sat, 7 Mar 2015 14:22:25 +0300 Subject: [PATCH] IDEA-57649 "locals" window can be minimized to horizontal size 0 --- .../intellij/execution/ui/layout/impl/GridImpl.java | 1 + .../intellij/openapi/ui/ThreeComponentsSplitter.java | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java index ab848b1bb4fc..dcb3b14f070d 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java @@ -79,6 +79,7 @@ public class GridImpl extends Wrapper implements Grid, Disposable, DataProvider myTopSplit.setFirstComponent(left); myTopSplit.setInnerComponent(center); myTopSplit.setLastComponent(right); + myTopSplit.setHonorComponentsMinimumSize(true); mySplitter.setFirstComponent(myTopSplit); mySplitter.setSecondComponent(bottom); } diff --git a/platform/platform-api/src/com/intellij/openapi/ui/ThreeComponentsSplitter.java b/platform/platform-api/src/com/intellij/openapi/ui/ThreeComponentsSplitter.java index b8e0eb998e31..4ab0caaa8298 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/ThreeComponentsSplitter.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/ThreeComponentsSplitter.java @@ -204,10 +204,10 @@ public class ThreeComponentsSplitter extends JPanel implements Disposable { lastComponentSize -= sizeLack * (1 - firstSizeRatio); lastComponentSize = Math.max(MIN_SIZE, lastComponentSize); } - innerComponentSize = MIN_SIZE; + innerComponentSize = getMinSize(myInnerComponent); } else { - innerComponentSize = Math.max(MIN_SIZE, componentSize - dividersCount * dividerWidth - getFirstSize() - getLastSize()); + innerComponentSize = Math.max(getMinSize(myInnerComponent), componentSize - dividersCount * dividerWidth - getFirstSize() - getLastSize()); } if (!innerVisible()) { @@ -671,20 +671,20 @@ public class ThreeComponentsSplitter extends JPanel implements Disposable { if (getOrientation()) { if (size > 0 || myDividerZone > 0) { if (myIsFirst) { - setFirstSize(Math.min(size - myLastSize - MIN_SIZE, Math.max(getMinSize(myFirstComponent), myPoint.y))); + setFirstSize(Math.min(size - myLastSize - getMinSize(myInnerComponent) - getDividerWidth() * visibleDividersCount(), Math.max(getMinSize(myFirstComponent), myPoint.y))); } else { - setLastSize(Math.min(size - myFirstSize - MIN_SIZE, Math.max(getMinSize(myLastComponent), size - myPoint.y - getDividerWidth()))); + setLastSize(Math.min(size - myFirstSize - getMinSize(myInnerComponent) - getDividerWidth() * visibleDividersCount(), Math.max(getMinSize(myLastComponent), size - myPoint.y - getDividerWidth()))); } } } else { if (size > 0 || myDividerZone > 0) { if (myIsFirst) { - setFirstSize(Math.min(size - myLastSize - MIN_SIZE, Math.max(getMinSize(myFirstComponent), myPoint.x))); + setFirstSize(Math.min(size - myLastSize - getMinSize(myInnerComponent) - getDividerWidth() * visibleDividersCount(), Math.max(getMinSize(myFirstComponent), myPoint.x))); } else { - setLastSize(Math.min(size - myFirstSize - MIN_SIZE, Math.max(getMinSize(myLastComponent), size - myPoint.x - getDividerWidth()))); + setLastSize(Math.min(size - myFirstSize - getMinSize(myInnerComponent) - getDividerWidth() * visibleDividersCount(), Math.max(getMinSize(myLastComponent), size - myPoint.x - getDividerWidth()))); } } }