From 90dfc04e35f3ef671dad5a56cd4ebcf86115d8cf Mon Sep 17 00:00:00 2001 From: kerry Date: Tue, 11 May 2021 15:07:52 +0800 Subject: [PATCH 1/9] =?UTF-8?q?REPORT-51188=20=E5=86=B3=E7=AD=96=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E7=9A=84tab=E5=9D=97=EF=BC=8C=E5=9C=A8=E7=BB=9D?= =?UTF-8?q?=E5=AF=B9=E5=B8=83=E5=B1=80=E4=B8=8B=E6=8B=96=E6=8B=BD=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=BC=A9=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/mainframe/FormArea.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java b/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java index f127f8ea0..56458a461 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java @@ -411,8 +411,8 @@ public class FormArea extends JComponent implements ScrollRulerComponent { if (root.acceptType(XWFitLayout.class)) { XWFitLayout layout = (XWFitLayout) root; layout.setContainerPercent(value / DEFAULT_SLIDER); - traverAndAdjust(layout, percent); layout.adjustCreatorsWhileSlide(percent); + traverAndAdjust(layout, percent); // 拖动滑块,先将内部组件百分比大小计算,再计算容器大小 From 8a63698b8d600f3e07d16c8c0fba7be757c849a3 Mon Sep 17 00:00:00 2001 From: kerry Date: Wed, 12 May 2021 16:35:45 +0800 Subject: [PATCH 2/9] =?UTF-8?q?REPORT-51830=20tab=E9=87=8C=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E5=9D=97=E8=AE=BE=E7=BD=AE=E5=9B=BE=E7=89=87=E8=83=8C?= =?UTF-8?q?=E6=99=AF=EF=BC=8C=E5=A4=8D=E5=88=B6=E7=B2=98=E8=B4=B4=E5=BE=97?= =?UTF-8?q?=E5=88=B0=E7=9A=84tab=E9=87=8C=E7=9A=84=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=9D=97=E9=A2=84=E8=A7=88=E6=97=B6=E6=B2=A1=E6=9C=89=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E4=BA=86=EF=BC=8C=E8=AE=BE=E8=AE=A1=E5=99=A8=E9=87=8C?= =?UTF-8?q?=E7=9C=8B=E6=98=AF=E6=9C=89=E5=9B=BE=E7=89=87=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E7=9A=84=E3=80=820228=E4=B9=9F=E6=9C=89=E6=AD=A4=E7=8E=B0?= =?UTF-8?q?=E8=B1=A1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java | 2 ++ 1 file changed, 2 insertions(+) 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 0c6adeb09..932338a3f 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 @@ -235,6 +235,8 @@ public class FRAbsoluteLayoutAdapter extends FRBodyLayoutAdapter { } else { container.add(creator, creator.toData().getWidgetName(),0); } + //这边将组件添加到container后,需要做下layout处理,否则其内部的一些组件的宽高可能为0,从而导致在updateChildBounds的时候出现问题 + LayoutUtils.layoutRootContainer(creator); XWAbsoluteLayout layout = (XWAbsoluteLayout) container; layout.updateBoundsWidget(creator); updateCreatorBackBound(); From b6ab051906e053898fb6ce52825c11305663a5aa Mon Sep 17 00:00:00 2001 From: kerry Date: Thu, 13 May 2021 14:00:18 +0800 Subject: [PATCH 3/9] =?UTF-8?q?REPORT-51188=20=E5=86=B3=E7=AD=96=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E7=9A=84tab=E5=9D=97=EF=BC=8C=E5=9C=A8=E7=BB=9D?= =?UTF-8?q?=E5=AF=B9=E5=B8=83=E5=B1=80=E4=B8=8B=E6=8B=96=E6=8B=BD=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=BC=A9=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/mainframe/FormArea.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java b/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java index 56458a461..d45e393f8 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormArea.java @@ -447,9 +447,9 @@ public class FormArea extends JComponent implements ScrollRulerComponent { if (root.acceptType(XWFitLayout.class)) { XWFitLayout layout = (XWFitLayout) root; layout.setContainerPercent(1.0); - traverAndAdjust(layout, 0.0); - layout.adjustCreatorsWhileSlide(0.0); + layout.adjustCreatorsWhileSlide(0.0); + traverAndAdjust(layout, 0.0); // 拖动滑块,先将内部组件百分比大小计算,再计算容器大小 Dimension d = new Dimension(layout.getWidth(), layout.getHeight()); From c99f38a8692cf88f624828a7707b989ff6892aaf Mon Sep 17 00:00:00 2001 From: kerry Date: Thu, 13 May 2021 16:43:38 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/creator/XWFitLayout.java | 2 +- .../com/fr/design/mainframe/FormArea.java | 24 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 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 6d55c658f..6d7aa5d9f 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 @@ -121,7 +121,7 @@ public class XWFitLayout extends XLayoutContainer { * 更新组件的backupBound * 拖动滑块改变容器大小,改变的是界面显示大小,更新bound,再次拖入或拉伸边框用到 */ - private void updateCreatorsBackupBound() { + public void updateCreatorsBackupBound() { for (int i=0,size=this.getComponentCount(); i Date: Fri, 14 May 2021 14:45:55 +0800 Subject: [PATCH 5/9] =?UTF-8?q?REPORT-52087=20=E5=8D=95=E5=85=83=E6=A0=BC?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=95=B0=E6=8D=AE=E5=88=97=E4=B8=AD=E9=A6=96?= =?UTF-8?q?=E6=AC=A1=E4=BF=AE=E6=94=B9=E5=AD=97=E7=AC=A6=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/gui/icombobox/LazyComboBox.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java index 300790457..e1e160079 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java @@ -55,12 +55,14 @@ public abstract class LazyComboBox extends UIComboBox implements PopupMenuListen @Override public void setSelectedItem(Object anObject) { - initialSelected = anObject; if (loaded) { super.setSelectedItem(anObject); } else { - this.setModel(new DefaultComboBoxModel<>(new Object[]{anObject})); + if (initialSelected == null) { + this.setModel(new DefaultComboBoxModel<>(new Object[]{anObject})); + } super.setSelectedItem(anObject); + initialSelected = anObject; } } From 7bceb1fb2cbcb90a05eab81a6f5df30cca732b06 Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Fri, 14 May 2021 15:06:44 +0800 Subject: [PATCH 6/9] =?UTF-8?q?REPORT-52087=20=E5=8D=95=E5=85=83=E6=A0=BC?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=95=B0=E6=8D=AE=E5=88=97=E4=B8=AD=E9=A6=96?= =?UTF-8?q?=E6=AC=A1=E4=BF=AE=E6=94=B9=E5=AD=97=E7=AC=A6=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java index e1e160079..36b8eb2c1 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java @@ -62,8 +62,8 @@ public abstract class LazyComboBox extends UIComboBox implements PopupMenuListen this.setModel(new DefaultComboBoxModel<>(new Object[]{anObject})); } super.setSelectedItem(anObject); - initialSelected = anObject; } + initialSelected = anObject; } @Override From 97d69685db84a000aeb8555a492ea3e1a5d36d0b Mon Sep 17 00:00:00 2001 From: hades Date: Fri, 14 May 2021 16:55:47 +0800 Subject: [PATCH 7/9] =?UTF-8?q?REPORT-49014=20=E8=BF=9E=E6=8E=A5=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E8=BF=9C=E7=A8=8B=E7=8E=AF=E5=A2=83=EF=BC=8C?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=8F=8C=E5=87=BB=E6=89=93=E5=BC=80=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=A8=A1=E6=9D=BF=20=E4=B8=80=E4=BA=BA?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E6=89=93=E5=BC=80=20=E4=B8=80=E4=BA=BA?= =?UTF-8?q?=E6=89=93=E5=BC=80=E7=A9=BA=E7=99=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/TemplateLockedHandler.java | 27 +++++++++++++++++++ .../com/fr/design/mainframe/app/CptApp.java | 2 ++ .../com/fr/design/mainframe/app/FormApp.java | 2 ++ .../com/fr/design/mainframe/app/XlsApp.java | 2 ++ .../com/fr/design/mainframe/app/XlsxApp.java | 2 ++ 5 files changed, 35 insertions(+) create mode 100644 designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java b/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java new file mode 100644 index 000000000..516cb4ceb --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java @@ -0,0 +1,27 @@ +package com.fr.design.mainframe; + +import com.fr.design.dialog.FineJOptionPane; +import com.fr.design.i18n.Toolkit; +import com.fr.design.ui.util.UIUtil; + +/** + * @author hades + * @version 10.0 + * Created by hades on 2021/5/14 + */ +public class TemplateLockedHandler { + + public static void generateTipAndRefresh() { + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), + Toolkit.i18nText("Fine-Design_Basic_Template_Locked_Tip"), + Toolkit.i18nText("Fine-Design_Basic_Tool_Tips"), + FineJOptionPane.WARNING_MESSAGE); + DesignerFrameFileDealerPane.getInstance().refresh(); + } + }); + } + +} diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java b/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java index 4e9980a49..431b401fc 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/app/CptApp.java @@ -13,6 +13,7 @@ import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.DecodeDialog; +import com.fr.design.mainframe.TemplateLockedHandler; import com.fr.design.ui.util.UIUtil; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.exception.DecryptTemplateException; @@ -68,6 +69,7 @@ class CptApp extends AbstractWorkBookApp { FineLoggerFactory.getLogger().error(Toolkit.i18nText("Fine-Design_Basic_Template_Permission_Denied") + file, exp); } catch (TplLockedException exp) { FineLoggerFactory.getLogger().error(file + Toolkit.i18nText("Fine-Design_Basic_Template_Status_Locked"), exp); + TemplateLockedHandler.generateTipAndRefresh(); } catch (Exception exp) { FineLoggerFactory.getLogger().error(Toolkit.i18nText("Fine-Design_Report_NS_Exception_ReadError") + file, exp); } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/app/FormApp.java b/designer-realize/src/main/java/com/fr/design/mainframe/app/FormApp.java index 02692c991..4100a03c8 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/app/FormApp.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/app/FormApp.java @@ -10,6 +10,7 @@ import com.fr.design.mainframe.BaseJForm; import com.fr.design.mainframe.DecodeDialog; import com.fr.design.mainframe.JForm; import com.fr.design.mainframe.JTemplate; +import com.fr.design.mainframe.TemplateLockedHandler; import com.fr.design.worker.open.OpenResult; import com.fr.design.worker.open.OpenWorker; import com.fr.exception.DecryptTemplateException; @@ -106,6 +107,7 @@ class FormApp extends AbstractAppProvider { FineLoggerFactory.getLogger().error(Toolkit.i18nText("Fine-Design_Basic_Template_Permission_Denied") + file, exp); } catch (TplLockedException exp) { FineLoggerFactory.getLogger().error(file + Toolkit.i18nText("Fine-Design_Basic_Template_Status_Locked"), exp); + TemplateLockedHandler.generateTipAndRefresh(); } catch (Exception exp) { FineLoggerFactory.getLogger().error("Failed to generate frm from " + file, exp); return null; diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsApp.java b/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsApp.java index 3741f8b35..5b135ccdf 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsApp.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsApp.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe.app; import com.fr.base.extension.FileExtension; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.TemplateLockedHandler; import com.fr.exception.RemoteDesignPermissionDeniedException; import com.fr.exception.TplLockedException; import com.fr.file.FILE; @@ -30,6 +31,7 @@ class XlsApp extends AbstractWorkBookApp { FineLoggerFactory.getLogger().error(Toolkit.i18nText("Fine-Design_Basic_Template_Permission_Denied") + tplFile, exp); } catch (TplLockedException exp) { FineLoggerFactory.getLogger().error(tplFile + Toolkit.i18nText("Fine-Design_Basic_Template_Status_Locked"), exp); + TemplateLockedHandler.generateTipAndRefresh(); } catch (Exception exp) { FineLoggerFactory.getLogger().error("Failed to generate xls from " + tplFile, exp); } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsxApp.java b/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsxApp.java index 9d66cffb8..f5a5498cf 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsxApp.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/app/XlsxApp.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe.app; import com.fr.base.extension.FileExtension; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.TemplateLockedHandler; import com.fr.exception.RemoteDesignPermissionDeniedException; import com.fr.exception.TplLockedException; import com.fr.file.FILE; @@ -31,6 +32,7 @@ class XlsxApp extends AbstractWorkBookApp { FineLoggerFactory.getLogger().error(Toolkit.i18nText("Fine-Design_Basic_Template_Permission_Denied") + tplFile, exp); } catch (TplLockedException exp) { FineLoggerFactory.getLogger().error(tplFile + Toolkit.i18nText("Fine-Design_Basic_Template_Status_Locked"), exp); + TemplateLockedHandler.generateTipAndRefresh(); } catch (Exception exp) { FineLoggerFactory.getLogger().error("Failed to generate xlsx from " + tplFile, exp); } From 9cbe4baef8a20b47b5d3fc4c9422a856f18cc4f9 Mon Sep 17 00:00:00 2001 From: hades Date: Fri, 14 May 2021 18:21:33 +0800 Subject: [PATCH 8/9] =?UTF-8?q?REPORT-49014=20update=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=8B=E5=9B=BD=E9=99=85=E5=8C=96key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/TemplateLockedHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java b/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java index 516cb4ceb..7eb6eec5c 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/TemplateLockedHandler.java @@ -16,7 +16,7 @@ public class TemplateLockedHandler { @Override public void run() { FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), - Toolkit.i18nText("Fine-Design_Basic_Template_Locked_Tip"), + Toolkit.i18nText("Fine_Designer_Remote_Design_Locked_Message"), Toolkit.i18nText("Fine-Design_Basic_Tool_Tips"), FineJOptionPane.WARNING_MESSAGE); DesignerFrameFileDealerPane.getInstance().refresh(); From b9dea208341a3eadf8078a5e98c06956cd3779fe Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Tue, 18 May 2021 15:32:37 +0800 Subject: [PATCH 9/9] =?UTF-8?q?REPORT-52087=20=E5=8D=95=E5=85=83=E6=A0=BC?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=95=B0=E6=8D=AE=E5=88=97=E4=B8=AD=E9=A6=96?= =?UTF-8?q?=E6=AC=A1=E4=BF=AE=E6=94=B9=E5=AD=97=E7=AC=A6=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/gui/icombobox/LazyComboBox.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java index 36b8eb2c1..61df2c9c6 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/LazyComboBox.java @@ -55,15 +55,19 @@ public abstract class LazyComboBox extends UIComboBox implements PopupMenuListen @Override public void setSelectedItem(Object anObject) { + initialSelected = anObject; if (loaded) { super.setSelectedItem(anObject); } else { - if (initialSelected == null) { - this.setModel(new DefaultComboBoxModel<>(new Object[]{anObject})); - } + this.setModel(new DefaultComboBoxModel<>(new Object[]{anObject})); super.setSelectedItem(anObject); } + + } + + private void setSelectedItemWithDocumentChange(Object anObject) { initialSelected = anObject; + super.setSelectedItem(anObject); } @Override @@ -185,7 +189,7 @@ public abstract class LazyComboBox extends UIComboBox implements PopupMenuListen } filtering = true; String xx = textField.getText(); - LazyComboBox.this.setSelectedItem(xx); + LazyComboBox.this.setSelectedItemWithDocumentChange(xx); this.item = textField.getText(); setPopupVisible(true);