From 776c38aa4e32a939675de8f5e5639a7ffd0ad810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Thu, 17 Feb 2022 14:08:18 +0800 Subject: [PATCH 1/6] =?UTF-8?q?REPORT-66884=20=E4=BF=AE=E6=AD=A3=E6=8B=96?= =?UTF-8?q?=E6=8B=BD=E7=BB=84=E4=BB=B6=E6=97=B6=E5=80=99=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=9A=84=E6=97=B6=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/beans/models/DraggingModel.java | 10 ---------- .../mainframe/FormCreatorDropTarget.java | 6 +----- .../com/fr/design/mainframe/FormDesigner.java | 20 +++++++------------ .../guide/creator/GuideCreateUtils.java | 7 ++++--- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/models/DraggingModel.java b/designer-form/src/main/java/com/fr/design/designer/beans/models/DraggingModel.java index 6308ff70b..95e003faf 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/models/DraggingModel.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/models/DraggingModel.java @@ -14,7 +14,6 @@ public class DraggingModel { private MouseEvent currentDragEvent; private int creatorLeftTopX = -999; // 隐藏 private int creatorLeftTopY = -999; // 隐藏 - private boolean dragNewWidget; // 是否正在拖拽一个新的组件下来 public DraggingModel() { @@ -40,11 +39,6 @@ public class DraggingModel { return this; } - public DraggingModel dragNewWidget(boolean dragNewWidget) { - this.dragNewWidget = dragNewWidget; - return this; - } - public FormDesigner getDesigner() { return designer; } @@ -79,10 +73,6 @@ public class DraggingModel { return creatorLeftTopY; } - public boolean isDragNewWidget() { - return dragNewWidget; - } - public void moveTo(int x, int y) { XLayoutContainer container = designer.getDraggingHotspotLayout(); LayoutAdapter adapter = container.getLayoutAdapter(); diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormCreatorDropTarget.java b/designer-form/src/main/java/com/fr/design/mainframe/FormCreatorDropTarget.java index aa58d713e..62e256379 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormCreatorDropTarget.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormCreatorDropTarget.java @@ -264,11 +264,7 @@ public class FormCreatorDropTarget extends DropTarget { Point loc = dtde.getLocation(); int x = designer.getRelativeX(loc.x); int y = designer.getRelativeY(loc.y); - if (model.isDragNewWidget()) { - designer.addNewWidget(creator, x, y); - } else { - designer.changeWidgetPlace(creator, x, y); - } + designer.addWidgetToForm(creator, x, y); // 放到事件末尾执行 SwingUtilities.invokeLater(new Runnable() { @Override diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java index a703512ab..0e28ef3b6 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java @@ -1252,12 +1252,12 @@ public class FormDesigner extends TargetComponent
implements TreeSelection return; } + instantiateCreator(xCreator); draggingModel = new DraggingModel() .designer(this) .creator(xCreator) .startDragEvent(startDragEvent) - .currentDragEvent(currentDragEvent) - .dragNewWidget(true); + .currentDragEvent(currentDragEvent); this.setDropTarget(new FormCreatorDropTarget(this, xCreator)); repaint(); } @@ -1273,12 +1273,12 @@ public class FormDesigner extends TargetComponent implements TreeSelection if (currentDragEvent == null || this.getDropTarget() != null) { return; } + backUpCreator(xCreator); draggingModel = new DraggingModel() .designer(this) .creator(xCreator) .startDragEvent(startDragEvent) - .currentDragEvent(currentDragEvent) - .dragNewWidget(false); + .currentDragEvent(currentDragEvent); XLayoutContainer container = this.getDraggingHotspotLayout(); LayoutAdapter adapter = container.getLayoutAdapter(); adapter.dragging(this.getDraggingModel()); @@ -1990,7 +1990,7 @@ public class FormDesigner extends TargetComponent implements TreeSelection return spacingLineDrawer; } - private void instantiateCreator(XCreator creator) { + public void instantiateCreator(XCreator creator) { ModelUtil.renameWidgetName(this.getTarget(), creator); creator.addNotify(); @@ -1999,18 +1999,12 @@ public class FormDesigner extends TargetComponent implements TreeSelection creator.putClientProperty(AdapterBus.CLIENT_PROPERTIES, adapter); } - public void addNewWidget(XCreator creator, int x, int y) { - instantiateCreator(creator); - addWidgetToForm(creator, x, y); - } - - public void changeWidgetPlace(XCreator creator, int x, int y) { + public void backUpCreator(XCreator creator) { creator.backupCurrentSize(); creator.backupParent(); - addWidgetToForm(creator, x, y); } - private void addWidgetToForm(XCreator creator, int x, int y) { + public void addWidgetToForm(XCreator creator, int x, int y) { if(creator == null) { return; } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/guide/creator/GuideCreateUtils.java b/designer-realize/src/main/java/com/fr/design/mainframe/guide/creator/GuideCreateUtils.java index bb2120874..bb651cce9 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/guide/creator/GuideCreateUtils.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/guide/creator/GuideCreateUtils.java @@ -130,12 +130,13 @@ public class GuideCreateUtils { return; } FormDesigner designer = GuideCreateUtils.getFormDesigner(); - designer.getSelectionModel().selectACreator(xLayoutContainer); if (dragNewComponent) { - designer.addNewWidget(xCreator, xLayoutContainer.getX(), xLayoutContainer.getY()); + designer.instantiateCreator(xCreator); } else { - designer.changeWidgetPlace(xCreator, xLayoutContainer.getX(), xLayoutContainer.getY()); + designer.backUpCreator(xCreator); } + designer.getSelectionModel().selectACreator(xLayoutContainer); + designer.addWidgetToForm(xCreator, xLayoutContainer.getX(), xLayoutContainer.getY()); designer.getSelectionModel().selectACreator(xCreator); } From ea6418f46c3fde3215be95fd700306f36d4ef6be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Thu, 17 Feb 2022 14:19:10 +0800 Subject: [PATCH 2/6] REPORT-66884 --- .../com/fr/design/mainframe/FormDesigner.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java index 0e28ef3b6..2b43265f9 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesigner.java @@ -1991,17 +1991,21 @@ public class FormDesigner extends TargetComponent implements TreeSelection } public void instantiateCreator(XCreator creator) { - ModelUtil.renameWidgetName(this.getTarget(), creator); - creator.addNotify(); + if (creator != null) { + ModelUtil.renameWidgetName(this.getTarget(), creator); + creator.addNotify(); - ComponentAdapter adapter = new CompositeComponentAdapter(this, creator); - adapter.initialize(); - creator.putClientProperty(AdapterBus.CLIENT_PROPERTIES, adapter); + ComponentAdapter adapter = new CompositeComponentAdapter(this, creator); + adapter.initialize(); + creator.putClientProperty(AdapterBus.CLIENT_PROPERTIES, adapter); + } } public void backUpCreator(XCreator creator) { - creator.backupCurrentSize(); - creator.backupParent(); + if (creator != null) { + creator.backupCurrentSize(); + creator.backupParent(); + } } public void addWidgetToForm(XCreator creator, int x, int y) { From 3d4902ed344f8e7c8f1b4158719004fd9f1b98d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Thu, 17 Feb 2022 15:18:27 +0800 Subject: [PATCH 3/6] =?UTF-8?q?REPORT-66886=20=E9=BC=A0=E6=A0=87=E6=82=AC?= =?UTF-8?q?=E6=B5=AEn=E7=A7=92=E5=90=8E=E9=87=8A=E6=94=BE=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=B0=86=E7=BB=84=E4=BB=B6=E6=94=BE=E5=85=A5?= =?UTF-8?q?tab=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beans/events/AddingWidgetListenerTable.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/events/AddingWidgetListenerTable.java b/designer-form/src/main/java/com/fr/design/designer/beans/events/AddingWidgetListenerTable.java index 4825e8888..5d0889c35 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/events/AddingWidgetListenerTable.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/events/AddingWidgetListenerTable.java @@ -28,23 +28,13 @@ public class AddingWidgetListenerTable { public void beforeAdded() { for (final AddingWidgetListener listener : listeners) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - listener.beforeAdded(); - } - }); + listener.beforeAdded(); } } public void afterAdded(boolean addResult) { for (final AddingWidgetListener listener : listeners) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - listener.afterAdded(addResult); - } - }); + listener.afterAdded(addResult); } } From 458cdf7a61439d11de5396283cf8368000ac4378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Thu, 17 Feb 2022 17:07:14 +0800 Subject: [PATCH 4/6] REPORT-66827&REPORT-66947&REPORT-66946 --- .../main/java/com/fr/design/mainframe/EditingMouseListener.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/EditingMouseListener.java b/designer-form/src/main/java/com/fr/design/mainframe/EditingMouseListener.java index f48b60320..0555cf172 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/EditingMouseListener.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/EditingMouseListener.java @@ -459,13 +459,11 @@ public class EditingMouseListener extends MouseInputAdapter { if (isSelectionDrag()) { stateModel.changeSelection(e); - return; } // 调整大小这边单独提出来,不跟后面拖组件混在一起,实在不好管理 if (stateModel.isDraggingSize()) { stateModel.dragging(e); - return; } designer.startDraggingFormWidget(lastXCreator, lastPressEvent, e); From fafc8e71ff4af176736cdbc932f61783afcd019c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Thu, 17 Feb 2022 17:08:00 +0800 Subject: [PATCH 5/6] REPORT-66947 --- .../com/fr/design/mainframe/FormDesignerUI.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java index 1d641dece..8307e945f 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java @@ -116,8 +116,8 @@ public class FormDesignerUI extends ComponentUI { designer.getPainter().paint(g, designer.getArea().getHorizontalValue(), designer.getArea().getVerticalValue() + designer.getParaHeight()); } - DraggingModel draggingModel = designer.getDraggingModel(); - if (draggingModel != null && draggingModel.getCreator() != null) { + + if (needPaintDraggingBean()) { // 当前正在添加的组件 paintDraggingBean(g); } @@ -217,6 +217,19 @@ public class FormDesignerUI extends ComponentUI { ComponentUtils.resetBuffer(dbcomponents); } + private boolean needPaintDraggingBean() { + DraggingModel draggingModel = designer.getDraggingModel(); + if (draggingModel == null || draggingModel.getCreator() == null) { + return false; + } + + XCreator creator = draggingModel.getCreator(); + int leftTopX = draggingModel.getCreatorLeftTopX(); + int leftTopY = draggingModel.getCreatorLeftTopY(); + + return leftTopX + creator.getWidth() > 0 && leftTopY + creator.getHeight() > 0; + } + private void paintAuthorityCreator(Graphics2D g2d, Rectangle creatorBounds) { back_or_selection_rect.setRect(creatorBounds.getX(), creatorBounds.getY(), From 94679a83332eedf6bf71cb8286212ebd51ea3b49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Thu, 17 Feb 2022 19:55:33 +0800 Subject: [PATCH 6/6] =?UTF-8?q?CHART-22936=20=E5=9B=BE=E8=A1=A8=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=8E=A7=E4=BB=B6=E6=A0=87=E9=A2=98=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=85=AC=E5=BC=8F=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/chart/gui/ChangeConfigPane.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java index f053b09d6..a04acb83d 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java @@ -10,6 +10,7 @@ import com.fr.chart.base.AttrChangeConfig; import com.fr.chart.base.AttrChangeType; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.SwitchTitle; import com.fr.design.beans.BasicBeanPane; import com.fr.design.dialog.AttrScrollPane; import com.fr.design.foldablepane.UIExpandablePane; @@ -238,13 +239,14 @@ public class ChangeConfigPane extends BasicBeanPane { private void populateSwitchTitlePane(int chartIndex, ChartCollection collection) { Chart chart = collection.getChart(chartIndex, Chart.class); - Object switchTitle = chart.getSwitchTitle(); + SwitchTitle switchTitle = chart.getSwitchTitle(); + Object content = switchTitle.getContent(); String result = StringUtils.EMPTY; - if (switchTitle != null) { - if (switchTitle instanceof BaseFormula) { - result = ((BaseFormula) switchTitle).getContent(); + if (content != null) { + if (content instanceof BaseFormula) { + result = ((BaseFormula) content).getContent(); } else { - result = Utils.objectToString(switchTitle); + result = Utils.objectToString(content); } } TinyFormulaPane title = new TinyFormulaPane(); @@ -345,7 +347,7 @@ public class ChangeConfigPane extends BasicBeanPane { } else { titleObj = titleString; } - collection.getChart(i, Chart.class).setSwitchTitle(titleObj); + collection.getChart(i, Chart.class).setSwitchTitle(new SwitchTitle(titleObj)); } }