From 80ea9bb8435ea1e6605afe1701cc8360f43186d0 Mon Sep 17 00:00:00 2001 From: "Henry.Wang" Date: Tue, 7 Jul 2020 11:09:10 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-32427=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8TAB?= =?UTF-8?q?=E5=9D=97=EF=BC=8C=E5=87=BA=E7=8E=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapters/layout/FRFitLayoutAdapter.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java b/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java index f2156e861e..93da3d04cf 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java @@ -114,6 +114,15 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter { XCreator creator = (XCreator) container.getComponent(i); creator.updateChildBound(minHeight); creator.setBackupBound(creator.getBounds()); + //tab布局用到 + ArrayList childrenList = creator.getTargetChildrenList(); + for (int j = 0; j < childrenList.size(); j++) { + XWTabFitLayout tabLayout = (XWTabFitLayout) childrenList.get(j); + for (int m = 0; m < tabLayout.getComponentCount(); m++) { + XCreator childCreator = tabLayout.getXCreator(m); + childCreator.setBackupBound(childCreator.getBounds()); + } + } } } @@ -1039,15 +1048,22 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter { XWTabFitLayout tabLayout = (XWTabFitLayout) childrenList.get(j); tabLayout.setBackupBound(tabLayout.getBounds()); int refSize = isHor ? tabLayout.getWidth() : tabLayout.getHeight(); - double percent = (double) offset / refSize; + //double percent = (double) offset / refSize; + double percent = offset / (double) (refSize - offset); if (percent < 0 && !tabLayout.canReduce(percent)) { return; } - setAdjustedSize(tabLayout, offset, isHor); + //setAdjustedSize(tabLayout, offset, isHor); +// for (int m = 0; m < tabLayout.getComponentCount(); m++) { +// XCreator childCreator = tabLayout.getXCreator(m); +// WAbsoluteLayout.BoundsWidget wgt = (WAbsoluteLayout.BoundsWidget) tabLayout.toData().getBoundsWidget(childCreator.toData()); +// wgt.setBounds(tabLayout.getComponent(m).getBounds()); +// } for (int m = 0; m < tabLayout.getComponentCount(); m++) { XCreator childCreator = tabLayout.getXCreator(m); WAbsoluteLayout.BoundsWidget wgt = (WAbsoluteLayout.BoundsWidget) tabLayout.toData().getBoundsWidget(childCreator.toData()); - wgt.setBounds(tabLayout.getComponent(m).getBounds()); + wgt.setBounds(childCreator.getBackupBound()); + wgt.setBackupBounds(childCreator.getBackupBound()); } adjustCreatorsSize(percent, tabLayout, isHor); }