From 5d9a14d44b6d86c7af2dde4fdbc831dc5d1ed81a Mon Sep 17 00:00:00 2001 From: kerry Date: Tue, 22 Feb 2022 10:10:46 +0800 Subject: [PATCH 01/23] =?UTF-8?q?REPORT-66690=20tab=E5=9D=97=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E4=B8=8D=E5=85=81=E8=AE=B8=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/creator/cardlayout/XWCardTagLayout.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java b/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java index 850378af2..ec070ad86 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java @@ -8,6 +8,7 @@ import com.fr.base.ScreenResolution; import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.LayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRWCardTagLayoutAdapter; +import com.fr.design.designer.beans.models.ModelUtil; import com.fr.design.designer.beans.models.SelectionModel; import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XCreatorUtils; @@ -136,6 +137,9 @@ public class XWCardTagLayout extends XWHorizontalBoxLayout { WTabFitLayout fitLayout = new WTabFitLayout(widgetName, tabFitIndex, currentCard); fitLayout.setTabNameIndex(getTabNameIndex()); XWTabFitLayout tabFitLayout = new XWTabFitLayout(fitLayout, new Dimension()); + + FormDesigner formDesigner = WidgetPropertyPane.getInstance().getEditingFormDesigner(); + ModelUtil.renameWidgetName(formDesigner.getTarget(), tabFitLayout); WCardTagLayout layout = (WCardTagLayout) this.toData(); if(!ComparatorUtils.equals(layout.getTemplateStyle().getStyle(), DefaultTemplateStyle.DEFAULT_TEMPLATE_STYLE)){ From ebeedc191f1c3eee268191b559d072333d446a68 Mon Sep 17 00:00:00 2001 From: kerry Date: Tue, 22 Feb 2022 15:04:27 +0800 Subject: [PATCH 02/23] =?UTF-8?q?REPORT-67092=20=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E8=A7=86=E8=A7=89=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/widget/ui/designer/layout/FRFitLayoutDefinePane.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java index 205ad01ff..e53649ee1 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java @@ -71,6 +71,7 @@ public class FRFitLayoutDefinePane extends AbstractFRLayoutDefinePane Date: Mon, 28 Feb 2022 16:48:03 +0800 Subject: [PATCH 03/23] =?UTF-8?q?REPORT-66771=20FR11=E8=80=81=E5=86=B3?= =?UTF-8?q?=E7=AD=96=E6=8A=A5=E8=A1=A8-=E5=8F=82=E6=95=B0=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E6=8E=A7=E4=BB=B6=E5=9D=90=E6=A0=87=E8=B6=85=E8=BF=87?= =?UTF-8?q?960=E4=B8=94=E8=AE=BE=E8=AE=A1=E7=94=BB=E5=B8=83=E9=87=8C?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=88=B0=E8=AF=A5=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E8=80=81=E9=A2=84=E8=A7=88=E4=B8=8B=E7=9C=8B?= =?UTF-8?q?=E4=B8=8D=E5=88=B0=E8=AF=A5=E6=8E=A7=E4=BB=B6=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E4=B8=8B=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=88=B0?= =?UTF-8?q?=201=E3=80=81=E5=9C=A8=E4=BF=AE=E6=94=B9=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E5=90=8C=E6=97=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=8F=82=E6=95=B0=E9=9D=A2=E6=9D=BF=E7=9A=84width?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/creator/XWParameterLayout.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XWParameterLayout.java b/designer-form/src/main/java/com/fr/design/designer/creator/XWParameterLayout.java index a41ec46f6..aacdf6d04 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XWParameterLayout.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XWParameterLayout.java @@ -270,4 +270,16 @@ public class XWParameterLayout extends XWAbsoluteLayout { public boolean isTopable() { return false; } + + /** + * 修改form布局的宽度时,需要同时修改表单参数界面的布局的宽度。 + * */ + @Override + public void doLayout() { + layout(); + if (data != null && data instanceof WParameterLayout) { + ((WParameterLayout) data).setDesignWidth(getWidth()); + } + } + } From b37653b5e70f43ed23b3e4d33f800f1d083e11fc Mon Sep 17 00:00:00 2001 From: kerry Date: Wed, 2 Mar 2022 11:39:11 +0800 Subject: [PATCH 04/23] =?UTF-8?q?REPORT-65140=20=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=9D=97=E5=9B=BE=E8=A1=A8=E5=9D=97=E5=9C=A8=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=B8=8A=E6=94=B9=E5=8F=98=E5=A4=A7=E5=B0=8F=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E4=BF=9D=E5=AD=98=E5=9C=A8=20xml=20?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E7=9A=84=20elementcaseEdito=20=E7=9A=84?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8=E4=BE=9D=E7=84=B6=E6=98=AF=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/designer/creator/XWFitLayout.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XWFitLayout.java b/designer-form/src/main/java/com/fr/design/designer/creator/XWFitLayout.java index ea6170052..886089a0b 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XWFitLayout.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XWFitLayout.java @@ -764,6 +764,7 @@ public class XWFitLayout extends XLayoutContainer { creator.setBackupBound(creator.getBounds()); } } + LayoutUtils.layoutContainer(this); } private Rectangle recalculateWidgetBounds(Rectangle rec, int[] hors, int[] veris) { @@ -831,11 +832,7 @@ public class XWFitLayout extends XLayoutContainer { this.remove(oldCreator); this.add(newCreator); dealDirections(newCreator, false); - //对于新增的绝对布局的组件,需要更新下内部组件的大小 - if (newCreator.acceptType(XWAbsoluteLayout.class)){ - ((XWAbsoluteLayout) newCreator).updateBoundsWidget(); - newCreator.setBackupBound(newCreator.getBounds()); - } + this.updateBoundsWidget(); isRefreshing = false; LayoutUtils.layoutContainer(this); } From aa34194900409a2a803958dfa18ce14464ca137d Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Fri, 4 Mar 2022 10:07:00 +0800 Subject: [PATCH 05/23] =?UTF-8?q?REPORT-67224=20=E5=A1=AB=E6=8A=A5-web?= =?UTF-8?q?=E7=AB=AF=E5=86=8D=E8=AE=A1=E7=AE=97-=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E9=85=8D=E7=BD=AE=E5=A1=AB=E6=8A=A5=E8=A1=8C=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E8=89=B2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/webattr/WriteWebSettingPane.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java index 6636c2214..3db3da6d7 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java @@ -4,6 +4,7 @@ import com.fr.base.BaseUtils; import com.fr.design.ExtraDesignClassManager; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.ibutton.UIColorButton; +import com.fr.design.gui.ibutton.UINoThemeColorButton; import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; @@ -44,7 +45,7 @@ public class WriteWebSettingPane extends WebSettingPane { protected JPanel createOtherSetPane() { colorBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Set_Background_Of_Current_Row") + ":"); colorBox.setSelected(true); - colorButton = new UIColorButton(BaseUtils.readIcon("/com/fr/design/images/gui/color/background.png")); + colorButton = new UINoThemeColorButton(BaseUtils.readIcon("/com/fr/design/images/gui/color/background.png")); colorBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { colorButton.setEnabled(colorBox.isSelected()); From fd1e35aaa194d8f471ec66e2295c5e66f59b6afd Mon Sep 17 00:00:00 2001 From: Starryi Date: Wed, 9 Mar 2022 12:07:30 +0800 Subject: [PATCH 06/23] =?UTF-8?q?=E6=97=A0JIRA=E9=A1=B9=E7=9B=AE=20?= =?UTF-8?q?=E5=AF=B9Install4j=E6=96=B9=E6=B3=95=E7=9A=84=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=94=B9=E7=94=A8=E5=8F=8D=E5=B0=84=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=EF=BC=8C=E9=81=BF=E5=85=8D=E5=87=BA=E7=8E=B0=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 考核同学使用starter项目,无法进行正常编译,出现类和方法调用异常。 一方面是starter项目没有配置对intall4j的编译依赖导致,另一方面是主jar中 对install4j API的使用没有反射导致 【改动思路】 改用反射方式调用Install4J相关API 【review建议】 --- .../Install4jStartupNotificationProvider.java | 42 +++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java b/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java index dbc7be2b7..5402032f9 100644 --- a/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java +++ b/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java @@ -1,6 +1,10 @@ package com.fr.design.startup; -import com.install4j.api.launcher.StartupNotification; +import com.fr.invoke.Reflect; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; /** * @author Starryi @@ -18,18 +22,30 @@ public class Install4jStartupNotificationProvider implements FineStartupNotifica @Override public void registerStartupListener(Listener listener) { - boolean supported = false; - try { - supported = Class.forName("com.install4j.api.launcher.StartupNotification") != null; - } catch (Throwable ignored) {} - - if (supported) { - StartupNotification.registerStartupListener(new StartupNotification.Listener() { - @Override - public void startupPerformed(String parameters) { - listener.startupPerformed(parameters); - } - }); + Class StartupNotificationListenerClass = Reflect.on("com.install4j.api.launcher.StartupNotification$Listener").type(); + if (StartupNotificationListenerClass == null) { + return; + } + + ListenerHandler mHandler = new ListenerHandler(listener); + Object listenerCallbackInstance = Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { StartupNotificationListenerClass }, mHandler); + Reflect.on("com.install4j.api.launcher.StartupNotification").call("registerStartupListener", listenerCallbackInstance); + } + + private static class ListenerHandler implements InvocationHandler { + private final Listener listener; + + public ListenerHandler(Listener listener) { + this.listener = listener; + } + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + if (args[0] instanceof String) { + String parameters = (String) args[0]; + listener.startupPerformed(parameters); + } + return null; } } } From 6394044df6f4f02d3cd61bbecb523de468acbe0a Mon Sep 17 00:00:00 2001 From: kerry Date: Thu, 10 Mar 2022 16:41:58 +0800 Subject: [PATCH 07/23] =?UTF-8?q?REPORT-67329=20=E5=A1=AB=E6=8A=A5-web?= =?UTF-8?q?=E7=AB=AF=E9=A2=84=E8=A7=88-10=E5=8D=87=E7=BA=A711=EF=BC=8C?= =?UTF-8?q?=E9=80=8F=E6=98=8E=E7=9A=84=E7=BA=B8=E5=BC=A0=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E5=8F=98=E6=88=90=E4=BA=86=E7=99=BD=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/style/ReportBackgroundSpecialPane.java | 2 +- .../backgroundpane/ColorBackgroundQuickPane.java | 9 ++++++--- .../fr/design/style/color/NewColorSelectBox.java | 13 ++++++++++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/style/ReportBackgroundSpecialPane.java b/designer-base/src/main/java/com/fr/design/gui/style/ReportBackgroundSpecialPane.java index aeb2938a2..257e090c2 100644 --- a/designer-base/src/main/java/com/fr/design/gui/style/ReportBackgroundSpecialPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/style/ReportBackgroundSpecialPane.java @@ -29,7 +29,7 @@ public class ReportBackgroundSpecialPane extends BackgroundPane { protected BackgroundQuickPane[] supportKindsOfBackgroundUI() { NullBackgroundQuickPane nullBackgroundPane = new NullBackgroundQuickPane(); - ColorBackgroundQuickPane colorBackgroundPane = new ColorBackgroundQuickPane(); + ColorBackgroundQuickPane colorBackgroundPane = new ColorBackgroundQuickPane(true); colorBackgroundPane.registerChangeListener(new UIObserverListener() { @Override public void doChange() { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java b/designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java index 9d9eb0058..086a07da4 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java @@ -16,10 +16,9 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane { private NewColorSelectBox colorSelectBox; - - public ColorBackgroundQuickPane() { + public ColorBackgroundQuickPane(boolean supportTransparent) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - colorSelectBox = new NewColorSelectBox(100) { + colorSelectBox = new NewColorSelectBox(100, supportTransparent) { @Override public boolean shouldResponseChangeListener() { // ColorBackgroundQuickPane注册监听器ChangeListenerImpl的逻辑不能丢,因为里面有修改字段backgroundChange的逻辑. @@ -33,6 +32,10 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane { this.add(colorSelectBox, BorderLayout.NORTH); } + public ColorBackgroundQuickPane() { + this(false); + } + public void populateBean(Background background) { ColorBackground colorBackgroud = (ColorBackground) background; populateColor(colorBackgroud.getColor()); diff --git a/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectBox.java b/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectBox.java index 04d368e6b..59ef1e6e4 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectBox.java +++ b/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectBox.java @@ -20,13 +20,20 @@ public class NewColorSelectBox extends AbstractSelectBox implements UIObs private static final long serialVersionUID = 2782150678943960557L; private Color color; - private NewColorSelectPane colorPane = new NewColorSelectPane(false); + private NewColorSelectPane colorPane; private UIObserverListener uiObserverListener; private String newColorSelectBoxName = ""; private GlobalNameListener globalNameListener = null; + private boolean supportTransparent; public NewColorSelectBox(int preferredWidth) { - initBox(preferredWidth); + this(preferredWidth, false); + } + + public NewColorSelectBox(int preferredWidth, boolean supportTransparent) { + this.colorPane = new NewColorSelectPane(supportTransparent); + this.supportTransparent = supportTransparent; + initBox(preferredWidth); iniListener(); } @@ -58,7 +65,7 @@ public class NewColorSelectBox extends AbstractSelectBox implements UIObs */ public JPanel initWindowPane(double preferredWidth) { // 下拉的时候重新生成面板,以刷新最近使用颜色 - colorPane = new NewColorSelectPane(false); + colorPane = new NewColorSelectPane(this.supportTransparent); colorPane.setColor(this.getSelectObject()); colorPane.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { From b26a85d3f668ffe41d402d7089420744ec45acd9 Mon Sep 17 00:00:00 2001 From: rinoux Date: Fri, 18 Mar 2022 11:27:12 +0800 Subject: [PATCH 08/23] =?UTF-8?q?REPORT-67954=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=97=B6=E6=95=B0=E6=8D=AE=E9=9B=86=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E6=95=B0=E6=8D=AE=E8=BF=9E=E6=8E=A5=E7=A9=BA=E7=99=BD?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=20=E6=8F=90=E4=BA=A411?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datapane/connect/ConnectionComboBoxPanel.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java index 3b5aebed9..fe69024a8 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java @@ -10,11 +10,10 @@ import com.fr.design.editlock.EditLockUtils; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UILockButton; import com.fr.file.ConnectionConfig; -import com.fr.general.ComparatorUtils; +import com.fr.report.LockItem; import com.fr.stable.StringUtils; import com.fr.workspace.WorkContext; import com.fr.workspace.server.connection.DBConnectAuth; -import com.fr.report.LockItem; import javax.swing.SwingUtilities; import java.awt.Dimension; @@ -96,6 +95,7 @@ public class ConnectionComboBoxPanel extends ItemEditableComboBoxPanel { continue; } Connection connection = mgr.getConnection(conName); + // nameList依赖items方法初始化,父类ItemEditableComboBoxPanel里异步执行item方法 filterConnection(connection, conName, nameList); } @@ -140,12 +140,10 @@ public class ConnectionComboBoxPanel extends ItemEditableComboBoxPanel { } else { String s = DesignerEnvManager.getEnvManager().getRecentSelectedConnection(); if (StringUtils.isNotBlank(s)) { - for (int i = 0; i < this.getConnectionSize(); i++) { - String t = this.getConnection(i); - if (ComparatorUtils.equals(s, t)) { - this.setSelectedItem(s); - break; - } + // 之前的写法有多线程问题,nameList异步尚未初始化完成的时候,这里可能无法匹配设置数据连接名称,导致DBTableDataPane打开后连接面板空白 + // 这里的需求无非是设置上一次使用的数据连接,做个简单检查这个连接是否存在即可,存在就设置 + if (ConnectionConfig.getInstance().getConnection(s) != null) { + this.setSelectedItem(s); } } // alex:如果这个ComboBox还是没有选中,那么选中第一个 From cad840da238e03d6dc86df14077dcd62d65b4cf7 Mon Sep 17 00:00:00 2001 From: hades Date: Fri, 18 Mar 2022 15:25:18 +0800 Subject: [PATCH 09/23] =?UTF-8?q?REPORT-67833=20=E5=AF=8C=E6=96=87?= =?UTF-8?q?=E6=9C=AC-=E9=A2=9C=E8=89=B2=E8=AE=BE=E7=BD=AE=EF=BC=9A?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E4=B8=BB=E9=A2=98=E8=89=B2=E5=90=8E=E6=9C=80?= =?UTF-8?q?=E8=BF=91=E4=BD=BF=E7=94=A8=E7=9A=84=E9=A2=9C=E8=89=B2=E5=A4=84?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E6=9B=B4=E6=96=B0=EF=BC=8C=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E7=82=B9=E5=87=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/style/color/ColorCell.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorCell.java b/designer-base/src/main/java/com/fr/design/style/color/ColorCell.java index 4cc3e41ce..acc26ca5a 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/ColorCell.java +++ b/designer-base/src/main/java/com/fr/design/style/color/ColorCell.java @@ -100,11 +100,13 @@ public class ColorCell extends JComponent implements ColorSelectable { if (e == null || e.getID() == MouseEvent.MOUSE_RELEASED) { colorSelectable.setColor(this.getColor()); - colorSelectable.colorSetted(this); + // 先添加最近使用 if (this.getColor() != null) { int rgb = this.getColor().getRGB(); DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(new Color(rgb)); } + // 这边会获取到最近使用颜色并更新 添加逻辑需要放到前面 否则不会及时更新 + colorSelectable.colorSetted(this); } if (e != null) { From 39b29d40664f9bd7041073c5c3c6cdb54ff10ba2 Mon Sep 17 00:00:00 2001 From: pengda Date: Fri, 18 Mar 2022 17:02:10 +0800 Subject: [PATCH 10/23] =?UTF-8?q?REPORT-68059=20js=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=99=A8=EF=BC=8C=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E7=9A=84=E5=BC=B9=E7=AA=97=E5=B1=82=E7=BA=A7?= =?UTF-8?q?=E4=B8=8D=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/javascript/JavaScriptActionPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/javascript/JavaScriptActionPane.java b/designer-base/src/main/java/com/fr/design/javascript/JavaScriptActionPane.java index 999a1a029..e2f8dd906 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/JavaScriptActionPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/JavaScriptActionPane.java @@ -42,7 +42,7 @@ public abstract class JavaScriptActionPane extends UIComboBoxPane { protected List> initPaneList() { List> paneList = new ArrayList>(); // JS脚本,表单提交,提交入库,流程管理,发送邮件. 703中去掉表单提交和流程管理 - paneList.add(new JavaScriptImplPane(getDefaultArgs())); + paneList.add(new JavaScriptImplPane(getDefaultArgs(),true)); // paneList.add(new FormSubmitJavaScriptPane(this)); contentDBManiPane = new ArrayList(); contentDBManiPane.add(createDBManipulationPane()); From b069132341ab1f8a25d8bc1f07bdb97a69f656b5 Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 16:32:18 +0800 Subject: [PATCH 11/23] =?UTF-8?q?CHART-23172=20&=20CHART-23111=20v7?= =?UTF-8?q?=E7=9A=84jxbrowser=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE=E5=85=B3?= =?UTF-8?q?=E9=97=ADengine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/ui/ModernUIPane.java | 6 +++++- .../fr/design/ui/compatible/ModernUIPaneFactory.java | 4 ++-- .../com/fr/design/ui/compatible/NewModernUIPane.java | 11 ++++++++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java index 09fa2bbc0..16b09392f 100644 --- a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java @@ -196,13 +196,17 @@ public class ModernUIPane extends BasicPane { private ModernUIPane pane; public Builder() { - this(BrowserType.HEAVYWEIGHT); } public Builder(BrowserType browserType) { this.pane = new ModernUIPane<>(browserType); } + public Builder init() { + this.pane = new ModernUIPane<>(BrowserType.HEAVYWEIGHT); + return this; + } + public Builder prepare(ScriptContextListener contextListener) { pane.browser.addScriptContextListener(contextListener); return this; diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java index 68b8950f7..e6b13ce13 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java @@ -13,9 +13,9 @@ public class ModernUIPaneFactory { public static ModernUIPane.Builder modernUIPaneBuilder() { if (isV7()) { - return new NewModernUIPane.Builder<>(); + return new NewModernUIPane.Builder().init(); } else { - return new ModernUIPane.Builder<>(); + return new ModernUIPane.Builder().init(); } } diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 0b56fc0ad..3c30afbf0 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,8 +182,7 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.close(); - browser = null; + browser.engine().close(); } } @@ -204,7 +203,13 @@ public class NewModernUIPane extends ModernUIPane { public static class Builder extends ModernUIPane.Builder { - private NewModernUIPane pane = new NewModernUIPane<>(); + private NewModernUIPane pane; + + @Override + public ModernUIPane.Builder init() { + this.pane = new NewModernUIPane<>(); + return this; + } public NewModernUIPane.Builder prepare(InjectJsCallback callback) { pane.browser.set(InjectJsCallback.class, callback); From c7b284ad9ef40d494999eb713f33ff33029b3e96 Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 16:49:00 +0800 Subject: [PATCH 12/23] =?UTF-8?q?Revert=20"CHART-23172=20&=20CHART-23111?= =?UTF-8?q?=20v7=E7=9A=84jxbrowser=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E5=85=B3=E9=97=ADengine"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit b069132341ab1f8a25d8bc1f07bdb97a69f656b5. --- .../src/main/java/com/fr/design/ui/ModernUIPane.java | 6 +----- .../fr/design/ui/compatible/ModernUIPaneFactory.java | 4 ++-- .../com/fr/design/ui/compatible/NewModernUIPane.java | 11 +++-------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java index 16b09392f..09fa2bbc0 100644 --- a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java @@ -196,17 +196,13 @@ public class ModernUIPane extends BasicPane { private ModernUIPane pane; public Builder() { + this(BrowserType.HEAVYWEIGHT); } public Builder(BrowserType browserType) { this.pane = new ModernUIPane<>(browserType); } - public Builder init() { - this.pane = new ModernUIPane<>(BrowserType.HEAVYWEIGHT); - return this; - } - public Builder prepare(ScriptContextListener contextListener) { pane.browser.addScriptContextListener(contextListener); return this; diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java index e6b13ce13..68b8950f7 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java @@ -13,9 +13,9 @@ public class ModernUIPaneFactory { public static ModernUIPane.Builder modernUIPaneBuilder() { if (isV7()) { - return new NewModernUIPane.Builder().init(); + return new NewModernUIPane.Builder<>(); } else { - return new ModernUIPane.Builder().init(); + return new ModernUIPane.Builder<>(); } } diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 3c30afbf0..0b56fc0ad 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,7 +182,8 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.engine().close(); + browser.close(); + browser = null; } } @@ -203,13 +204,7 @@ public class NewModernUIPane extends ModernUIPane { public static class Builder extends ModernUIPane.Builder { - private NewModernUIPane pane; - - @Override - public ModernUIPane.Builder init() { - this.pane = new NewModernUIPane<>(); - return this; - } + private NewModernUIPane pane = new NewModernUIPane<>(); public NewModernUIPane.Builder prepare(InjectJsCallback callback) { pane.browser.set(InjectJsCallback.class, callback); From ea109b45f625c23e0b16fba0c6ba9f3c27702d3b Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 16:49:51 +0800 Subject: [PATCH 13/23] =?UTF-8?q?CHART-23172=20&=20CHART-23111=20=E5=8F=AA?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B2=A1=E6=AD=A3=E7=A1=AE=E5=85=B3=E9=97=AD?= =?UTF-8?q?engine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/ui/compatible/NewModernUIPane.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 0b56fc0ad..9d9edf88c 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,8 +182,7 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.close(); - browser = null; + browser.engine().close(); } } From 541fd4f288cedde92f0d37d560481b5d9d02343c Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 16:59:42 +0800 Subject: [PATCH 14/23] =?UTF-8?q?Revert=20"CHART-23172=20&=20CHART-23111?= =?UTF-8?q?=20=E5=8F=AA=E5=A4=84=E7=90=86=E6=B2=A1=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E5=85=B3=E9=97=ADengine"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ea109b45f625c23e0b16fba0c6ba9f3c27702d3b. --- .../main/java/com/fr/design/ui/compatible/NewModernUIPane.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 9d9edf88c..0b56fc0ad 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,7 +182,8 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.engine().close(); + browser.close(); + browser = null; } } From c777d0889aef7f9710a9c012d1f609c0c2c53ebc Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 17:00:16 +0800 Subject: [PATCH 15/23] =?UTF-8?q?CHART-23172=20&=20CHART-23111=20v7?= =?UTF-8?q?=E7=9A=84jxbrowser=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE=E5=85=B3?= =?UTF-8?q?=E9=97=ADengine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/ui/compatible/NewModernUIPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 0b56fc0ad..2c8c891cb 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,7 +182,7 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.close(); + browser.engine().close(); browser = null; } From 4a8fd982c54bb83a96e3ee05ee5a7b9b7f8feae5 Mon Sep 17 00:00:00 2001 From: WeiYanglu Date: Wed, 23 Mar 2022 18:20:50 +0800 Subject: [PATCH 16/23] =?UTF-8?q?v7=E7=9A=84=E6=9E=84=E9=80=A0=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=B8=8D=E8=83=BD=E8=B5=B0v6=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E4=B8=80=E7=9B=B4=E5=88=9B=E5=BB=BAv6=E7=9A=84Chromiu?= =?UTF-8?q?m=E8=BF=9B=E7=A8=8B=EF=BC=8C=E5=85=88=E6=90=9E=E4=B8=AA?= =?UTF-8?q?=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0=E8=BF=99=E6=A0=B7=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=B8=8B..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/ui/ModernUIPane.java | 4 ++++ .../java/com/fr/design/ui/compatible/NewModernUIPane.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java index 09fa2bbc0..5a0ead41e 100644 --- a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java @@ -203,6 +203,10 @@ public class ModernUIPane extends BasicPane { this.pane = new ModernUIPane<>(browserType); } + public Builder(ModernUIPane pane) { + this.pane = pane; + } + public Builder prepare(ScriptContextListener contextListener) { pane.browser.addScriptContextListener(contextListener); return this; diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 2c8c891cb..59df782cd 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -206,6 +206,10 @@ public class NewModernUIPane extends ModernUIPane { private NewModernUIPane pane = new NewModernUIPane<>(); + public Builder() { + super((ModernUIPane)null); + } + public NewModernUIPane.Builder prepare(InjectJsCallback callback) { pane.browser.set(InjectJsCallback.class, callback); return this; From 3147786e6a66d0f856281f19141facd460e1a1c5 Mon Sep 17 00:00:00 2001 From: pengda Date: Thu, 24 Mar 2022 09:55:46 +0800 Subject: [PATCH 17/23] =?UTF-8?q?CHART-23227=20=E9=92=BB=E5=8F=96=E7=82=B9?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE&=E9=92=BB=E5=8F=96=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E5=88=87=E6=8D=A2=E7=B1=BB=E5=9E=8B=EF=BC=8C?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=97=A0=E6=B3=95=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/chart/ChartEditPane.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java index 6b75dff69..6064ef89d 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java @@ -29,6 +29,7 @@ import com.fr.log.FineLoggerFactory; import com.fr.plugin.chart.custom.VanChartCustomPlot; import com.fr.plugin.chart.vanchart.VanChart; +import com.fr.van.chart.drillmap.designer.data.VanChartDrillMapDataPane; import javax.swing.JPanel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -148,7 +149,12 @@ public class ChartEditPane extends BasicPane implements AttributeChange, Prepare ChartInfoCollector.getInstance().updateChartPropertyTime(collection.getSelectedChartProvider(ChartProvider.class)); selectedPane.update(collection); - + for (int i = 0; i < paneList.size(); i++) { + if (paneList.get(i) instanceof VanChartDrillMapDataPane && i != tabsHeaderIconPane.getSelectedIndex()) { + paneList.get(i).populateBean(collection); + break; + } + } if (!ComparatorUtils.equals(collection, lastCollection)) { VanChart vanChart = collection.getSelectedChartProvider(VanChart.class); if (vanChart != null) { From f8c08500c4130110a206e09cd3c59b42cc4bbb20 Mon Sep 17 00:00:00 2001 From: pengda Date: Thu, 24 Mar 2022 13:49:17 +0800 Subject: [PATCH 18/23] =?UTF-8?q?CHART-22972=20HyperlinkProvider=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AF=B9=E5=9B=BE=E8=A1=A8=E8=B6=85=E9=93=BE=E4=B8=8D?= =?UTF-8?q?=E8=B5=B7=E4=BD=9C=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/VanChartHyperLinkPane.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java index b5efad3b6..f3a19a41e 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java @@ -150,17 +150,19 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { //安装平台内打开插件时,添加相应按钮 Set providers = ExtraDesignClassManager.getInstance().getArray(HyperlinkProvider.XML_TAG); - for (HyperlinkProvider provider : providers) { - NameableCreator nc = provider.createHyperlinkCreator(); - paneMap.put(nc.getHyperlink(), nc.getUpdatePane()); - } - java.util.List list = refreshList(paneMap); - NameObjectCreator[] creators = new NameObjectCreator[list.size()]; - for (int i = 0; list != null && i < list.size(); i++) { + int size = list.size(); + NameObjectCreator[] creators = new NameObjectCreator[size + providers.size()]; + for (int i = 0; i < size; i++) { UIMenuNameableCreator uiMenuNameableCreator = list.get(i); creators[i] = new NameObjectCreator(uiMenuNameableCreator.getName(), uiMenuNameableCreator.getObj().getClass(), uiMenuNameableCreator.getPaneClazz()); - + } + for (HyperlinkProvider provider : providers) { + NameableCreator creator = provider.createHyperlinkCreator(); + if (creator != null) { + creators[size] = new NameObjectCreator(creator.menuName(), creator.getHyperlink(), creator.getUpdatePane()); + size++; + } } refreshNameableCreator(creators); From a0f83145e890362ffd320dacc16c7466d4bd1a4e Mon Sep 17 00:00:00 2001 From: lucian Date: Thu, 24 Mar 2022 15:31:15 +0800 Subject: [PATCH 19/23] =?UTF-8?q?REPORT-68161=20=E5=A1=AB=E6=8A=A5-?= =?UTF-8?q?=E6=A8=A1=E6=9D=BFweb=E5=B1=9E=E6=80=A7-=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=97=B6=EF=BC=8C=E7=BC=96=E8=BE=91=E8=A1=8C?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E8=AE=BE=E7=BD=AE=E7=9A=84=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/webattr/WriteToolBarPane.java | 1 + .../main/java/com/fr/design/webattr/WriteWebSettingPane.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java index 06b167167..a2e0c53c2 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java @@ -161,6 +161,7 @@ public class WriteToolBarPane extends AbstractEditToolBarPane { colorButton.setColor(webWrite.getSelectedColor()); } else { colorBox.setSelected(false); + colorButton.setEnabled(false); } if (webWrite.getSheetPosition() == Constants.TOP) { diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java index 3db3da6d7..527acb4c4 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WriteWebSettingPane.java @@ -109,6 +109,7 @@ public class WriteWebSettingPane extends WebSettingPane { protected void setDefault() { super.setDefault(); colorBox.setSelected(false); + colorButton.setEnabled(false); bottomRadioButton.setSelected(true); leftRadioButton.setSelected(true); unloadCheck.setSelected(true); @@ -126,6 +127,7 @@ public class WriteWebSettingPane extends WebSettingPane { colorButton.setColor(webWrite.getSelectedColor()); } else { colorBox.setSelected(false); + colorButton.setEnabled(false); } if (webWrite.getSheetPosition() == Constants.TOP) { From 155264458b41737dadeba6d405e82b5c2193fe4b Mon Sep 17 00:00:00 2001 From: "Henry.Wang" Date: Thu, 24 Mar 2022 15:52:55 +0800 Subject: [PATCH 20/23] =?UTF-8?q?REPORT-68061=20=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=A0=BC=E5=85=83=E7=B4=A0-=E6=95=B0=E6=8D=AE=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE-=E8=87=AA=E5=AE=9A=E4=B9=89=E5=88=86=E7=BB=84?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=97=A0=E6=B3=95=E7=82=B9=E5=87=BB=E7=A1=AE?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cellquick/CellDSColumnEditor.java | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/quickeditor/cellquick/CellDSColumnEditor.java b/designer-realize/src/main/java/com/fr/quickeditor/cellquick/CellDSColumnEditor.java index 23015e9d0..486492161 100644 --- a/designer-realize/src/main/java/com/fr/quickeditor/cellquick/CellDSColumnEditor.java +++ b/designer-realize/src/main/java/com/fr/quickeditor/cellquick/CellDSColumnEditor.java @@ -282,7 +282,7 @@ public class CellDSColumnEditor extends CellQuickEditor { private void initComponents(){ dataPane = new SelectedDataColumnPane(true, true); groupPane = new ResultSetGroupDockingPane(); - + initListener(); double[] rowSize = {P}, columnSize = {60, F}; UILabel uiLabel = FRWidgetFactory.createLineWrapLabel(Toolkit.i18nText("Fine-Design_Report_Filter_Conditions")); condition = new DSColumnConditionAction(); @@ -299,6 +299,35 @@ public class CellDSColumnEditor extends CellQuickEditor { conditionPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); this.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); } + + + private void initListener() { + dataPane.setListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + dataPane.update(cellElement); + fireTargetModified(); + } + } + }); + groupPane.setListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + if (e == null) { + //分组-高级-自定义点确定的时候传进来null的e,但是这时候应该触发保存 + groupPane.update(); + fireTargetModified(); + return; + } + if (e.getStateChange() == ItemEvent.DESELECTED) { + groupPane.update(); + fireTargetModified(); + } + } + }); + } + @Override protected AttributeChangeListener getAttributeChangeListener() { return new AttributeChangeListener() { From 42dcfbfb3272aa8004732e8d500df43db50f6d2d Mon Sep 17 00:00:00 2001 From: Starryi Date: Thu, 24 Mar 2022 14:49:45 +0800 Subject: [PATCH 21/23] =?UTF-8?q?REPORT-68062=20=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=A0=BC=E6=95=B0=E6=8D=AE=E5=88=97=E9=AB=98=E7=BA=A7=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE-=E6=A0=BC=E5=BC=8F=E8=AE=BE=E7=BD=AE=E4=B8=8D?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 DSColumnAdvancedPane.FormatAttrPane, 未继承AbstractAttrNoScrollPane,缺少了一些监听导致。 原有代码在合并时丢失,需要重新补充下 【改动思路】 无 【review建议】 --- .../design/dscolumn/DSColumnAdvancedPane.java | 63 ++++++++++++++++--- 1 file changed, 54 insertions(+), 9 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/dscolumn/DSColumnAdvancedPane.java b/designer-realize/src/main/java/com/fr/design/dscolumn/DSColumnAdvancedPane.java index 32818de9f..91c8fa292 100644 --- a/designer-realize/src/main/java/com/fr/design/dscolumn/DSColumnAdvancedPane.java +++ b/designer-realize/src/main/java/com/fr/design/dscolumn/DSColumnAdvancedPane.java @@ -1,16 +1,14 @@ package com.fr.design.dscolumn; import com.fr.base.BaseFormula; -import com.fr.data.util.SortOrder; import com.fr.design.border.UITitledBorder; -import com.fr.design.constants.LayoutConstants; import com.fr.design.data.DesignTableDataManager; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.formula.CustomVariableResolver; import com.fr.design.formula.FormulaFactory; -import com.fr.design.formula.SortFormulaPane; import com.fr.design.formula.UIFormula; +import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icombobox.UIComboBox; @@ -30,11 +28,19 @@ import com.fr.report.cell.cellattr.CellExpandAttr; import com.fr.report.cell.cellattr.core.group.DSColumn; import com.fr.report.cell.cellattr.core.group.SelectCount; -import javax.swing.*; -import java.awt.*; +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import java.awt.BorderLayout; +import java.awt.CardLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.Arrays; import static com.fr.report.cell.cellattr.core.group.FilterTypeEnum.BOTTOM; import static com.fr.report.cell.cellattr.core.group.FilterTypeEnum.SPECIFY; @@ -512,11 +518,12 @@ public class DSColumnAdvancedPane extends BasicPane { } } - public static class FormatAttrPane extends TextFormatPane { + + public static class ReLayoutTextFormatPane extends TextFormatPane { protected void initLayout() { - JComponent[][] components = new JComponent[][]{{typeComboBox, textField, roundingBox}}; - double[] rowSize = new double[]{TableLayout.FILL}; + JComponent[][] components = new JComponent[][] { {typeComboBox, textField, roundingBox} }; + double[] rowSize = new double[] { TableLayout.FILL }; double[] columnSize = {TableLayout.PREFERRED, 200, TableLayout.PREFERRED}; JPanel settingPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 4, 0); @@ -542,6 +549,44 @@ public class DSColumnAdvancedPane extends BasicPane { } } + public static class FormatAttrPane extends AbstractAttrNoScrollPane { + private TextFormatPane formatPane; + + @Override + protected JPanel createContentPane() { + this.formatPane = new ReLayoutTextFormatPane(); + return this.formatPane; + } + + @Override + public Dimension getPreferredSize() { + if (formatPane == null) { + return super.getPreferredSize(); + } + return formatPane.getPreferredSize(); + } + + protected void initContentPane() { + leftContentPane = createContentPane(); + if (leftContentPane != null) { + leftContentPane.setBorder(BorderFactory.createEmptyBorder()); + this.add(leftContentPane, BorderLayout.CENTER); + } + } + + public void populate(CellElement cellElement) { + if (cellElement != null && formatPane != null) { + formatPane.populateBean(cellElement.getStyle()); + } + } + + public void update(CellElement cellElement) { + if (cellElement != null && formatPane != null) { + cellElement.setStyle(formatPane.update(cellElement.getStyle())); + } + } + } + private void checkButtonEnabled() { if (useMultiplyNumCheckBox.isSelected()) { multiNumSpinner.setEnabled(true); From bcf191fadb93968c98279c7d084ee298adfed1d5 Mon Sep 17 00:00:00 2001 From: Starryi Date: Thu, 24 Mar 2022 15:11:02 +0800 Subject: [PATCH 22/23] =?UTF-8?q?REPORT-68127=20=E3=80=90=E4=B8=93?= =?UTF-8?q?=E9=A2=98=E3=80=91jdk11=E7=9A=84=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E7=94=A8bat=E8=84=9A=E6=9C=AC=E5=90=AF=E5=8A=A8=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=EF=BC=8Cexe=E5=90=AF=E5=8A=A8=E6=AD=A3=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 Reflect.on方法会抛出异常,需要主动catch 【改动思路】 无 【review建议】 --- .../Install4jStartupNotificationProvider.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java b/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java index 5402032f9..b23969889 100644 --- a/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java +++ b/designer-base/src/main/java/com/fr/design/startup/Install4jStartupNotificationProvider.java @@ -22,14 +22,22 @@ public class Install4jStartupNotificationProvider implements FineStartupNotifica @Override public void registerStartupListener(Listener listener) { - Class StartupNotificationListenerClass = Reflect.on("com.install4j.api.launcher.StartupNotification$Listener").type(); + Class StartupNotificationListenerClass = null; + try { + StartupNotificationListenerClass = Reflect.on("com.install4j.api.launcher.StartupNotification$Listener").type(); + } catch (Exception ignored) { + } + if (StartupNotificationListenerClass == null) { return; } ListenerHandler mHandler = new ListenerHandler(listener); Object listenerCallbackInstance = Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { StartupNotificationListenerClass }, mHandler); - Reflect.on("com.install4j.api.launcher.StartupNotification").call("registerStartupListener", listenerCallbackInstance); + try { + Reflect.on("com.install4j.api.launcher.StartupNotification").call("registerStartupListener", listenerCallbackInstance); + } catch (Exception ignored) { + } } private static class ListenerHandler implements InvocationHandler { @@ -48,4 +56,13 @@ public class Install4jStartupNotificationProvider implements FineStartupNotifica return null; } } + + public static void main(String[] args) { + Install4jStartupNotificationProvider.getInstance().registerStartupListener(new Listener() { + @Override + public void startupPerformed(String parameters) { + + } + }); + } } From f9ad77b8ed72c6ff780bbc05d3ec008c5d155dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Fri, 25 Mar 2022 09:47:02 +0800 Subject: [PATCH 23/23] =?UTF-8?q?REPORT-68175=20release=E5=90=88=E5=B9=B6f?= =?UTF-8?q?inal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beans/adapters/layout/FRAbsoluteLayoutAdapter.java | 6 +++++- .../main/java/com/fr/design/mainframe/FormDesignerUI.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java b/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java index 5bdfe3c29..5fb1025f3 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java @@ -4,6 +4,7 @@ import com.fr.design.beans.GroupModel; import com.fr.design.designer.beans.ConstraintsGroupModel; import com.fr.design.designer.beans.HoverPainter; import com.fr.design.designer.beans.models.DraggingModel; +import com.fr.design.designer.beans.models.StateModel; import com.fr.design.designer.beans.painters.FRAbsoluteLayoutPainter; import com.fr.design.designer.creator.*; import com.fr.design.designer.properties.BoundsGroupModel; @@ -353,7 +354,10 @@ public class FRAbsoluteLayoutAdapter extends FRBodyLayoutAdapter { public void dragging(DraggingModel model) { FormDesigner designer = model.getDesigner(); MouseEvent dragEvent = model.getCurrentDragEvent(); - designer.getStateModel().dragging(dragEvent); + StateModel stateModel = designer.getStateModel(); + if (stateModel.dragable()) { + stateModel.dragging(dragEvent); + } } @Override 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 8307e945f..1f3a7caf5 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 @@ -224,6 +224,9 @@ public class FormDesignerUI extends ComponentUI { } XCreator creator = draggingModel.getCreator(); + if (!creator.isSupportDrag()) { + return false; + } int leftTopX = draggingModel.getCreatorLeftTopX(); int leftTopY = draggingModel.getCreatorLeftTopY();