From f40ede4e48ca1bd670babd72c21cf99a2ab9b136 Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Fri, 20 Aug 2021 14:38:59 +0800 Subject: [PATCH 01/26] =?UTF-8?q?REPORT-57431=20=E5=AF=BC=E5=87=BA-?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BA=8B=E4=BB=B6-=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E9=80=89=E6=8B=A9-=E6=96=87=E6=9C=AC=E6=A1=86=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E4=B8=8D=E5=8F=AF=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/javascript/ExportJavaScriptPane.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java index a1546025f9..91b7d322dc 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java @@ -220,10 +220,8 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane Date: Fri, 20 Aug 2021 15:49:57 +0800 Subject: [PATCH 02/26] =?UTF-8?q?REPORT-57624=20=E5=AF=BC=E5=87=BA-?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BA=8B=E4=BB=B6-=E6=A8=A1=E6=9D=BFweb?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E8=AE=BE=E7=BD=AE=E5=AF=BC=E5=87=BA=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6-=E4=BF=9D=E5=AD=98=E5=90=8E=E5=86=8D=E6=89=93?= =?UTF-8?q?=E5=BC=80=E5=8F=98=E4=B8=BA=E9=82=AE=E4=BB=B6=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/javascript/ListenerEditPane.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java b/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java index 73e1caafa7..f7f5ef16b0 100644 --- a/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java +++ b/designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java @@ -101,16 +101,16 @@ public class ListenerEditPane extends BasicBeanPane { // 发送邮件 EmailPane emailPane = new EmailPane(); hyperlinkPane.add(EMAIL, emailPane); - // 导出事件 + cards.add(javaScriptPane); + cards.add(commit2DBJavaScriptPane); + cards.add(customActionPane); + cards.add(emailPane); + // 导出事件 这里要按顺序添加 if (workbook) { ExportJavaScriptPane exportJavaScriptPane = new ExportJavaScriptPane(); hyperlinkPane.add(EXPORT, exportJavaScriptPane); cards.add(exportJavaScriptPane); } - cards.add(javaScriptPane); - cards.add(commit2DBJavaScriptPane); - cards.add(customActionPane); - cards.add(emailPane); //其他事件 addOtherEvent(); hyperlinkPane.setBorder(BorderFactory.createTitledBorder(Toolkit.i18nText("Fine-Design_Report_JavaScript_Set"))); From 36e9f88c1a803a32ddee0abe7b5090213ec1d1fe Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Sun, 22 Aug 2021 17:12:58 +0800 Subject: [PATCH 03/26] =?UTF-8?q?REPORT-57609=20&=20REPORT-57622=20?= =?UTF-8?q?=E5=AF=BC=E5=87=BA-=E5=AF=BC=E5=87=BA=E4=BA=8B=E4=BB=B6-?= =?UTF-8?q?=E6=A8=A1=E6=9D=BFweb=E5=B1=9E=E6=80=A7=E8=AE=BE=E7=BD=AE&?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E9=85=8D=E7=BD=AE=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6-=E9=BB=98=E8=AE=A4=E8=AE=BE=E7=BD=AE?= =?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/ExportJavaScriptPane.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java index 91b7d322dc..f3367206f5 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java @@ -117,7 +117,9 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane list = parameterViewPane.update(); @@ -158,6 +160,7 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane Date: Mon, 23 Aug 2021 14:00:51 +0800 Subject: [PATCH 04/26] =?UTF-8?q?REPORT-57647=20cpt=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E4=B8=AD=E7=BB=84=E4=BB=B6=E8=A2=AB=E4=B8=8B?= =?UTF-8?q?=E6=96=B9=E8=A6=86=E7=9B=96=E6=97=B6=20=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E4=B8=8D=E5=8F=AF=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/designer/creator/XCreator.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XCreator.java b/designer-form/src/main/java/com/fr/design/designer/creator/XCreator.java index ed90a1c540..3856dde4b3 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XCreator.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XCreator.java @@ -783,6 +783,12 @@ public abstract class XCreator extends JPanel implements XComponent, XCreatorToo // 不超过可绘制区域 int extraX = Math.min(creatorRightX, formDesignerWidth); int extraY = creatorRightY < 0 ? 0 : Math.min(creatorRightY, formDesignerHeight); + + if (designer.isFormParaDesigner() && extraY + this.getHeight() >= formDesignerHeight) { + popup.setVisible(false); + return; + } + // 放到事件尾部执行 SwingUtilities.invokeLater(new Runnable() { @Override From cc38bcedc53298e45a82278d581327e4d8f89a18 Mon Sep 17 00:00:00 2001 From: xiqiu Date: Mon, 23 Aug 2021 15:49:20 +0800 Subject: [PATCH 05/26] =?UTF-8?q?REPORT-57643=20=20=E8=B0=83=E6=95=B4combo?= =?UTF-8?q?box=E7=9A=84=E5=A4=A7=E5=B0=8F(feature=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=88=B0realease=EF=BC=8C=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=B8=80=E6=B3=A2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datapane/connect/JDBCDefPane.java | 26 ++++++++++++-- .../fr/design/gui/icombobox/UIComboBoxUI.java | 34 +++++++++++++++++-- .../design/gui/icontainer/UIScrollPane.java | 13 +++++-- 3 files changed, 66 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java index 3349581248..aaa02f9af8 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -7,6 +7,7 @@ import com.fr.data.impl.JDBCDatabaseConnection; import com.fr.design.border.UITitledBorder; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.gui.icombobox.UIComboBoxUI; import com.fr.design.gui.ilable.ActionLabel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ipasswordfield.UIPasswordFieldWithFixedLength; @@ -32,6 +33,8 @@ import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +import javax.swing.plaf.ComboBoxUI; +import javax.swing.plaf.basic.ComboPopup; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; @@ -275,8 +278,9 @@ public class JDBCDefPane extends JPanel { } dbtypeComboBox.addActionListener(dbtypeActionListener); dbtypeComboBox.setMaximumRowCount(10); - driverLoaderBox = new UIComboBox(); + driverLoaderBox = new SpecialUIComboBox(); refreshDriverLoader(); + driverLoaderBox.setPreferredSize(new Dimension(200, driverLoaderBox.getPreferredSize().height)); driverLoaderBox.setEditable(false); driverManageBox = new UIComboBox(); refreshDriverManage(true); @@ -350,7 +354,7 @@ public class JDBCDefPane extends JPanel { odbcTipsPane.add(driverManageLabel); odbcTipsPane.add(odbcTipsLink); JPanel driverComboBoxAndTips = new JPanel(new BorderLayout()); - JPanel normalFlowInnerContainer_s_pane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + JPanel normalFlowInnerContainer_s_pane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(0, 5, 0); normalFlowInnerContainer_s_pane.add(driverManageBox); normalFlowInnerContainer_s_pane.add(driverComboBox); normalFlowInnerContainer_s_pane.add(driverLoaderBox); @@ -717,4 +721,22 @@ public class JDBCDefPane extends JPanel { private String driver; private String url; } + + private static class SpecialUIComboBox extends UIComboBox { + + @Override + public ComboBoxUI getUIComboBoxUI() { + return new SpecialUIComboBoxUI(); + } + } + + private static class SpecialUIComboBoxUI extends UIComboBoxUI { + + @Override + public ComboPopup createPopup() { + return createHorizontalNeverUIComboPopUp(); + } + + } + } diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBoxUI.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBoxUI.java index f15bbc52a0..d4de4e8501 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBoxUI.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/UIComboBoxUI.java @@ -10,12 +10,26 @@ import com.fr.stable.Constants; import com.fr.stable.StringUtils; import sun.swing.DefaultLookup; -import javax.swing.*; +import javax.swing.AbstractButton; +import javax.swing.JComboBox; +import javax.swing.JComponent; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.ListCellRenderer; +import javax.swing.ScrollPaneConstants; +import javax.swing.UIManager; import javax.swing.plaf.ButtonUI; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.basic.BasicComboPopup; import javax.swing.plaf.basic.ComboPopup; -import java.awt.*; +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.RenderingHints; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -159,6 +173,10 @@ public class UIComboBoxUI extends BasicComboBoxUI implements MouseListener { return new UIComboPopup(comboBox); } + protected ComboPopup createHorizontalNeverUIComboPopUp() { + return new HorizontalNeverUIComboPopup(comboBox); + } + private void setRollover(boolean isRollover) { if (this.isRollover != isRollover) { this.isRollover = isRollover; @@ -270,4 +288,16 @@ public class UIComboBoxUI extends BasicComboBoxUI implements MouseListener { } } + + private class HorizontalNeverUIComboPopup extends UIComboPopup { + + public HorizontalNeverUIComboPopup(JComboBox comboBox) { + super(comboBox); + } + + @Override + protected JScrollPane createScroller() { + return new UIScrollPane(list, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + } + } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIScrollPane.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIScrollPane.java index a14c10f3c4..55ba64b0e9 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIScrollPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIScrollPane.java @@ -3,8 +3,11 @@ package com.fr.design.gui.icontainer; import com.fr.design.constants.UIConstants; import com.fr.design.gui.iscrollbar.UIScrollBar; -import javax.swing.*; -import java.awt.*; +import javax.swing.JScrollBar; +import javax.swing.JScrollPane; +import javax.swing.ScrollPaneConstants; +import java.awt.Color; +import java.awt.Component; /** * @author zhou @@ -16,7 +19,11 @@ public class UIScrollPane extends JScrollPane { private static final int INCREAMENT = 30; public UIScrollPane(Component c) { - super(c, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + this(c, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + } + + public UIScrollPane(Component c, int vertical, int horizontal) { + super(c, vertical, horizontal); this.setHorizontalScrollBar(createHorizontalScrollBar()); this.getVerticalScrollBar().setUnitIncrement(INCREAMENT); this.getVerticalScrollBar().setBlockIncrement(INCREAMENT); From 98f36d90c874c1b6361d4fe47987b5e1503054a9 Mon Sep 17 00:00:00 2001 From: xiqiu Date: Mon, 23 Aug 2021 17:20:11 +0800 Subject: [PATCH 06/26] =?UTF-8?q?REPORT-55468=20=20=20=E6=94=B9=E4=B8=8B?= =?UTF-8?q?=E5=B8=83=E5=B1=80=EF=BC=8C=E5=AF=B9=E9=BD=90=E8=BE=B9=E7=95=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/layout/FRGUIPaneFactory.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java index 653f90f632..29c4ff0abf 100644 --- a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java @@ -47,12 +47,12 @@ public class FRGUIPaneFactory { } /** - * 创建一个靠左的布局,上下间隔为0,左右间隔为常量 + * 创建一个靠左的布局,上下间隔为0,左右间隔为常量,首间隔为0 * * @return FlowLayout对象 */ public static LayoutManager createLeftZeroVgapNormalHgapLayout() { - return new FlowLayout(FlowLayout.LEFT, 5, 0); + return new FRLeftFlowLayout(0, 5, 0); } From 7daf44dceff1b060729dc858deab78832df3b925 Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Mon, 23 Aug 2021 17:20:12 +0800 Subject: [PATCH 07/26] =?UTF-8?q?REPORT-54538=20=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E6=97=A0=E7=BD=91=E7=BB=9C=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E6=94=AF=E6=8C=81=E9=80=89=E4=B8=AD=E5=A4=8D?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../share/ui/online/OnlineWidgetRepoPane.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/OnlineWidgetRepoPane.java b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/OnlineWidgetRepoPane.java index af329cde8b..c07485745d 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/OnlineWidgetRepoPane.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/OnlineWidgetRepoPane.java @@ -14,6 +14,7 @@ import com.fr.stable.StringUtils; import javax.swing.BorderFactory; import javax.swing.JPanel; +import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.SwingWorker; import java.awt.BorderLayout; @@ -164,9 +165,14 @@ public class OnlineWidgetRepoPane extends BasicPane { tipLabel1.setForeground(Color.decode("#8F8F92")); UILabel tipLabel2 = tipLabel(Toolkit.i18nText("Fine-Design_Share_Internet_Connect_Failed_Tip2")); tipLabel2.setForeground(Color.decode("#8F8F92")); - UILabel tipLabel3 = tipLabel(MARKET_URL); - tipLabel3.setForeground(Color.decode("#8F8F92")); + JTextField tipLabel3 = new JTextField(MARKET_URL); + tipLabel3.setHorizontalAlignment(JTextField.CENTER); + tipLabel3.setPreferredSize(new Dimension(240, 20)); + tipLabel3.setEditable(false); + tipLabel3.setForeground(Color.decode("#8F8F92")); + tipLabel3.setBackground(null); + tipLabel3.setBorder(null); UILabel emptyLabel = tipLabel(StringUtils.EMPTY); panel.add(uiLabel); From 04bac5d214bddc2ff1d1febdfdc1c0a79e8dcad8 Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Mon, 23 Aug 2021 17:21:19 +0800 Subject: [PATCH 08/26] =?UTF-8?q?REPORT-57590=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=9D=A2=E6=9D=BF=E4=B8=8D=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E8=83=BD=E8=A2=AB=E5=A4=8D=E5=88=B6=E5=88=B0=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/XWParameterLayout.java | 10 +++++++ .../design/mainframe/FormSelectionUtils.java | 27 +++++++++++++++++++ 2 files changed, 37 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 1d37024d98..f60aa9846e 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 @@ -103,6 +103,16 @@ public class XWParameterLayout extends XWAbsoluteLayout { return false; } + @Override + public boolean canEnterIntoAbsolutePane() { + return false; + } + + @Override + public boolean canEnterIntoAdaptPane() { + return false; + } + /** * 该组件是否可以拖拽(表单中参数面板和自适应布局不可以拖拽) * @return 是则返回true diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java b/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java index 2900650aa0..84b8f6bf38 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormSelectionUtils.java @@ -10,6 +10,7 @@ import com.fr.design.designer.creator.XCreatorUtils; import com.fr.design.designer.creator.XLayoutContainer; import com.fr.design.designer.creator.XWAbsoluteLayout; import com.fr.design.designer.creator.XWFitLayout; +import com.fr.design.designer.creator.XWParameterLayout; import com.fr.design.designer.creator.XWScaleLayout; import com.fr.design.designer.creator.XWTitleLayout; import com.fr.design.designer.creator.cardlayout.XWTabFitLayout; @@ -60,6 +61,11 @@ public class FormSelectionUtils { */ public static void paste2Container(FormDesigner designer, XLayoutContainer parent, FormSelection clipboard, int x, int y) { + clipboard = filterFormSelection(clipboard, parent); + if (clipboard.isEmpty()) { + Toolkit.getDefaultToolkit().beep(); + return; + } LayoutAdapter adapter = parent.getLayoutAdapter(); if (parent instanceof XWAbsoluteLayout) { //绝对布局 @@ -77,6 +83,27 @@ public class FormSelectionUtils { Toolkit.getDefaultToolkit().beep(); } + private static FormSelection filterFormSelection(FormSelection clipboard, XLayoutContainer parent) { + FormSelection newSelection = new FormSelection(); + for (XCreator xCreator : clipboard.getSelectedCreators()) { + if (parent.acceptType(XWParameterLayout.class)) { + if (xCreator.canEnterIntoParaPane()) { + newSelection.addSelectedCreator(xCreator); + } + } else if (parent.acceptType(XWAbsoluteLayout.class)) { + if (xCreator.canEnterIntoAbsolutePane()) { + newSelection.addSelectedCreator(xCreator); + } + } else if (parent.acceptType(XWFitLayout.class)) { + if (xCreator.canEnterIntoAdaptPane()) { + newSelection.addSelectedCreator(xCreator); + } + } + + } + return newSelection; + } + private static boolean isExtraContainer(XLayoutContainer parent) { if (parent != null) { Set set = ExtraDesignClassManager.getInstance().getArray(FormWidgetOptionProvider.XML_TAG); From c81cccaa8a45a668306095ae56cc20afdd2340d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Mon, 23 Aug 2021 18:05:26 +0800 Subject: [PATCH 09/26] =?UTF-8?q?REPORT-56855=20=E6=A0=91=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E4=BF=AE=E6=94=B9=E5=90=8D=E7=A7=B0=E5=90=8E?= =?UTF-8?q?-=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E5=86=85=E7=9A=84?= =?UTF-8?q?=E6=A0=91=E6=95=B0=E6=8D=AE=E9=9B=86=E5=90=8D=E7=A7=B0=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E6=94=B9=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/data/DesignTableDataManager.java | 9 +++++++++ .../fr/design/data/datapane/TreeTableDataComboBox.java | 10 ++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index f1758f0689..4018a4f1d2 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -168,6 +168,15 @@ public abstract class DesignTableDataManager { } } + public static String getFinalChangedDsNameByOldDsName(String oldDsName) { + String changeName = getChangedDsNameByOldDsName(oldDsName); + if (StringUtils.isNotEmpty(changeName)) { + return getFinalChangedDsNameByOldDsName(changeName); + } else { + return oldDsName; + } + } + public static void addGlobalDsChangeListener(ChangeListener l) { globalDsListeners.add(l); } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java index 8964ff8de0..7ab969ae6f 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java @@ -9,6 +9,7 @@ import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBoxRenderer; import com.fr.file.TableDataConfig; +import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; @@ -80,12 +81,13 @@ public class TreeTableDataComboBox extends UIComboBox { } public void setSelectedTableDataByName(String name) { + refresh(); TableDataWrapper tableDataWrapper; - if (res_map.get(name) != null) { - tableDataWrapper = res_map.get(name); - } else { - String changeName = DesignTableDataManager.getChangedDsNameByOldDsName(name); + String changeName = DesignTableDataManager.getFinalChangedDsNameByOldDsName(name); + if (StringUtils.isNotEmpty(changeName)) { tableDataWrapper = res_map.get(changeName); + } else { + tableDataWrapper = res_map.get(name); } this.getModel().setSelectedItem(tableDataWrapper); } From 9f2e530ba4d81e585da4d69f8127e6b81f3c3cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 09:57:16 +0800 Subject: [PATCH 10/26] =?UTF-8?q?REPORT-56855=20=E5=B0=86=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E8=8E=B7=E5=8F=96=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E5=90=8E=E7=9A=84=E5=90=8D=E5=AD=97=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E6=94=B9=E6=88=90=E7=A7=81=E6=9C=89=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/data/DesignTableDataManager.java | 8 +++--- .../data/datapane/TableDataComboBox.java | 25 +++++++++---------- .../data/datapane/TreeTableDataComboBox.java | 2 +- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index 4018a4f1d2..ee8214297f 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -160,7 +160,7 @@ public abstract class DesignTableDataManager { return dsNameChangedMap.containsKey(oldDsName); } - public static String getChangedDsNameByOldDsName(String oldDsName) { + private static String getChangedDsNameFromMap(String oldDsName) { if (isDsNameChanged(oldDsName)) { return dsNameChangedMap.get(oldDsName); } else { @@ -168,10 +168,10 @@ public abstract class DesignTableDataManager { } } - public static String getFinalChangedDsNameByOldDsName(String oldDsName) { - String changeName = getChangedDsNameByOldDsName(oldDsName); + public static String getChangedDsNameByOldDsName(String oldDsName) { + String changeName = getChangedDsNameFromMap(oldDsName); if (StringUtils.isNotEmpty(changeName)) { - return getFinalChangedDsNameByOldDsName(changeName); + return getChangedDsNameByOldDsName(changeName); } else { return oldDsName; } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java index ebbdbf0f35..cda0fd084e 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java @@ -1,27 +1,26 @@ package com.fr.design.data.datapane; -import java.awt.Component; -import java.awt.event.ItemEvent; -import java.util.Iterator; -import java.util.Map.Entry; - -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - +import com.fr.data.TableDataSource; import com.fr.design.constants.UIConstants; import com.fr.design.data.DesignTableDataManager; -import com.fr.data.TableDataSource; import com.fr.design.data.tabledata.Prepare4DataSourceChange; -import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; import com.fr.design.data.tabledata.wrapper.TableDataWrapper; +import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBoxRenderer; import com.fr.general.ComparatorUtils; import com.fr.stable.StringUtils; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.Component; +import java.awt.event.ItemEvent; +import java.util.Iterator; +import java.util.Map.Entry; + /** * 包含所有数据集的下拉框 * diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java index 7ab969ae6f..422a3a49a8 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataComboBox.java @@ -83,7 +83,7 @@ public class TreeTableDataComboBox extends UIComboBox { public void setSelectedTableDataByName(String name) { refresh(); TableDataWrapper tableDataWrapper; - String changeName = DesignTableDataManager.getFinalChangedDsNameByOldDsName(name); + String changeName = DesignTableDataManager.getChangedDsNameByOldDsName(name); if (StringUtils.isNotEmpty(changeName)) { tableDataWrapper = res_map.get(changeName); } else { From 2b1ac0869c58761749fca3dd19790f269fd60e25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 10:22:05 +0800 Subject: [PATCH 11/26] =?UTF-8?q?REPORT-56855=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/data/DesignTableDataManager.java | 11 ++++---- .../data/datapane/TableDataComboBox.java | 25 ++++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index ee8214297f..ab86a0d6f2 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -160,16 +160,15 @@ public abstract class DesignTableDataManager { return dsNameChangedMap.containsKey(oldDsName); } - private static String getChangedDsNameFromMap(String oldDsName) { + public static String getChangedDsNameByOldDsName(String oldDsName) { + String changeName; + if (isDsNameChanged(oldDsName)) { - return dsNameChangedMap.get(oldDsName); + changeName = dsNameChangedMap.get(oldDsName); } else { - return StringUtils.EMPTY; + changeName = StringUtils.EMPTY; } - } - public static String getChangedDsNameByOldDsName(String oldDsName) { - String changeName = getChangedDsNameFromMap(oldDsName); if (StringUtils.isNotEmpty(changeName)) { return getChangedDsNameByOldDsName(changeName); } else { diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java index cda0fd084e..ebbdbf0f35 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataComboBox.java @@ -1,26 +1,27 @@ package com.fr.design.data.datapane; -import com.fr.data.TableDataSource; +import java.awt.Component; +import java.awt.event.ItemEvent; +import java.util.Iterator; +import java.util.Map.Entry; + +import javax.swing.DefaultComboBoxModel; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + import com.fr.design.constants.UIConstants; import com.fr.design.data.DesignTableDataManager; +import com.fr.data.TableDataSource; import com.fr.design.data.tabledata.Prepare4DataSourceChange; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; +import com.fr.design.data.tabledata.wrapper.TableDataWrapper; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBoxRenderer; import com.fr.general.ComparatorUtils; import com.fr.stable.StringUtils; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.Component; -import java.awt.event.ItemEvent; -import java.util.Iterator; -import java.util.Map.Entry; - /** * 包含所有数据集的下拉框 * From 2607d356b9993dae5e32aab09b9876cfb498dff3 Mon Sep 17 00:00:00 2001 From: hades Date: Tue, 24 Aug 2021 10:42:34 +0800 Subject: [PATCH 12/26] =?UTF-8?q?REPORT-56047=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A811.0=E9=80=82=E9=85=8D=E5=86=85=E5=AE=B9=E5=A4=84?= =?UTF-8?q?=E7=90=86=20=E5=90=8C=E6=AD=A5=E5=88=B010.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/EnvChangeEntrance.java | 6 ++-- .../env/LocalDesignerWorkspaceInfo.java | 29 ++++++++++++++++++- .../main/java/com/fr/env/RemoteEnvPane.java | 4 +-- ...er.java => WorkspaceExceptionHandler.java} | 25 ++++++++++------ .../com/fr/env/jarVersion.properties | 1 + .../module/DesignerWorkspaceProvider.java | 1 - 6 files changed, 50 insertions(+), 16 deletions(-) rename designer-base/src/main/java/com/fr/env/handler/{RemoteDesignExceptionHandler.java => WorkspaceExceptionHandler.java} (72%) create mode 100644 designer-base/src/main/resources/com/fr/env/jarVersion.properties diff --git a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java index 98c079ee2b..6881c8445c 100644 --- a/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java +++ b/designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java @@ -20,7 +20,7 @@ import com.fr.design.notification.NotificationCenter; import com.fr.design.utils.DesignUtils; import com.fr.design.versioncheck.VersionCheckUtils; import com.fr.env.EnvListPane; -import com.fr.env.handler.RemoteDesignExceptionHandler; +import com.fr.env.handler.WorkspaceExceptionHandler; import com.fr.exit.DesignerExiter; import com.fr.general.GeneralUtils; import com.fr.invoke.Reflect; @@ -139,7 +139,7 @@ public class EnvChangeEntrance { pluginErrorRemind(); } catch (Exception exception) { // 失败的处理 - RemoteDesignExceptionHandler.getInstance().handleInSwitch(exception, selectedEnv); + WorkspaceExceptionHandler.getInstance().handleInSwitch(exception, selectedEnv); return false; } TemplateTreePane.getInstance().refreshDockingView(); @@ -436,7 +436,7 @@ public class EnvChangeEntrance { } }); if (e != null) { - RemoteDesignExceptionHandler.getInstance().handleInStart(e, workspaceInfo); + WorkspaceExceptionHandler.getInstance().handleInStart(e, workspaceInfo); } envListDialog.setVisible(true); } diff --git a/designer-base/src/main/java/com/fr/design/env/LocalDesignerWorkspaceInfo.java b/designer-base/src/main/java/com/fr/design/env/LocalDesignerWorkspaceInfo.java index ef1f420d62..6bb8ec37a5 100644 --- a/designer-base/src/main/java/com/fr/design/env/LocalDesignerWorkspaceInfo.java +++ b/designer-base/src/main/java/com/fr/design/env/LocalDesignerWorkspaceInfo.java @@ -1,18 +1,37 @@ package com.fr.design.env; import com.fr.general.ComparatorUtils; +import com.fr.general.GeneralUtils; +import com.fr.locale.InterProviderFactory; +import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; +import com.fr.stable.project.ProjectConstants; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; import com.fr.workspace.connect.WorkspaceConnectionInfo; +import com.fr.workspace.engine.exception.MainVersionNotMatchException; import java.io.File; +import java.util.Properties; /** * Created by juhaoyu on 2018/6/15. */ public class LocalDesignerWorkspaceInfo implements DesignerWorkspaceInfo { - + + private static final String REPORT_ENGINE_KEY = "report-engine-key"; + private static final String REPORT_ENGINE_JAR; + private static final String PROP_PATH = "/com/fr/env/jarVersion.properties"; + + static { + Properties properties = new Properties(); + try { + properties.load(LocalDesignerWorkspaceInfo.class.getResourceAsStream(PROP_PATH)); + } catch (Exception ignored) { + } + REPORT_ENGINE_JAR = properties.getProperty(REPORT_ENGINE_KEY, "default.jar"); + } + private String name; private String path; @@ -86,6 +105,14 @@ public class LocalDesignerWorkspaceInfo implements DesignerWorkspaceInfo { return false; } + File engineLib = new File(StableUtils.pathJoin(this.path, ProjectConstants.LIB_NAME, REPORT_ENGINE_JAR)); + // 非安装版本允许自由切换 + boolean notExistLib = !ComparatorUtils.equals(GeneralUtils.readFullBuildNO(), InterProviderFactory.getProvider().getLocText("Fine-Core_Basic_About_No_Build")) + && !engineLib.exists(); + if (notExistLib) { + throw new MainVersionNotMatchException(); + } + return true; } } diff --git a/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java b/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java index 17dc72dba5..56f90e804e 100644 --- a/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java +++ b/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java @@ -21,7 +21,7 @@ import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.scrollruler.ModLineBorder; -import com.fr.env.handler.RemoteDesignExceptionHandler; +import com.fr.env.handler.WorkspaceExceptionHandler; import com.fr.stable.StringUtils; import com.fr.third.guava.base.Strings; import com.fr.workspace.WorkContext; @@ -596,7 +596,7 @@ public class RemoteEnvPane extends BasicBeanPane { } } catch (Exception e) { dialog.dispose(); - RemoteDesignExceptionHandler.getInstance().handleInTest(e, remoteEnv); + WorkspaceExceptionHandler.getInstance().handleInTest(e, remoteEnv); } dialogDownPane.remove(cancelButton); dialogDownPane.revalidate(); diff --git a/designer-base/src/main/java/com/fr/env/handler/RemoteDesignExceptionHandler.java b/designer-base/src/main/java/com/fr/env/handler/WorkspaceExceptionHandler.java similarity index 72% rename from designer-base/src/main/java/com/fr/env/handler/RemoteDesignExceptionHandler.java rename to designer-base/src/main/java/com/fr/env/handler/WorkspaceExceptionHandler.java index 7e6154eeee..367cd6bbb6 100644 --- a/designer-base/src/main/java/com/fr/env/handler/RemoteDesignExceptionHandler.java +++ b/designer-base/src/main/java/com/fr/env/handler/WorkspaceExceptionHandler.java @@ -1,5 +1,6 @@ package com.fr.env.handler; +import com.fr.base.exception.ExceptionDescriptor; import com.fr.design.EnvChangeEntrance; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.env.DesignerWorkspaceInfo; @@ -11,6 +12,7 @@ import com.fr.env.handler.impl.CommonHandler; import com.fr.env.handler.impl.ExecutionHandler; import com.fr.env.handler.impl.UnexpectedHandler; import com.fr.log.FineLoggerFactory; +import com.fr.stable.StringUtils; import java.util.ArrayList; import java.util.List; import javax.swing.UIManager; @@ -23,11 +25,11 @@ import static javax.swing.JOptionPane.ERROR_MESSAGE; * @version 10.0 * Created by hades on 2021/8/5 */ -public class RemoteDesignExceptionHandler { +public class WorkspaceExceptionHandler { - private static final RemoteDesignExceptionHandler INSTANCE = new RemoteDesignExceptionHandler(); + private static final WorkspaceExceptionHandler INSTANCE = new WorkspaceExceptionHandler(); - public static RemoteDesignExceptionHandler getInstance() { + public static WorkspaceExceptionHandler getInstance() { return INSTANCE; } @@ -35,7 +37,7 @@ public class RemoteDesignExceptionHandler { private final List> switchList = new ArrayList<>(); - private RemoteDesignExceptionHandler() { + private WorkspaceExceptionHandler() { // 要保证顺序 testList.add(new CancelHandler()); testList.add(new ExecutionHandler()); @@ -65,11 +67,15 @@ public class RemoteDesignExceptionHandler { public void handleInSwitch(Throwable e, DesignerWorkspaceInfo workspaceInfo) { if (workspaceInfo == null || workspaceInfo.getType() == DesignerWorkspaceType.Local) { FineLoggerFactory.getLogger().error(e.getMessage(), e); - FineJOptionPane.showMessageDialog(EnvChangeEntrance.getInstance().getDialog(), - Toolkit.i18nText("Fine-Design_Basic_Switch_Workspace_Failed"), - Toolkit.i18nText("Fine-Design_Basic_Tool_Tips"), - ERROR_MESSAGE, - UIManager.getIcon("OptionPane.errorIcon")); + if (e instanceof ExceptionDescriptor) { + new CommonHandler(true).handle(new RefWrapper(e, StringUtils.EMPTY)); + } else { + FineJOptionPane.showMessageDialog(EnvChangeEntrance.getInstance().getDialog(), + Toolkit.i18nText("Fine-Design_Basic_Switch_Workspace_Failed"), + Toolkit.i18nText("Fine-Design_Basic_Tool_Tips"), + ERROR_MESSAGE, + UIManager.getIcon("OptionPane.errorIcon")); + } return; } handle(e, switchList, workspaceInfo); @@ -78,6 +84,7 @@ public class RemoteDesignExceptionHandler { public void handleInStart(Throwable e, DesignerWorkspaceInfo workspaceInfo) { if (workspaceInfo == null || workspaceInfo.getType() == DesignerWorkspaceType.Local) { FineLoggerFactory.getLogger().error(e.getMessage(), e); + new CommonHandler(false).handle(new RefWrapper(e, StringUtils.EMPTY)); return; } handle(e, testList, workspaceInfo); diff --git a/designer-base/src/main/resources/com/fr/env/jarVersion.properties b/designer-base/src/main/resources/com/fr/env/jarVersion.properties new file mode 100644 index 0000000000..8619fca7c3 --- /dev/null +++ b/designer-base/src/main/resources/com/fr/env/jarVersion.properties @@ -0,0 +1 @@ +report-engine-key=fine-report-engine-10.0.jar \ No newline at end of file diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java b/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java index d5b6cdb632..0035e1e608 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java @@ -9,7 +9,6 @@ import com.fr.design.env.DesignerWorkspaceGenerator; import com.fr.design.env.DesignerWorkspaceInfo; import com.fr.design.env.LocalDesignerWorkspaceInfo; import com.fr.design.versioncheck.VersionCheckUtils; -import com.fr.env.handler.RemoteDesignExceptionHandler; import com.fr.event.Event; import com.fr.event.EventDispatcher; import com.fr.event.Listener; From b4dc091c764c9f86c510fe93acb774aff1898f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 10:56:47 +0800 Subject: [PATCH 13/26] =?UTF-8?q?REPORT-57202=20FR11=E4=B8=80=E8=BD=AE?= =?UTF-8?q?=E5=9B=9E=E5=BD=92-=E9=A1=B5=E9=9D=A2=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=BA=B8=E5=BC=A0=E5=A4=A7=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/gui/frpane/JTreeAutoBuildPane.java | 11 +++++++---- .../main/java/com/fr/design/report/PageSetupPane.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeAutoBuildPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeAutoBuildPane.java index 6103e68002..83c52ac784 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeAutoBuildPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeAutoBuildPane.java @@ -27,13 +27,16 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.stable.StringUtils; -import java.awt.*; + +import javax.swing.JPanel; +import javax.swing.event.PopupMenuEvent; +import javax.swing.event.PopupMenuListener; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.List; -import javax.swing.*; -import javax.swing.event.PopupMenuEvent; -import javax.swing.event.PopupMenuListener; public class JTreeAutoBuildPane extends BasicPane implements PreviewLabel.Previewable, EditOrNewLabel.Editable { private TreeTableDataComboBox treeTableDataComboBox; diff --git a/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java b/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java index 668700a95e..ff297929a6 100644 --- a/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java +++ b/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java @@ -779,7 +779,7 @@ public class PageSetupPane extends BasicPane { //使用科学计数法显示长度的时候,限制纵向显示长度为9位 if (h_str.contains(E)) { String str1 = h_str.substring(h_str.indexOf(E)); - String str2 = h_str.substring(0, 9 - str1.length()); + String str2 = h_str.substring(0, h_str.length() - str1.length()); h_str = str2 + str1; } else if (h_str.indexOf(CoreConstants.DOT) > 0) { h_str = h_str.substring(0, h_str.indexOf(CoreConstants.DOT) + 2); From ee29df29ba37529ef032740f07c5140faa588740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 11:27:32 +0800 Subject: [PATCH 14/26] =?UTF-8?q?REPORT-57202=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8E=9F=E5=85=88=E2=80=9C=E7=BA=B5=E5=90=91=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=95=BF=E5=BA=A6=E4=B8=BA9=E4=BD=8D=E2=80=9D=E7=9A=84?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/report/PageSetupPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java b/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java index ff297929a6..3074bb009a 100644 --- a/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java +++ b/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java @@ -779,7 +779,7 @@ public class PageSetupPane extends BasicPane { //使用科学计数法显示长度的时候,限制纵向显示长度为9位 if (h_str.contains(E)) { String str1 = h_str.substring(h_str.indexOf(E)); - String str2 = h_str.substring(0, h_str.length() - str1.length()); + String str2 = h_str.substring(0, Math.min(h_str.length(), 9) - str1.length()); h_str = str2 + str1; } else if (h_str.indexOf(CoreConstants.DOT) > 0) { h_str = h_str.substring(0, h_str.indexOf(CoreConstants.DOT) + 2); From b0320541a95626d2e2da510e9b15a2a2908dd875 Mon Sep 17 00:00:00 2001 From: kerry Date: Tue, 24 Aug 2021 11:34:09 +0800 Subject: [PATCH 15/26] =?UTF-8?q?REPORT-57706=20&&=20REPORT-57694=20?= =?UTF-8?q?=E6=96=B0=E8=87=AA=E9=80=82=E5=BA=94-=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=9D=97=E5=88=97=E5=AE=BD=E8=AE=BE=E7=BD=AE66.66.=E4=BD=86?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E4=B8=BA66=E5=83=8F=E7=B4=A0=EF=BC=9B?= =?UTF-8?q?=E6=96=B0=E8=87=AA=E9=80=82=E5=BA=94-=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=9D=97=E8=AE=BE=E7=BD=AE=E8=A1=8C=E9=AB=98=E4=B8=BA3000?= =?UTF-8?q?=E5=90=8E=E7=9B=B4=E6=8E=A5=E9=9A=90=E8=97=8F=E8=A1=8C=E4=BA=86?= =?UTF-8?q?=EF=BC=88=E8=A1=8C=E9=AB=98=E5=8F=98=E4=B8=BA0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/frpane/UnitInputPane.java | 21 +++++++++++-------- .../grid/AbstractGridHeaderMouseHandler.java | 17 +++++++-------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java index bab3e8851c..5769fdacfe 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java @@ -10,6 +10,7 @@ import com.fr.design.gui.ispinner.UIBasicSpinner; import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.general.GeneralUtils; import com.fr.stable.AssistUtils; import com.fr.stable.StringUtils; @@ -27,7 +28,8 @@ import java.math.BigDecimal; * For input Number. */ public abstract class UnitInputPane extends BasicPane { - private static final double NUM_POINT = 0.000001; + private static final double MAX_NUM = 3000.0D; + private static final double NUM_POINT = 0.000001; private int scale = -1; String title; @@ -46,7 +48,7 @@ public abstract class UnitInputPane extends BasicPane { centerPane.add(titleLabel); // Denny:在对话框中加入JSpinner对象 - numberFieldSpinner = new UIBasicSpinner(new SpinnerNumberModel(0, 0, 999, 1)); + numberFieldSpinner = new UIBasicSpinner(new SpinnerNumberModel(0, 0, MAX_NUM, 1)); GUICoreUtils.setColumnForSpinner(numberFieldSpinner, 24); numberFieldSpinner.setPreferredSize(new Dimension(60, 20)); numberFieldSpinner.setMinimumSize(new Dimension(60, 20)); @@ -71,17 +73,17 @@ public abstract class UnitInputPane extends BasicPane { public void populate(float floatValue) { popValue = floatValue; - numberFieldSpinner.setModel(new SpinnerNumberModel(0.00, 0.00, 999.00, 0.01)); + numberFieldSpinner.setModel(new SpinnerNumberModel(0.00, 0.00, MAX_NUM, 0.01)); JFormattedTextField temp = GUICoreUtils.getSpinnerTextField(numberFieldSpinner); addChangeListener(temp); - BigDecimal de = new BigDecimal(floatValue + ""); + BigDecimal de = new BigDecimal(GeneralUtils.objectToString(floatValue)); if (scale > 0) { floatValue = de.setScale(scale, BigDecimal.ROUND_DOWN).floatValue(); } else { floatValue = de.floatValue(); } - //选中多列, 并且列宽不完全一致的话, 就不显示值了. + //选中多列, 并且列宽不完全一致的话, 就不显示值了. temp.setText(AssistUtils.equals(floatValue, 0) ? StringUtils.EMPTY : Utils.convertNumberStringToString(new Float(floatValue))); // denny:默认应该为选中,方便用户修改 @@ -99,8 +101,8 @@ public abstract class UnitInputPane extends BasicPane { public double update() throws ValueNotChangeException { // 值没变就不改 if (!changed) { - throw vncExp; - } + throw vncExp; + } // Denny: get numberFieldSpinner 的 TextField JFormattedTextField temp = GUICoreUtils.getSpinnerTextField(numberFieldSpinner); @@ -108,7 +110,8 @@ public abstract class UnitInputPane extends BasicPane { if (temp.getText().length() == 0) { return 0; } - BigDecimal de = new BigDecimal(temp.getText()); + + BigDecimal de = new BigDecimal(GeneralUtils.objectToString(temp.getValue())); if (scale > 0) { return de.setScale(scale, BigDecimal.ROUND_DOWN).floatValue(); } else { @@ -176,4 +179,4 @@ public abstract class UnitInputPane extends BasicPane { // 鼠标按键在组件上单击时 } }; -} \ No newline at end of file +} diff --git a/designer-realize/src/main/java/com/fr/grid/AbstractGridHeaderMouseHandler.java b/designer-realize/src/main/java/com/fr/grid/AbstractGridHeaderMouseHandler.java index b04e4ad1ef..044f0a4588 100644 --- a/designer-realize/src/main/java/com/fr/grid/AbstractGridHeaderMouseHandler.java +++ b/designer-realize/src/main/java/com/fr/grid/AbstractGridHeaderMouseHandler.java @@ -157,7 +157,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { dragType = GridUtils.DRAG_CELL_SIZE; isDragPermited = true; dragIndex = index; - showToolTip(evt, createToolTipString(sizeList.get(dragIndex).toPixD(resolution), sizeList.getRangeValue(0, dragIndex + 1).toPixD(resolution))); + showToolTip(evt, createToolTipString(sizeList.get(dragIndex), sizeList.getRangeValue(0, dragIndex + 1))); return true; } if (between(evt, tmpSize1, tmpSize2)) { @@ -301,21 +301,18 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { protected abstract void resetGridSelectionBySelect(int index, ElementCasePane ePane); - private String createToolTipString(double doubleValue, double totalDoubleValue) { + private String createToolTipString(UNIT unitValue, UNIT totalUnitValue) { int unitType = DesignerEnvManager.getEnvManager().getReportLengthUnit(); -// int resolution = ScreenResolution.getScreenResolution(); - FU ulen = FU.valueOfPix((int) doubleValue, resolution); - FU tulen = FU.valueOfPix((int) totalDoubleValue, resolution); ReportLengthUNITProvider lengthUNIT = DesignerUIModeConfig.getInstance().parseLengthUNIT(unitType); String unit = lengthUNIT.unitText(); - double len = lengthUNIT.unit2Value4Scale(ulen); - double tlen = lengthUNIT.unit2Value4Scale(tulen); + double len = lengthUNIT.unit2Value4Scale(unitValue); + double tlen = lengthUNIT.unit2Value4Scale(totalUnitValue); StringBuilder sb = new StringBuilder(); sb.append(String.format("%.2f", new Double(len))) .append('/').append(String.format("%.2f", new Double(tlen))) .append(unit).append('(') - .append((int)(doubleValue)).append('/') - .append((int)(totalDoubleValue)) + .append((int)(unitValue.toPixD(resolution))).append('/') + .append((int)(totalUnitValue.toPixD(resolution))) .append(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Px")) .append(')'); return sb.toString(); @@ -416,7 +413,7 @@ public abstract class AbstractGridHeaderMouseHandler extends MouseInputAdapter { DynamicUnitList sizeList = getSizeList(report); // int resolution = ScreenResolution.getScreenResolution(); - this.setToolTipText2(this.createToolTipString(sizeList.get(dragIndex).toPixD(resolution), sizeList.getRangeValue(0, dragIndex + 1).toPixD(resolution))); + this.setToolTipText2(this.createToolTipString(sizeList.get(dragIndex), sizeList.getRangeValue(0, dragIndex + 1))); } ePane.repaint(); From ded252677c17a52c06211759e22d73c180a942e8 Mon Sep 17 00:00:00 2001 From: hades Date: Tue, 24 Aug 2021 11:42:27 +0800 Subject: [PATCH 16/26] =?UTF-8?q?REPORT-57496=20FR11=E4=B8=80=E8=BD=AE?= =?UTF-8?q?=E5=9B=9E=E5=BD=92-=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1-?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=95=B0=E6=8D=AE=E9=9B=86=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tabledatapane/DBTableDataPane.java | 2 +- .../db/DBTableDataSavedHook.java | 47 ------------------- 2 files changed, 1 insertion(+), 48 deletions(-) delete mode 100644 designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/DBTableDataSavedHook.java diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java index 8b8099ab46..453e4bc946 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java @@ -19,7 +19,6 @@ import com.fr.design.data.datapane.preview.PreviewTablePane; import com.fr.design.data.datapane.preview.sql.PreviewPerformedSqlPane; import com.fr.design.data.datapane.sqlpane.SQLEditPane; import com.fr.design.data.tabledata.strategy.StrategyConfigHandler; -import com.fr.design.data.tabledata.tabledatapane.db.DBTableDataSavedHook; import com.fr.design.data.tabledata.tabledatapane.db.StrategyConfigFrom; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; @@ -45,6 +44,7 @@ import com.fr.design.utils.gui.GUICoreUtils; import com.fr.esd.core.strategy.config.StrategyConfig; import com.fr.esd.core.strategy.config.StrategyConfigHelper; import com.fr.esd.core.strategy.config.service.StrategyConfigService; +import com.fr.esd.data.db.DBTableDataSavedHook; import com.fr.esd.event.DSMapping; import com.fr.esd.event.DsNameTarget; import com.fr.esd.event.StrategyEventsNotifier; diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/DBTableDataSavedHook.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/DBTableDataSavedHook.java deleted file mode 100644 index 8d9a51249d..0000000000 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/db/DBTableDataSavedHook.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.fr.design.data.tabledata.tabledatapane.db; - -import com.fr.data.impl.DBTableData; -import com.fr.esd.event.DSMapping; -import com.fr.esd.event.DsNameTarget; -import com.fr.esd.event.StrategyEventsNotifier; -import com.fr.esd.event.xml.XMLSavedHook; -import com.fr.stable.StringUtils; - -public class DBTableDataSavedHook implements XMLSavedHook { - - private static final long serialVersionUID = 4925391747683335372L; - - private final String tplPath; - private String origName; - - private String origConnection; - - private String origQuery; - - public DBTableDataSavedHook(String tplPath, DBTableData origDBTableData) { - this.tplPath = tplPath; - this.origName = origDBTableData.getDsName(); - this.origConnection = origDBTableData.getDatabase().toString(); - this.origQuery = origDBTableData.getQuery(); - } - - @Override - public void doAfterSaved(DBTableData saved) { - String dsName = saved.getDsName(); - String conn = saved.getDatabase().toString(); - String query = saved.getQuery(); - - - //检查数据集名称、数据链接和sql是否修改,如果修改需要触发缓存监听事件 - if (!dsName.equals(origName) || !conn.equals(origConnection) || !query.equals(origQuery)) { - if (StringUtils.isNotEmpty(tplPath) && StringUtils.isNotEmpty(origName)) { - //新建数据集的origName为null,不用触发 - StrategyEventsNotifier.modifyDataSet(new DSMapping(tplPath, new DsNameTarget(origName))); - } - } - - this.origName = dsName; - this.origConnection = conn; - this.origQuery = query; - } -} \ No newline at end of file From 1973d1796492b151db7209193114aa44be892e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 11:47:47 +0800 Subject: [PATCH 17/26] =?UTF-8?q?REPORT-57202=20FR11=E4=B8=80=E8=BD=AE?= =?UTF-8?q?=E5=9B=9E=E5=BD=92-=E9=A1=B5=E9=9D=A2=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=BA=B8=E5=BC=A0=E5=A4=A7=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/report/PageSetupPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java b/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java index 668700a95e..3074bb009a 100644 --- a/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java +++ b/designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java @@ -779,7 +779,7 @@ public class PageSetupPane extends BasicPane { //使用科学计数法显示长度的时候,限制纵向显示长度为9位 if (h_str.contains(E)) { String str1 = h_str.substring(h_str.indexOf(E)); - String str2 = h_str.substring(0, 9 - str1.length()); + String str2 = h_str.substring(0, Math.min(h_str.length(), 9) - str1.length()); h_str = str2 + str1; } else if (h_str.indexOf(CoreConstants.DOT) > 0) { h_str = h_str.substring(0, h_str.indexOf(CoreConstants.DOT) + 2); From 1beaddc1e5fcc17280242d1467aa1301a76a840f Mon Sep 17 00:00:00 2001 From: kerry Date: Tue, 24 Aug 2021 13:37:29 +0800 Subject: [PATCH 18/26] =?UTF-8?q?REPORT-57582=E3=80=90FRX=E3=80=91?= =?UTF-8?q?=E6=96=B0=E8=87=AA=E9=80=82=E5=BA=94=E5=BD=B1=E5=93=8D=EF=BC=8C?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E6=89=93=E5=BC=80cpt=EF=BC=8C?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E5=BE=88=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/fit/common/TemplateTool.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer-form/src/main/java/com/fr/design/fit/common/TemplateTool.java b/designer-form/src/main/java/com/fr/design/fit/common/TemplateTool.java index 0d8696ba31..323a28ad04 100644 --- a/designer-form/src/main/java/com/fr/design/fit/common/TemplateTool.java +++ b/designer-form/src/main/java/com/fr/design/fit/common/TemplateTool.java @@ -39,6 +39,7 @@ public class TemplateTool { @Override public void on(Event event, JTemplate jTemplate) { if (!(jTemplate instanceof JForm)) { + JFormType.OLD_TYPE.switchUIMode(); return; } JFormType currentType = JFormType.OLD_TYPE; From 8c8e15fbff9bf59b878add7eab5cc430698bad22 Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Tue, 24 Aug 2021 13:44:56 +0800 Subject: [PATCH 19/26] =?UTF-8?q?REPORT-57568=20=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=A0=91=E5=B1=95=E5=BC=80=E6=94=B6=E8=B5=B7?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E6=89=93=E5=BC=80=E6=A8=A1=E6=9D=BF=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/file/TemplateTreePane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java index f3c85f6fbb..363eb1ab07 100644 --- a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java +++ b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java @@ -93,7 +93,7 @@ public class TemplateTreePane extends JPanel implements FileOperations { @Override public void mousePressed(MouseEvent evt) { - if (evt.getClickCount() == 2) { + if (reportletsTree.getPathForLocation(evt.getX(), evt.getY()) != null && evt.getClickCount() == 2) { openFile(); } } From 42c40af36d92b538948fbd6059f38b5b1e042ded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B2=B3?= <445798420@qq.com> Date: Tue, 24 Aug 2021 15:13:44 +0800 Subject: [PATCH 20/26] =?UTF-8?q?CHART-20312=20=E5=9B=BE=E8=A1=A8=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=8C=89=E9=92=AE=E5=A4=B1=E7=84=A6=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/chart/gui/ChartTypePane.java | 25 +++++++++++++++---- .../chart/gui/type/ChartImagePane.java | 1 + 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypePane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypePane.java index ac0bfcb577..e93f0023bc 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypePane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypePane.java @@ -25,17 +25,19 @@ import com.fr.stable.AssistUtils; import com.fr.stable.StringUtils; import javax.swing.JPanel; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; /** * 图表 属性表, 类型选择 界面. @@ -99,6 +101,19 @@ public class ChartTypePane extends AbstractChartAttrPane { buttonPane.setEditingChartPane(chartTypeComBox); + buttonPane.addMouseListener(new MouseAdapter() { + @Override + public void mouseReleased(MouseEvent e) { + buttonPane.requestFocus(); + } + }); + + chartTypeComBox.addMouseListener(new MouseAdapter() { + @Override + public void mouseReleased(MouseEvent e) { + content.requestFocus(); + } + }); return content; } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/ChartImagePane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/ChartImagePane.java index 584d7fd1d6..e8ef8714da 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/ChartImagePane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/ChartImagePane.java @@ -72,6 +72,7 @@ public class ChartImagePane extends ChartSelectDemoPane { }else{ this.isDoubleClicked = false; } + this.requestFocus(); super.mouseClicked(e); } From 6220893bf8d3c799866853baaa5177e684c0d8ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 16:38:15 +0800 Subject: [PATCH 21/26] =?UTF-8?q?REPORT-56623=20=E3=80=90FRX=E3=80=91?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E5=9B=BE=E8=A1=A8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E5=90=8E=EF=BC=8C=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E9=9D=A2=E6=9D=BF=E4=B8=8B=E6=96=B9=E7=A9=BA?= =?UTF-8?q?=E7=99=BD=E5=8C=BA=E5=9F=9F=E6=B2=A1=E6=9C=89=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/widget/ui/FormWidgetCardPane.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java index c2d145983a..acb69e6b38 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java @@ -9,6 +9,8 @@ import com.fr.design.mainframe.FormDesigner; import javax.swing.BorderFactory; import javax.swing.JPanel; import java.awt.BorderLayout; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; /** * Created by ibm on 2017/7/25. @@ -22,6 +24,12 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { this.initLayout(); this.initScrollPane(); this.initPropertyPane(); + content.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + content.requestFocusInWindow(); + } + }); } public void initPropertyPane() { @@ -45,6 +53,7 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { }; this.add(basicScrollPane, BorderLayout.CENTER); this.content = jPanel; + this.content.requestFocusInWindow(); } private void initLayout() { From 9a2675f097df47606c7938203a4b08a9afdf868a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 16:50:23 +0800 Subject: [PATCH 22/26] =?UTF-8?q?REPORT-56623=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/widget/ui/FormWidgetCardPane.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java index acb69e6b38..326cab5de1 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java @@ -24,12 +24,6 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { this.initLayout(); this.initScrollPane(); this.initPropertyPane(); - content.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - content.requestFocusInWindow(); - } - }); } public void initPropertyPane() { @@ -54,6 +48,12 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { this.add(basicScrollPane, BorderLayout.CENTER); this.content = jPanel; this.content.requestFocusInWindow(); + this.content.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + content.requestFocusInWindow(); + } + }); } private void initLayout() { From 228098fb228624b638626c3d8d1f6f7f2e8c9255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 20:04:30 +0800 Subject: [PATCH 23/26] =?UTF-8?q?REPORT-56840=20=E6=A0=91=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E7=82=B9=E5=87=BB=E9=80=89=E6=8B=A9=E8=B5=96?= =?UTF-8?q?=E6=89=80=E9=80=89=E6=95=B0=E6=8D=AE=E9=9B=86=E7=9A=84=E7=88=B6?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=E5=AD=97=E6=AE=B5=E6=9E=84=E5=BB=BA=E6=A0=91?= =?UTF-8?q?-=E7=88=B6=E8=8A=82=E7=82=B9=E5=AD=97=E6=AE=B5=E5=8F=91?= =?UTF-8?q?=E7=94=9F=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datapane/TreeTableDataDictPane.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java index f1f1c6c75e..161f6febfe 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java @@ -64,7 +64,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { tableFlowPane.add(tableDataNameComboBox); tableDataNameComboBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { - tdChange(); + tdChange(true); } }); tableFlowPane.add(new PreviewLabel(this)); @@ -73,19 +73,21 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { this.add(centerPane, BorderLayout.CENTER); parentMarkRadio = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Build_Tree_Accord_Parent_Marked_Filed"), true); lengthMarkRadio = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Build_Tree_Accord_Marked_Filed_Length")); - parentMarkRadio.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { + parentMarkRadio.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { if (isBuildByParentFiled()) { makeParentEnable(); - tdChange(); + tdChange(false); } } }); - lengthMarkRadio.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { + lengthMarkRadio.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { if (!isBuildByParentFiled()) { makeLengthEnable(); - tdChange(); + tdChange(false); } } }); @@ -169,7 +171,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { } - private void tdChange() { + private void tdChange(boolean isRefreshComboBoxItems) { TableDataWrapper tableDataWrappe = this.tableDataNameComboBox.getSelectedItem(); if (tableDataWrappe == null) { return; @@ -186,7 +188,9 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { String[] columnNames = new String[len]; namelist.toArray(columnNames); for (int i = 0; i < valueEditorPanes.length; i++) { - valueEditorPanes[i].setEditors(new Editor[]{new ColumnNameEditor(columnNames), new ColumnIndexEditor(len)}, columnNames[0]); + if (isRefreshComboBoxItems || isNoSelectedColumnName(valueEditorPanes[i])) { + valueEditorPanes[i].setEditors(new Editor[]{new ColumnNameEditor(columnNames), new ColumnIndexEditor(len)}, columnNames[0]); + } } } catch (Exception e) { for (int i = 0; i < valueEditorPanes.length; i++) { @@ -197,6 +201,11 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { } } + private boolean isNoSelectedColumnName(ValueEditorPane valueEditorPane) { + ColumnNameEditor columnNameEditor = (ColumnNameEditor) valueEditorPane.getCards()[0]; + return StringUtils.isEmpty(columnNameEditor.getColumnName()); + } + @Override protected String title4PopupWindow() { return "TreeTableDataDictionay"; From 58966d94d0db3cc89d38c9fbee8681a5e49c7e9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 20:05:29 +0800 Subject: [PATCH 24/26] =?UTF-8?q?REPORT-56623=20=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/widget/ui/FormWidgetCardPane.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java index 326cab5de1..c2d145983a 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java @@ -9,8 +9,6 @@ import com.fr.design.mainframe.FormDesigner; import javax.swing.BorderFactory; import javax.swing.JPanel; import java.awt.BorderLayout; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; /** * Created by ibm on 2017/7/25. @@ -47,13 +45,6 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { }; this.add(basicScrollPane, BorderLayout.CENTER); this.content = jPanel; - this.content.requestFocusInWindow(); - this.content.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - content.requestFocusInWindow(); - } - }); } private void initLayout() { From ed4d45f70adb13393bc41e0d9d5a2e379a118632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 20:36:32 +0800 Subject: [PATCH 25/26] =?UTF-8?q?REPORT-56840=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/data/datapane/TreeTableDataDictPane.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java index 161f6febfe..a50f89c189 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java @@ -171,7 +171,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { } - private void tdChange(boolean isRefreshComboBoxItems) { + private void tdChange(boolean isChangeDS) { TableDataWrapper tableDataWrappe = this.tableDataNameComboBox.getSelectedItem(); if (tableDataWrappe == null) { return; @@ -188,7 +188,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { String[] columnNames = new String[len]; namelist.toArray(columnNames); for (int i = 0; i < valueEditorPanes.length; i++) { - if (isRefreshComboBoxItems || isNoSelectedColumnName(valueEditorPanes[i])) { + if (isChangeDS || isNoSelectedColumnName(valueEditorPanes[i])) { valueEditorPanes[i].setEditors(new Editor[]{new ColumnNameEditor(columnNames), new ColumnIndexEditor(len)}, columnNames[0]); } } From c583f44f87c0afe94b3749e229a0f5ae75ae01a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Tue, 24 Aug 2021 20:45:38 +0800 Subject: [PATCH 26/26] =?UTF-8?q?REPORT-56840=20=E5=B0=86=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E4=B8=8B=E6=8B=89=E6=A1=86=E6=98=AF=E5=90=A6=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E4=BA=86=E6=9F=90=E4=B8=AA=E5=80=BC=E7=9A=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=96=B9=E6=B3=95=E6=94=B9=E6=88=90=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E7=8E=B0=E6=88=90=E7=9A=84=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=80=BC=E6=96=B9=E6=B3=95=EF=BC=8C=E5=87=8F=E5=B0=91=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=86=97=E4=BD=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/data/datapane/TreeTableDataDictPane.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java index a50f89c189..175ddbfda3 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java @@ -202,8 +202,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable { } private boolean isNoSelectedColumnName(ValueEditorPane valueEditorPane) { - ColumnNameEditor columnNameEditor = (ColumnNameEditor) valueEditorPane.getCards()[0]; - return StringUtils.isEmpty(columnNameEditor.getColumnName()); + return (Integer) valueEditorPane.update() == -1; } @Override