From dbf47dc902b9cec2c60a00e3dcb7c3555003dfdd Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 11 Nov 2020 17:34:55 +0800 Subject: [PATCH 01/22] =?UTF-8?q?REPORT-43280=20=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E6=8E=A7=E4=BB=B6=E9=80=89=E4=B8=8D=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/designer/beans/models/StateModel.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java b/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java index c5150baa5..5045e1387 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java @@ -301,12 +301,14 @@ public class StateModel { Rectangle bounds = createCurrentBounds(x, y); // 有参数面板时 要考虑下参数面板的高度影响 - int yOffset = 0; - XLayoutContainer paramComponent = designer.getParaComponent(); - if (paramComponent != null) { - yOffset = paramComponent.getHeight(); + if (!designer.isFormParaDesigner()) { + int yOffset = 0; + XLayoutContainer paramComponent = designer.getParaComponent(); + if (paramComponent != null) { + yOffset = paramComponent.getHeight(); + } + bounds.y = Math.max(bounds.y - yOffset, 0); } - bounds.y = Math.max(bounds.y - yOffset, 0); if ((x != currentX) || (y != currentY)) { ArrayList creators = getHotspotCreators(bounds, designer.getRootComponent()); From 56f45d13b066d528cde6d0c3fedb52bd230b58e1 Mon Sep 17 00:00:00 2001 From: hades Date: Fri, 13 Nov 2020 10:20:37 +0800 Subject: [PATCH 02/22] =?UTF-8?q?REPORT-32205=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=A4=9A=E5=B1=8F=E4=BD=BF=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/utils/gui/GUICoreUtils.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/utils/gui/GUICoreUtils.java b/designer-base/src/main/java/com/fr/design/utils/gui/GUICoreUtils.java index 9f5c7fbaa..e6b276437 100644 --- a/designer-base/src/main/java/com/fr/design/utils/gui/GUICoreUtils.java +++ b/designer-base/src/main/java/com/fr/design/utils/gui/GUICoreUtils.java @@ -298,7 +298,11 @@ public final class GUICoreUtils { * @param win the current window august:现在要考虑左边日志模板的影响 */ public static void centerWindow(Window win) { - Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + // Toolkit.getDefaultToolkit().getScreenSize()在有多个显示器也只能获取到主屏的大小 + // getGraphicsConfiguration().getBounds()能获取多个屏时 设计器主体界面所在屏的大小和对应的坐标 + Rectangle rectangle = win.getGraphicsConfiguration().getBounds(); + + Dimension screenSize = rectangle.getSize(); Dimension winSize = win.getSize(); @@ -308,7 +312,7 @@ public final class GUICoreUtils { if (winSize.width > screenSize.width) { winSize.width = screenSize.width; } - win.setLocation((screenSize.width - winSize.width) / 2, (screenSize.height - winSize.height) / 2 - WINDOW_GAP); + win.setLocation(rectangle.x + (screenSize.width - winSize.width) / 2, rectangle.y + (screenSize.height - winSize.height) / 2 - WINDOW_GAP); } /** From 4943a82057fd8a67a06bd14e377a012217f97142 Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 13 Nov 2020 11:52:56 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E6=97=A0jira=E4=BB=BB=E5=8A=A1=20bugfix?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E6=89=93=E5=8C=85=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3580cbae0..617b9d0fa 100644 --- a/build.gradle +++ b/build.gradle @@ -72,7 +72,9 @@ allprojects { implementation 'com.fr.datasource:fine-datasource:' + frVersion implementation 'com.fr.decision:fine-decision:' + frVersion implementation 'com.fr.schedule:fine-schedule:' + frVersion - implementation 'com.fr.report:fine-report-engine:' + frDevVersion + implementation 'com.fr.report:engine-report:' + frDevVersion + implementation 'com.fr.report:engine-chart:' + frDevVersion + implementation 'com.fr.report:engine-i18n:' + frDevVersion implementation 'com.fr.design:design-i18n:' + frDevVersion testImplementation 'org.easymock:easymock:3.5.1' testImplementation 'org.powermock:powermock-module-junit4:1.7.1' From fad4cbb90143c616acfe78ed57448060605bf9c7 Mon Sep 17 00:00:00 2001 From: hades Date: Thu, 19 Nov 2020 17:06:26 +0800 Subject: [PATCH 04/22] =?UTF-8?q?REPORT-43814=20=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E6=8F=92=E4=BB=B6=E5=9C=A8=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=90=AF=E5=8A=A8=E7=9A=84=E6=97=B6=E5=80=99=E4=BC=9A?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E4=B8=A4=E9=81=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 73d5d0bb1..94271ace9 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -145,7 +145,11 @@ public abstract class JTemplate> } private void initAndStartPlugin() { - initPluginPane(); + // 启动设计器的时候不加载插件内容,插件引擎监听会加载一次 + boolean init = (DesignerContext.getDesignerFrame() != null && DesignerContext.getDesignerFrame().isDesignerOpened()) || DesignerEnvManager.getEnvManager().isEmbedServerLazyStartup(); + if (init) { + initPluginPane(); + } startListenPlugin(); } From bcf447776f983c9f613473b9c8137a80a3d2bea8 Mon Sep 17 00:00:00 2001 From: zack Date: Fri, 20 Nov 2020 17:13:38 +0800 Subject: [PATCH 05/22] =?UTF-8?q?REPORT-41512=20=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E8=BF=94=E5=9B=9E=E5=A4=9A=E4=B8=AA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E5=9C=A8fr=E4=B8=AD=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E8=BF=94=E5=9B=9E=E4=B8=80=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tabledatapane/ProcedureDataPane.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java index b138f4e58..d0bc499a2 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java @@ -5,6 +5,7 @@ import com.fr.base.StoreProcedureParameter; import com.fr.data.core.db.TableProcedure; import com.fr.data.impl.Connection; import com.fr.data.impl.NameDatabaseConnection; +import com.fr.data.impl.storeproc.ProcedureDataModel; import com.fr.data.impl.storeproc.StoreProcedure; import com.fr.data.operator.DataOperator; import com.fr.design.actions.UpdateAction; @@ -29,13 +30,19 @@ import com.fr.design.menu.SeparatorDef; import com.fr.design.menu.ToolBarDef; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.file.ConnectionConfig; - -import com.fr.script.Calculator; import com.fr.stable.ArrayUtils; import com.fr.stable.StringUtils; -import javax.swing.*; -import java.awt.*; +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.JPanel; +import javax.swing.JSplitPane; +import javax.swing.JToolBar; +import javax.swing.SwingWorker; +import java.awt.BorderLayout; +import java.awt.CardLayout; +import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; @@ -273,7 +280,8 @@ public class ProcedureDataPane extends AbstractTableDataPane imp protected Void doInBackground() throws Exception { DesignTableDataManager.setThreadLocal(DesignTableDataManager.NO_PARAMETER); sp.setCalculating(true); - sp.creatDataModel(Calculator.createCalculator()); + ProcedureDataModel[] dataModels = DesignTableDataManager.createLazyDataModel(sp, false); + sp.refreshDataModelListAndResultNames(dataModels); return null; } From a68e220df22bcbd31e0843e563ae53405d7d427e Mon Sep 17 00:00:00 2001 From: hades Date: Mon, 30 Nov 2020 11:53:55 +0800 Subject: [PATCH 06/22] =?UTF-8?q?REPORT-44051=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E6=89=93=E5=BC=80=E5=90=AB=E6=95=B0=E6=8D=AE=E9=9B=86=E5=A4=9A?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E6=9D=BF=E6=85=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 2 +- .../src/main/java/com/fr/design/mainframe/FormDesigner.java | 5 +++-- .../main/java/com/fr/design/mainframe/FormModelAdapter.java | 4 ++-- .../java/com/fr/design/mainframe/WorkBookModelAdapter.java | 3 ++- .../java/com/fr/design/parameter/ParameterDefinitePane.java | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 73d5d0bb1..6c6de287e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -136,9 +136,9 @@ public abstract class JTemplate> this.editingFILE = file; this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setBorder(BorderFactory.createEmptyBorder()); + designModel = createDesignModel(); addCenterPane(); this.undoState = createUndoState(); - designModel = createDesignModel(); consumeTimer.setEnabled(shouldInitForCollectInfo(isNewFile)); initAndStartPlugin(); 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 62c89b9ca..1d4fad8e3 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 @@ -3,6 +3,7 @@ package com.fr.design.mainframe; import com.fr.base.Parameter; import com.fr.base.ScreenResolution; import com.fr.base.vcs.DesignerMode; +import com.fr.design.DesignModelAdapter; import com.fr.design.DesignState; import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; @@ -204,7 +205,7 @@ public class FormDesigner extends TargetComponent
implements TreeSelection */ public void populateParameterPropertyPane() { //参数 - setParameterArray(getNoRepeatParas(getTarget().getParameters())); + setParameterArray(DesignModelAdapter.getCurrentModelAdapter().getParameters()); refreshParameter(); //容器 ParameterPropertyPane.getInstance().populateBean(this); @@ -728,7 +729,7 @@ public class FormDesigner extends TargetComponent implements TreeSelection if (evt.getCreatorEventID() != DesignerEvent.CREATOR_SELECTED) { FormDesigner.this.fireTargetModified(); if (evt.getCreatorEventID() == DesignerEvent.CREATOR_DELETED) { - setParameterArray(getNoRepeatParas(getTarget().getParameters())); + setParameterArray(getNoRepeatParas(DesignModelAdapter.getCurrentModelAdapter().getParameters())); refreshParameter(); } } else { diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java b/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java index abe0c97e8..efc7ff2b0 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java @@ -36,10 +36,10 @@ public class FormModelAdapter extends DesignModelAdapter> * 参数改变. */ public void parameterChanged() { - //实时更新参数 - jTemplate.populateParameter(); // 更新缓存的参数 updateCachedParameter(); + //实时更新参数 + jTemplate.populateParameter(); } /** diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java b/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java index fff25486d..1a4f20c3d 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java @@ -66,9 +66,10 @@ public class WorkBookModelAdapter extends DesignModelAdapter Date: Mon, 30 Nov 2020 15:08:04 +0800 Subject: [PATCH 07/22] =?UTF-8?q?REPORT-42913=20=E6=94=B9=E5=8F=98?= =?UTF-8?q?=E7=94=B5=E8=84=91=E5=88=86=E8=BE=A8=E7=8E=87=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E7=9A=84=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E4=B8=A2=E5=A4=B1=20=E3=80=90=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E7=9A=84=E4=BD=8D=E7=BD=AE=E4=B8=8E=E9=AB=98?= =?UTF-8?q?=E5=BA=A6=E9=83=BD=E8=B7=9Fparent.getHeight()=20-=20toolPaneY?= =?UTF-8?q?=E6=9C=89=E5=85=B3=EF=BC=8C=E8=80=8C=E5=9C=A8Windows=E4=B8=8B?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=85=88=E6=8A=8A=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E9=9D=A2=E6=9D=BF=E7=9A=84=E9=AB=98=E5=BA=A6=E8=B0=83?= =?UTF-8?q?=E7=9A=84=E6=AF=94=E8=BE=83=E5=B0=8F=EF=BC=8C=E7=84=B6=E5=90=8E?= =?UTF-8?q?=E5=87=8F=E5=B0=8F=E5=88=86=E8=BE=A8=E7=8E=87=E6=88=96=E8=80=85?= =?UTF-8?q?=E8=B0=83=E5=A4=A7dpi=E4=BD=BF=E6=95=B4=E4=B8=AA=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E6=94=BE=E5=A4=A7=E6=97=B6=EF=BC=8Cparent.getHeight()?= =?UTF-8?q?=E4=BC=9A=E5=87=8F=E5=B0=8F=EF=BC=8C=E8=80=8CtoolPaneY=E5=9C=A8?= =?UTF-8?q?=E8=BF=99=E7=A7=8D=E6=93=8D=E4=BD=9C=E4=B8=8B=E6=98=AF=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E5=8F=98=E7=9A=84=EF=BC=8C=E6=AD=A4=E6=97=B6toolPaneY?= =?UTF-8?q?=E4=BC=9A=E6=8E=A5=E8=BF=91=E7=94=9A=E8=87=B3=E5=A4=A7=E4=BA=8E?= =?UTF-8?q?parent.getHeight()=EF=BC=8C=E5=AF=BC=E8=87=B4=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E9=9D=A2=E6=9D=BF=E7=9A=84=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E4=BD=8D=E4=BA=8E=E6=95=B4=E4=B8=AA=E5=B1=8F=E5=B9=95=E4=B9=8B?= =?UTF-8?q?=E5=A4=96=EF=BC=8C=E5=B9=B6=E4=B8=94=E9=AB=98=E5=BA=A6=E4=B8=BA?= =?UTF-8?q?=E8=B4=9F=EF=BC=8C=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=87=BA=E6=9D=A5?= =?UTF-8?q?=EF=BC=8C=E8=A1=A8=E7=8E=B0=E4=B8=BA=E4=B8=A2=E5=A4=B1=20?= =?UTF-8?q?=E3=80=90=E6=94=B9=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91=E7=94=A8?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=88=90=E5=91=98=E5=8F=98=E9=87=8FparentHei?= =?UTF-8?q?ght=E5=AD=98=E5=82=A8=E7=88=B6=E5=AE=B9=E5=99=A8=E7=9A=84?= =?UTF-8?q?=E9=AB=98=E5=BA=A6parent.getHeight()=EF=BC=8C=E5=9C=A8layoutCon?= =?UTF-8?q?tainer()=E6=96=B9=E6=B3=95=E4=B8=AD=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=88=A4=E6=96=AD=EF=BC=8C=E5=BD=93=E5=8F=91=E7=8E=B0?= =?UTF-8?q?=E7=88=B6=E5=AE=B9=E5=99=A8=E9=AB=98=E5=BA=A6=E6=9C=89=E5=8F=98?= =?UTF-8?q?=E5=8C=96=E6=97=B6=EF=BC=8C=E5=8F=8A=E6=97=B6=E8=B0=83=E6=95=B4?= =?UTF-8?q?toolPaneY=E7=9A=84=E5=A4=A7=E5=B0=8F=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E9=9D=A2=E6=9D=BF=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/icontainer/UIResizableContainer.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java index 0a8529abf..4f4ac9e3b 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java @@ -45,6 +45,7 @@ public class UIResizableContainer extends JPanel { private boolean isLeftRightDragEnabled = true; private boolean isDownPaneVisible = true ; private int paraHeight; + private int parentHeight = -1; public UIResizableContainer(int direction) { this(new JPanel(), new JPanel(), direction); @@ -207,7 +208,8 @@ public class UIResizableContainer extends JPanel { if (verticalToolPane == null || downPane == null) { return; } - + // REPORT-42913 如果用户修改了分辨率或者dpi,可能造成toolPaneY大于parent.getHeight,整个downPane将丢失,因此这里调整下toolPaneY + adjustToolPaneY(parent); if (direction == Constants.RIGHT) { if(isDownPaneVisible){ upPane.setBounds(0, 0, containerWidth - toolPaneHeight, toolPaneY); @@ -236,6 +238,18 @@ public class UIResizableContainer extends JPanel { } } + private void adjustToolPaneY(Container parent) { + if (parentHeight == -1) { + // 初始化下parentheight,存一下当前的父容器height + parentHeight = parent.getHeight(); + } else if (parentHeight != parent.getHeight()) { + // parentHeight与父容器height不等时,代表用户调整分辨率或者dpi了,此时调整toolPaneY + toolPaneY = toolPaneY * parent.getHeight() / parentHeight; + toolPaneY = Math.min(toolPaneY, (parent.getHeight() - toolPaneHeight)); + parentHeight = parent.getHeight(); + } + } + @Override public void addLayoutComponent(String name, Component comp) { } @@ -540,4 +554,4 @@ public class UIResizableContainer extends JPanel { jf.setSize(500, 500); jf.setVisible(true); } -} \ No newline at end of file +} From 57440714a88276e5b27217e54f457f443788f501 Mon Sep 17 00:00:00 2001 From: Yvan Date: Tue, 1 Dec 2020 09:56:41 +0800 Subject: [PATCH 08/22] =?UTF-8?q?REPORT-42913=20=E4=B8=BA=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=8A=E4=B8=80=E6=AC=A1=E5=85=B3=E9=97=AD=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E6=97=B6upPane=E9=AB=98=E5=BA=A6=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E4=B8=80=E4=B8=AA=E5=88=A4=E6=96=AD=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8DupPane=E9=AB=98=E5=BA=A6=E8=B6=85=E8=BF=87=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E6=80=BB=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/gui/icontainer/UIResizableContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java index 4f4ac9e3b..35bf403dd 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java @@ -164,7 +164,7 @@ public class UIResizableContainer extends JPanel { * @param toolPaneY */ public void setLastToolPaneY(int toolPaneY) { - this.toolPaneY = toolPaneY; + this.toolPaneY = Math.min(toolPaneY, (getHeight() - toolPaneHeight)); } /** From 57d997f141b5ceee335d84120a2a2c87502be75c Mon Sep 17 00:00:00 2001 From: Yvan Date: Tue, 1 Dec 2020 10:03:09 +0800 Subject: [PATCH 09/22] =?UTF-8?q?REPORT-42913=20=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E6=83=B3=E5=A4=9A=E4=BA=86=EF=BC=8C=E8=BF=99=E4=B8=AA=E5=9C=A8?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E7=9A=84=E6=97=B6=E5=80=99=E8=BF=98=E6=B2=A1?= =?UTF-8?q?=E5=BC=80=E5=A7=8B=E6=B8=B2=E6=9F=93=E6=95=B4=E4=B8=AA=E5=B7=A6?= =?UTF-8?q?=E4=BE=A7=E7=9A=84=E9=9D=A2=E6=9D=BF=EF=BC=8C=E6=AD=A4=E6=97=B6?= =?UTF-8?q?=E6=8B=BF=E4=B8=8D=E5=88=B0=E7=88=B6=E5=AE=B9=E5=99=A8=E9=AB=98?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/gui/icontainer/UIResizableContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java index 35bf403dd..4f4ac9e3b 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java @@ -164,7 +164,7 @@ public class UIResizableContainer extends JPanel { * @param toolPaneY */ public void setLastToolPaneY(int toolPaneY) { - this.toolPaneY = Math.min(toolPaneY, (getHeight() - toolPaneHeight)); + this.toolPaneY = toolPaneY; } /** From 896c16005d94044730388c6d48847ce1596967b0 Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Tue, 1 Dec 2020 15:05:03 +0800 Subject: [PATCH 10/22] =?UTF-8?q?REPORT-42237=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E5=88=B0release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/designer/creator/XChartEditor.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XChartEditor.java b/designer-form/src/main/java/com/fr/design/designer/creator/XChartEditor.java index c002bceb3..a6a29339e 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XChartEditor.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XChartEditor.java @@ -14,6 +14,7 @@ import com.fr.design.gui.chart.MiddleChartComponent; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.BaseJForm; import com.fr.design.mainframe.CoverReportPane; +import com.fr.design.mainframe.EastRegionContainerPane; import com.fr.design.mainframe.EditingMouseListener; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.HelpDialogManager; @@ -267,6 +268,9 @@ public class XChartEditor extends XBorderStyleWidgetCreator { if (this != (XCreator) designer.getRootComponent()) { ComponentAdapter adapter = AdapterBus.getComponentAdapter(designer, this); editingMouseListener.startEditing(this, isEditing ? adapter.getDesignerEditor() : null, adapter); + if (isEditing) { + EastRegionContainerPane.getInstance().switchTabTo(EastRegionContainerPane.KEY_WIDGET_SETTINGS); + } } } HelpDialogManager.getInstance().setPane(coverPanel); From 0de544a588455af588e45f702fcd2785b1521f59 Mon Sep 17 00:00:00 2001 From: hades Date: Wed, 2 Dec 2020 19:16:19 +0800 Subject: [PATCH 11/22] =?UTF-8?q?REPORT-43795=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=8B=96=E6=8B=BD=E7=BB=84=E4=BB=B6=E6=9C=89=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E6=8A=A5=E8=A1=A8=E5=9D=97=E5=8F=AF=E4=BB=A5=E9=80=9A?= =?UTF-8?q?=E8=BF=87body=E6=8B=96=E5=85=A5=E5=8F=82=E6=95=B0=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 6 +----- .../com/fr/design/designer/beans/models/StateModel.java | 9 +++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index d05200592..6c6de287e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -145,11 +145,7 @@ public abstract class JTemplate> } private void initAndStartPlugin() { - // 启动设计器的时候不加载插件内容,插件引擎监听会加载一次 - boolean init = (DesignerContext.getDesignerFrame() != null && DesignerContext.getDesignerFrame().isDesignerOpened()) || DesignerEnvManager.getEnvManager().isEmbedServerLazyStartup(); - if (init) { - initPluginPane(); - } + initPluginPane(); startListenPlugin(); } diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java b/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java index 5045e1387..85a328032 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/models/StateModel.java @@ -4,6 +4,7 @@ import com.fr.design.beans.location.Absorptionline; import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.HoverPainter; import com.fr.design.designer.beans.LayoutAdapter; +import com.fr.design.designer.beans.adapters.layout.FRParameterLayoutAdapter; import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.beans.location.Direction; import com.fr.design.designer.beans.location.Location; @@ -136,6 +137,14 @@ public class StateModel { private boolean addBean(XLayoutContainer container, int mouseX, int mouseY) { LayoutAdapter adapter = container.getLayoutAdapter(); Rectangle rectangleContainer = ComponentUtils.getRelativeBounds(container); + // 判断是否能把控件从表单布局中拖拽到参数面板中 + if (adapter instanceof FRParameterLayoutAdapter) { + for (XCreator xCreator : selectionModel.getSelection().getSelectedCreators()) { + if (!xCreator.canEnterIntoParaPane()) { + return false; + } + } + } if (selectionModel.getSelection().size() == 1) { return adapter.addBean(selectionModel.getSelection().getSelectedCreator(), mouseX + designer.getArea().getHorizontalValue() - rectangleContainer.x, From 9717e6af3b6548bce6c36af64b0d7c936f74400f Mon Sep 17 00:00:00 2001 From: Yvan Date: Thu, 3 Dec 2020 10:20:49 +0800 Subject: [PATCH 12/22] =?UTF-8?q?REPORT-44390=20alpha-fine=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=B8=AE=E5=8A=A9=E6=96=87=E6=A1=A3=EF=BC=8C=E5=8F=B3?= =?UTF-8?q?=E4=BE=A7=E4=B8=8D=E5=B1=95=E7=A4=BA=E8=AF=A6=E7=BB=86=E5=86=85?= =?UTF-8?q?=E5=AE=B9=EF=BC=8C=E5=8F=AA=E6=98=BE=E7=A4=BA=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=20=E3=80=90=E9=97=AE=E9=A2=98=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0=E3=80=91=E4=B9=8B=E5=89=8D=E7=9A=84=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9C=89=E5=8F=98=E5=8C=96=EF=BC=8C=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C=E9=87=8C=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E6=96=87=E6=A1=A3=E8=AF=A6=E6=83=85=E7=9A=84key?= =?UTF-8?q?=E5=80=BC=E4=B9=9F=E5=8F=98=E5=8C=96=E4=BA=86(summary=20?= =?UTF-8?q?=E2=86=92=20content)=EF=BC=8C=E7=84=B6=E5=90=8E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=BF=87=E7=A8=8B=E4=B8=AD=E5=8F=91=E7=8E=B0"?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=B8=B8=E7=94=A8"=E4=B9=9F=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E6=98=BE=E7=A4=BA=E6=96=87=E6=A1=A3=E8=AF=A6=E6=83=85?= =?UTF-8?q?=EF=BC=8C=E5=9B=A0=E4=B8=BA=E4=BF=9D=E5=AD=98=E5=88=B0=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E7=9A=84=E6=97=B6=E5=80=99=E8=BD=ACjson=E7=9A=84key?= =?UTF-8?q?=E5=80=BC=E9=94=99=E4=BA=86=20=E3=80=90=E6=94=B9=E5=8A=A8?= =?UTF-8?q?=E6=80=9D=E8=B7=AF=E3=80=91=E5=B0=86key=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E7=8E=B0=E5=9C=A8=E4=BD=BF=E7=94=A8=E7=9A=84"content"?= =?UTF-8?q?=EF=BC=8C=E7=84=B6=E5=90=8E=E4=B8=BA=E4=BA=86=E8=AE=A9=E8=AF=BB?= =?UTF-8?q?=E5=92=8C=E5=86=99=E7=9A=84key=E4=BF=9D=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E8=87=B4=EF=BC=8C=E7=BB=9F=E4=B8=80=E7=94=A8DocumentModel?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=B8=B8=E9=87=8F?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/cell/model/DocumentModel.java | 7 ++++++- .../search/manager/impl/DocumentSearchManager.java | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/cell/model/DocumentModel.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/cell/model/DocumentModel.java index 2c608537c..e83b4be76 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/cell/model/DocumentModel.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/cell/model/DocumentModel.java @@ -19,6 +19,11 @@ public class DocumentModel extends AlphaCellModel { private String informationUrl; private int documentId; + public static final String TITLE = "title"; + public static final String CONTENT = "content"; + public static final String DID = "did"; + public static final String SEARCHCOUNT = "searchcount"; + public DocumentModel(String name, String content, int documentId) { super(name, content, CellType.DOCUMENT); this.documentId = documentId; @@ -43,7 +48,7 @@ public class DocumentModel extends AlphaCellModel { public JSONObject modelToJson() { JSONObject object = JSONObject.create(); JSONObject modelObject = JSONObject.create(); - modelObject.put("title", getName()).put("summary", getContent()).put("did", getDocumentId()).put("searchCount", getSearchCount()); + modelObject.put(TITLE, getName()).put(CONTENT, getContent()).put(DID, getDocumentId()).put(SEARCHCOUNT, getSearchCount()); object.put("result", modelObject).put("cellType", getType().getTypeValue()); return object; } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/DocumentSearchManager.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/DocumentSearchManager.java index be3ac4f1b..0b4953083 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/DocumentSearchManager.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/DocumentSearchManager.java @@ -43,10 +43,10 @@ public class DocumentSearchManager implements AlphaFineSearchProvider { * @return */ public static DocumentModel getModelFromCloud(JSONObject object) { - String name = object.optString("title"); - String content = object.optString("summary"); - int documentId = object.optInt("did"); - int searchCount = object.optInt("searchCount"); + String name = object.optString(DocumentModel.TITLE); + String content = object.optString(DocumentModel.CONTENT); + int documentId = object.optInt(DocumentModel.DID); + int searchCount = object.optInt(DocumentModel.SEARCHCOUNT); return new DocumentModel(name, content, documentId, searchCount); } From 72e819a9e6449861157979bfae6c17886dc0450a Mon Sep 17 00:00:00 2001 From: hades Date: Thu, 3 Dec 2020 15:04:57 +0800 Subject: [PATCH 13/22] =?UTF-8?q?REPORT-44583=20=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E9=9B=86=E6=88=90-=E8=BF=9C=E7=A8=8B-=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=92=8C=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=9C=A8=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=94=B5=E8=84=91=E4=B8=8A=EF=BC=8C=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../env/RemoteDesignerWorkspaceInfo.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/env/RemoteDesignerWorkspaceInfo.java b/designer-base/src/main/java/com/fr/design/env/RemoteDesignerWorkspaceInfo.java index f9de1cfa4..96069b435 100644 --- a/designer-base/src/main/java/com/fr/design/env/RemoteDesignerWorkspaceInfo.java +++ b/designer-base/src/main/java/com/fr/design/env/RemoteDesignerWorkspaceInfo.java @@ -25,13 +25,19 @@ public class RemoteDesignerWorkspaceInfo implements DesignerWorkspaceInfo { private static final String HOST_NAME = "127.0.0.1"; private static final String LOCAL_HOTS_NAME = "localhost"; private static final String QUOTATION = ":"; - private static final String PORT = Integer.toString(DesignerEnvManager.getEnvManager().getEmbedServerPort()); + private static String port = Integer.toString(DesignerEnvManager.getEnvManager().getEmbedServerPort()); static { - FILTER_SET.add(HTTP + HOST_NAME + QUOTATION + PORT + PATH); - FILTER_SET.add(HTTPS + HOST_NAME + QUOTATION + PORT + PATH); - FILTER_SET.add(HTTP + LOCAL_HOTS_NAME + QUOTATION + PORT + PATH); - FILTER_SET.add(HTTPS + LOCAL_HOTS_NAME + QUOTATION + PORT + PATH); + initFilerSet(port); + } + + private static void initFilerSet(String newPort) { + FILTER_SET.clear(); + FILTER_SET.add(HTTP + HOST_NAME + QUOTATION + newPort + PATH); + FILTER_SET.add(HTTPS + HOST_NAME + QUOTATION + newPort + PATH); + FILTER_SET.add(HTTP + LOCAL_HOTS_NAME + QUOTATION + newPort + PATH); + FILTER_SET.add(HTTPS + LOCAL_HOTS_NAME + QUOTATION + newPort + PATH); + port = newPort; } private String name; @@ -164,6 +170,11 @@ public class RemoteDesignerWorkspaceInfo implements DesignerWorkspaceInfo { @Override public boolean checkValid() { boolean result = false; + String newPort = Integer.toString(DesignerEnvManager.getEnvManager().getEmbedServerPort()); + if (!ComparatorUtils.equals(port, newPort)) { + // 使用过程中 更改了内置服务器端口 重新初始化下 + initFilerSet(newPort); + } if (FILTER_SET.contains(connection.getUrl())) { FineLoggerFactory.getLogger().error("url is same with local designer"); return result; From 71646c4285253314688aefac0ff88a7a6cada6d4 Mon Sep 17 00:00:00 2001 From: hades Date: Thu, 3 Dec 2020 15:12:31 +0800 Subject: [PATCH 14/22] =?UTF-8?q?REPORT-43864=20=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=A0=BC=E5=B1=9E=E6=80=A7-=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E4=B8=A2=E5=A4=B1=EF=BC=8C=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E5=A4=A7=E9=87=8F=E9=87=8D=E5=A4=8D=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/App.java | 11 +++++++++++ .../com/fr/design/mainframe/JTemplateFactory.java | 2 +- .../main/java/com/fr/design/mainframe/app/CptApp.java | 8 +++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/App.java b/designer-base/src/main/java/com/fr/design/mainframe/App.java index 3cae10f6b..c941df8af 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/App.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/App.java @@ -41,4 +41,15 @@ public interface App extends Mutable, Aftermath { * @return 报表 */ T asIOFile(FILE tplFile); + + + /** + * 输出workbook等对象 + * @param tplFile 文件 + * @param needCheck 是否需要check + * @return + */ + default T asIOFile(FILE tplFile, boolean needCheck) { + return asIOFile(tplFile); + } } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplateFactory.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplateFactory.java index 8019cc178..678b9bf84 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplateFactory.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplateFactory.java @@ -56,7 +56,7 @@ public final class JTemplateFactory { String[] defaultAppExtensions = app.defaultExtensions(); for (String defaultAppExtension : defaultAppExtensions) { if (defaultAppExtension.equalsIgnoreCase(fileExtension)) { - BaseBook bb = app.asIOFile(file); + BaseBook bb = app.asIOFile(file, false); if (bb != null) { return (T) bb; } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java b/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java index cb6fb8d3e..adadab36d 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java @@ -42,7 +42,11 @@ class CptApp extends AbstractWorkBookApp { @Override public WorkBook asIOFile(FILE file) { + return asIOFile(file, true); + } + @Override + public WorkBook asIOFile(FILE file, boolean needCheck) { if (XMLEncryptUtils.isCptEncoded() && !XMLEncryptUtils.checkVaild(DesignerEnvManager.getEnvManager().getEncryptionKey())) { if (!new DecodeDialog(file).isPwdRight()) { @@ -67,7 +71,9 @@ class CptApp extends AbstractWorkBookApp { } catch (Exception exp) { FineLoggerFactory.getLogger().error(Toolkit.i18nText("Fine-Design_Report_NS_Exception_ReadError") + file, exp); } - checkNameStyle(namestyle); + if (needCheck) { + checkNameStyle(namestyle); + } return tpl; } From 1189e110dd5f3c2efed4a9df7e89948d6b5013b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B2=B3?= <445798420@qq.com> Date: Thu, 3 Dec 2020 17:24:24 +0800 Subject: [PATCH 15/22] =?UTF-8?q?CHART-17120=20=E5=A2=9E=E5=8A=A0=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E6=9D=A1=E4=BB=B6=E5=B1=9E=E6=80=A7=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E6=BB=91=E5=8A=A8=E6=9D=A1=E7=81=B5=E6=95=8F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/condition/ConditionAttributesPane.java | 9 +++++++-- .../SeriesCondition/DataSeriesConditionPane.java | 10 +++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java b/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java index 6ca4ed680..5d6ee4e5a 100644 --- a/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java +++ b/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java @@ -14,10 +14,10 @@ import javax.swing.BoxLayout; import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JScrollPane; -import java.awt.Dimension; import java.util.Iterator; -import java.util.Map; import java.util.LinkedHashMap; +import java.util.Map; +import java.awt.Dimension; @Open public abstract class ConditionAttributesPane extends BasicBeanPane { @@ -69,7 +69,12 @@ public abstract class ConditionAttributesPane extends BasicBeanPane { selectedItemScrollPane.setViewportView(selectedItemPane); selectedItemScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); selectedItemScrollPane.setMinimumSize(new Dimension((int) selectedItemScrollPane.getPreferredSize().getWidth(), MIN_HEIGHT)); + dealScrollPane(selectedItemScrollPane); propertyChangePane.add(selectedItemScrollPane); + } + + protected void dealScrollPane(JScrollPane scrollPane){ + } public void updateBean(T ob) { diff --git a/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/DataSeriesConditionPane.java b/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/DataSeriesConditionPane.java index 90982ded5..aa8c9e46c 100644 --- a/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/DataSeriesConditionPane.java +++ b/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/DataSeriesConditionPane.java @@ -15,9 +15,10 @@ import com.fr.log.FineLoggerFactory; import javax.swing.BorderFactory; import javax.swing.JPanel; +import javax.swing.JScrollPane; +import java.util.Iterator; import java.awt.BorderLayout; import java.awt.Dimension; -import java.util.Iterator; /** * Created by IntelliJ IDEA. @@ -27,6 +28,9 @@ import java.util.Iterator; * Time : 上午9:16 */ public class DataSeriesConditionPane extends ConditionAttributesPane { + + private static final int SCROLL_BAR_UNIT_INCREMENT = 16; + protected Plot plot; public DataSeriesConditionPane(Plot plot) { @@ -43,6 +47,10 @@ public class DataSeriesConditionPane extends ConditionAttributesPane Date: Mon, 7 Dec 2020 10:00:04 +0800 Subject: [PATCH 16/22] =?UTF-8?q?REPORT-44390=20alpha-fine=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=B8=AE=E5=8A=A9=E6=96=87=E6=A1=A3=EF=BC=8C=E5=8F=B3?= =?UTF-8?q?=E4=BE=A7=E4=B8=8D=E5=B1=95=E7=A4=BA=E8=AF=A6=E7=BB=86=E5=86=85?= =?UTF-8?q?=E5=AE=B9=EF=BC=8C=E5=8F=AA=E6=98=BE=E7=A4=BA=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=20=E3=80=90=E9=97=AE=E9=A2=98=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0=E3=80=91=E6=9C=AC=E5=9C=B0=E5=B8=B8=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=9C=89=E7=82=B9=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E6=AF=94=E5=A6=82=E7=94=A8=E6=88=B7=E6=90=9C=E7=B4=A2"?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=A1=AB=E6=8A=A5"=EF=BC=8C=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E8=AF=8D=E8=A2=AB=E8=A7=A3=E6=9E=90=E6=88=90=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E8=AF=8D=E7=BB=84=EF=BC=8C=E9=81=8D=E5=8E=86=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E8=AF=8D=E7=BB=84=E5=8E=BB=E6=90=9C=E7=B4=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=EF=BC=8C=E4=BD=86=E6=98=AF=E6=90=9C=E7=B4=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E7=9A=84=E9=80=BB=E8=BE=91=E9=87=8C=E4=BC=9A=E5=B0=86?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=9B=86=E5=85=88=E6=B8=85=E7=A9=BA=E7=84=B6?= =?UTF-8?q?=E5=90=8E=E6=B7=BB=E5=8A=A0=E6=96=B0=E7=9A=84=EF=BC=8C=E7=84=B6?= =?UTF-8?q?=E5=90=8E=E6=8A=8A=E8=BF=99=E4=B8=AA=E8=BF=94=E5=9B=9E=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=8F=88=E8=B5=8B=E5=80=BC=E7=BB=99=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E9=9B=86=E5=90=88=EF=BC=8C=E8=BF=99=E4=BC=9A=E4=B8=8D?= =?UTF-8?q?=E6=96=AD=E5=88=B7=E6=96=B0=E7=BB=93=E6=9E=9C=E9=9B=86=E5=90=88?= =?UTF-8?q?=EF=BC=8C=E5=AF=BC=E8=87=B4=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E5=8F=AA=E6=98=AF=E5=85=B3=E9=94=AE=E8=AF=8D=E7=BB=84=E4=B8=AD?= =?UTF-8?q?=E6=9C=80=E5=90=8E=E4=B8=80=E4=B8=AA=E5=85=83=E7=B4=A0=E7=9A=84?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=20=E3=80=90=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91=E5=9C=A8=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E7=9A=84=E9=80=BB=E8=BE=91=E9=87=8C=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E6=B8=85=E7=A9=BA=E7=BB=93=E6=9E=9C=E9=9B=86=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=8E=BB=E6=8E=89=EF=BC=8C=E6=94=BE=E5=88=B0?= =?UTF-8?q?=E6=9B=B4=E4=B8=8A=E5=B1=82=E7=9A=84=E9=81=8D=E5=8E=86=E4=B9=8B?= =?UTF-8?q?=E5=89=8D=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E6=98=AF?= =?UTF-8?q?=E6=AF=8F=E4=B8=80=E6=AC=A1=E9=81=8D=E5=8E=86=E5=B0=B1=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E7=BB=93=E6=9E=9C=E9=9B=86=EF=BC=8C=E8=80=8C=E6=98=AF?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=AF=8F=E4=B8=80=E6=AC=A1=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=89=8D=E6=B8=85=E7=A9=BA=E7=BB=93=E6=9E=9C=E9=9B=86=EF=BC=8C?= =?UTF-8?q?=E7=84=B6=E5=90=8E=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC=E4=B9=9F=E6=97=A0=E9=A1=BB=E8=B5=8B?= =?UTF-8?q?=E5=80=BC=E7=BB=99=E7=BB=93=E6=9E=9C=E9=9B=86=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E5=9C=A8=E6=90=9C=E7=B4=A2=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E6=B7=BB=E5=8A=A0=E5=88=B0=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E9=9B=86=E4=B8=AD=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../search/manager/impl/RecentSearchManager.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java index 72a485977..3c7de497a 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java @@ -45,9 +45,9 @@ import java.util.List; */ public class RecentSearchManager implements AlphaFineSearchProvider { private static final int MAX_SIZE = 100; - + private static final RecentSearchManager INSTANCE = new RecentSearchManager(); - + private IndexReader indexReader = null; //索引存储路径 private String path = ProductConstants.getEnvHome() + File.separator + "searchIndex"; @@ -58,18 +58,18 @@ public class RecentSearchManager implements AlphaFineSearchProvider { private IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_40, analyzer); private IndexWriter indexWriter = null; private SearchResult recentModelList = new SearchResult(); - + public static RecentSearchManager getInstance() { - + return INSTANCE; } @Override public SearchResult getLessSearchResult(String[] searchText) { - + this.recentModelList = new SearchResult(); SearchResult modelList = new SearchResult(); for (String aSearchText : searchText) { - recentModelList = getRecentModelList(aSearchText); + getRecentModelList(aSearchText); } if (recentModelList != null && recentModelList.size() > 0) { modelList.add(new MoreModel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Latest"))); @@ -86,7 +86,7 @@ public class RecentSearchManager implements AlphaFineSearchProvider { public SearchResult getMoreSearchResult(String searchText) { return new SearchResult(); } - + private synchronized SearchResult getRecentModelList(String searchText) { return searchBySort(searchText); } @@ -161,7 +161,6 @@ public class RecentSearchManager implements AlphaFineSearchProvider { * 按序搜索 */ private synchronized SearchResult searchBySort(String key) { - recentModelList = new SearchResult(); try { initReader(); @@ -175,7 +174,6 @@ public class RecentSearchManager implements AlphaFineSearchProvider { Query query = new TermQuery(term); TopFieldDocs docs = searcher.search(query, MAX_SIZE, sortKey); ScoreDoc[] scores = docs.scoreDocs; - this.recentModelList = new SearchResult(); //遍历结果 for (ScoreDoc scoreDoc : scores) { Document document = searcher.doc(scoreDoc.doc); From 58f85e4b10626e0ab1516d9bd37686df6b0b9327 Mon Sep 17 00:00:00 2001 From: shine Date: Mon, 7 Dec 2020 11:14:19 +0800 Subject: [PATCH 17/22] =?UTF-8?q?CHART-17231=20=E9=BB=98=E8=AE=A4=E4=B8=8D?= =?UTF-8?q?=E9=80=89=E4=B8=AD=20=E6=97=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/extended/chart/UIComboBoxWithNone.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java index f20675066..e44214833 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java @@ -2,6 +2,8 @@ package com.fr.extended.chart; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.i18n.Toolkit; +import com.fr.general.GeneralUtils; +import com.fr.stable.StringUtils; import java.util.List; @@ -17,6 +19,11 @@ public class UIComboBoxWithNone extends UIComboBox { public UIComboBoxWithNone() { super(); addDefaultItem(); + setDefaultSelectedItem(); + } + + protected void setDefaultSelectedItem() { + setSelectedItem(null); } @Override @@ -43,7 +50,9 @@ public class UIComboBoxWithNone extends UIComboBox { //找不到的都选中无。中文的无 英文下是none。 //改正:找不到的且anObject不是null的 全部选中无。 - if (getSelectedIndex() == -1 && anObject != null) { + //改正:找不到的且anObject不是null的且anObject不是空字符串的 全部选中无。 + if (getSelectedIndex() == -1 && StringUtils.isNotEmpty(GeneralUtils.objectToString(anObject))) { + //进到if的anObject一定是某个国际化环境下的无 super.setSelectedItem(getDefaultLocaleString()); } } From ee32c3b9fef5eb8ba1021b4a83d84e3f75e915bb Mon Sep 17 00:00:00 2001 From: shine Date: Mon, 7 Dec 2020 11:15:23 +0800 Subject: [PATCH 18/22] update --- .../src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java index e44214833..0459cd710 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java @@ -52,7 +52,6 @@ public class UIComboBoxWithNone extends UIComboBox { //改正:找不到的且anObject不是null的 全部选中无。 //改正:找不到的且anObject不是null的且anObject不是空字符串的 全部选中无。 if (getSelectedIndex() == -1 && StringUtils.isNotEmpty(GeneralUtils.objectToString(anObject))) { - //进到if的anObject一定是某个国际化环境下的无 super.setSelectedItem(getDefaultLocaleString()); } } From 63779ffdcf6c8470218c2718f7345341eb672c09 Mon Sep 17 00:00:00 2001 From: Yvan Date: Mon, 7 Dec 2020 11:15:43 +0800 Subject: [PATCH 19/22] =?UTF-8?q?REPORT-44390=20alpha-fine=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=B8=AE=E5=8A=A9=E6=96=87=E6=A1=A3=EF=BC=8C=E5=8F=B3?= =?UTF-8?q?=E4=BE=A7=E4=B8=8D=E5=B1=95=E7=A4=BA=E8=AF=A6=E7=BB=86=E5=86=85?= =?UTF-8?q?=E5=AE=B9=EF=BC=8C=E5=8F=AA=E6=98=BE=E7=A4=BA=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=20=E6=94=B9=E5=8A=A8=EF=BC=9A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=80=E4=B8=8B=E6=96=B9=E6=B3=95=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../search/manager/impl/RecentSearchManager.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java index 3c7de497a..d9b93fb55 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/RecentSearchManager.java @@ -69,7 +69,7 @@ public class RecentSearchManager implements AlphaFineSearchProvider { this.recentModelList = new SearchResult(); SearchResult modelList = new SearchResult(); for (String aSearchText : searchText) { - getRecentModelList(aSearchText); + addToRecentModelList(aSearchText); } if (recentModelList != null && recentModelList.size() > 0) { modelList.add(new MoreModel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Latest"))); @@ -87,8 +87,12 @@ public class RecentSearchManager implements AlphaFineSearchProvider { return new SearchResult(); } - private synchronized SearchResult getRecentModelList(String searchText) { - return searchBySort(searchText); + /** + * 将单次遍历的关键词的搜索结果添加到结果集中 + * @param searchText + */ + private synchronized void addToRecentModelList(String searchText) { + searchBySort(searchText); } public List getRecentModelList() { From a9a98b2d0ca30a28a821b67b7c818f1e9c391ff7 Mon Sep 17 00:00:00 2001 From: hades Date: Mon, 7 Dec 2020 19:51:53 +0800 Subject: [PATCH 20/22] =?UTF-8?q?REPORT-44784=20=E5=A4=8D=E5=88=B6tab?= =?UTF-8?q?=E5=9D=97=E4=B8=AD=E7=9A=84=E5=9B=BE=E8=A1=A8=E5=9D=97=E5=88=B0?= =?UTF-8?q?=E5=86=B3=E5=AE=9A=E7=94=BB=E5=B8=83=E5=9D=97=E4=B8=AD=20?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AFh5=E6=9F=A5=E7=9C=8B=E4=B8=8D?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E6=9C=89=E5=B1=95=E5=BC=80=E6=94=B6=E8=B5=B7?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widget/ui/designer/mobile/ChartEditorDefinePane.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java index 371fcde7a..35f3ccbb1 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java @@ -176,8 +176,10 @@ public class ChartEditorDefinePane extends MobileWidgetDefinePane { this.functionalWhenUnactivatedCheckBox.setSelected(!isFunctionalWhenUnactivated); this.bindListeners2Widgets(); this.addAttributeChangeListener(changeListener); - + // 直接return时 也要处理下相应数据 + MobileCollapsedStyle style = ((ChartEditor) xCreator.toData()).getMobileCollapsedStyle(); if (!FormDesignerUtils.isAppRelayout(designer) || isInAbsoluteLayout()) { + fix(style); return; } @@ -199,8 +201,6 @@ public class ChartEditorDefinePane extends MobileWidgetDefinePane { } } }); - - MobileCollapsedStyle style = ((ChartEditor) xCreator.toData()).getMobileCollapsedStyle(); this.mobileCollapsedStyleEditor.setStyle(style); fix(style); this.mobileCollapsedStyleEditor.setSelected(style.isCollapsedWork()); From 0ff4a5e35910d7665975276eb249b4fa94506fd9 Mon Sep 17 00:00:00 2001 From: shine Date: Tue, 8 Dec 2020 11:41:09 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java index 0459cd710..65e7bbb43 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java @@ -23,7 +23,7 @@ public class UIComboBoxWithNone extends UIComboBox { } protected void setDefaultSelectedItem() { - setSelectedItem(null); + setSelectedItem(StringUtils.EMPTY); } @Override From bcec9ee2b0eb5426f6d61f197daa8c7f4adf23ae Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Wed, 9 Dec 2020 10:02:54 +0800 Subject: [PATCH 22/22] =?UTF-8?q?REPORT-42381=20=E5=88=A0=E9=99=A4tab?= =?UTF-8?q?=E9=A1=B5=E4=B9=8B=E5=90=8E=E9=80=89=E4=B8=ADbody=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/designer/creator/cardlayout/XCardSwitchButton.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 1c335efa6..18bab5528 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -160,6 +160,7 @@ public class XCardSwitchButton extends XButton { return; } deleteCard(this, index); + selectionModel.setSelectedCreator(designer.getRootComponent()); designer.fireTargetModified(); LayoutUtils.layoutRootContainer(designer.getRootComponent()); FormHierarchyTreePane.getInstance().refreshRoot();