From b595ca9839ed280ceba51035c487fb2f3a32e6ef Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 18 Nov 2016 16:20:07 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-578=20=E8=87=AA=E9=80=82=E5=BA=94?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=AE=BD=E9=AB=98=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=BE=9D=E9=99=84=E4=BD=8D=E7=BD=AE=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapters/layout/FRFitLayoutAdapter.java | 35 +++++++++++++------ .../properties/FRFitLayoutConstraints.java | 1 + 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java index e02dbd8fc9..25b079caf0 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java @@ -42,7 +42,16 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter { public static final String WIDGETPANEICONPATH = "/com/fr/web/images/form/resources/layout_absolute.png"; private static final int DEPENDING_SCOPE = 3; private HoverPainter painter; + //区分拖拽和编辑宽高 + private boolean isEdit; + public boolean isEdit() { + return isEdit; + } + + public void setEdit(boolean edit) { + isEdit = edit; + } /** * 构造函数 * @@ -411,13 +420,15 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter { // 根据需要依附的位置调整拖拽的坐标值 private int adjustCoordinateByDependingLine(int coordinate, int[] coordinates) { - for (int i = 0; i < coordinates.length; i++) { - if (coordinate == coordinates[i]) { - continue; - } - if (coordinate > coordinates[i] - DEPENDING_SCOPE && coordinate < coordinates[i] + DEPENDING_SCOPE) { - coordinate = coordinates[i]; - break; + if(!isEdit) { + for (int i = 0; i < coordinates.length; i++) { + if (coordinate == coordinates[i]) { + continue; + } + if (coordinate > coordinates[i] - DEPENDING_SCOPE && coordinate < coordinates[i] + DEPENDING_SCOPE) { + coordinate = coordinates[i]; + break; + } } } return coordinate; @@ -425,10 +436,12 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter { // 根据需要依附的位置调整拖拽的距离 private int adjustDiffByDependingLine(int coordinate, int[] coordinates, int diff) { - for (int i = 0; i < coordinates.length; i++) { - if (coordinate + diff > coordinates[i] - DEPENDING_SCOPE && coordinate + diff < coordinates[i] + DEPENDING_SCOPE) { - diff = coordinates[i] - coordinate; - break; + if(!isEdit) { + for (int i = 0; i < coordinates.length; i++) { + if (coordinate + diff > coordinates[i] - DEPENDING_SCOPE && coordinate + diff < coordinates[i] + DEPENDING_SCOPE) { + diff = coordinates[i] - coordinate; + break; + } } } return diff; diff --git a/designer_form/src/com/fr/design/designer/properties/FRFitLayoutConstraints.java b/designer_form/src/com/fr/design/designer/properties/FRFitLayoutConstraints.java index cf177f791a..f95b4242c1 100644 --- a/designer_form/src/com/fr/design/designer/properties/FRFitLayoutConstraints.java +++ b/designer_form/src/com/fr/design/designer/properties/FRFitLayoutConstraints.java @@ -128,6 +128,7 @@ public class FRFitLayoutConstraints implements ConstraintsGroupModel { Rectangle backupBounds = getBounds(); FRFitLayoutAdapter layoutAdapter = (FRFitLayoutAdapter) AdapterBus.searchLayoutAdapter(formDesigner, xCreator); if (layoutAdapter != null) { + layoutAdapter.setEdit(true); layoutAdapter.calculateBounds(backupBounds, bounds, xCreator, row, difference); } return true;