From 0b5bc65816a9aa509ce54be81de8fbacedf1172c Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 19 Oct 2021 17:06:42 +0800 Subject: [PATCH 1/6] =?UTF-8?q?REPORT-60993=20=E5=AF=BC=E5=87=BA-=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E4=BA=8B=E4=BB=B6-=E4=BA=8B=E4=BB=B6=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E6=B2=A1=E6=9C=89=E5=88=9D=E5=A7=8B=E5=8C=96?= 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, 5 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 b559c22e6..b57531ef7 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 @@ -218,6 +218,10 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane Date: Tue, 19 Oct 2021 22:11:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?REPORT-61219=20=E3=80=90=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E3=80=91=E5=8F=B3=E9=94=AE=E6=9C=89=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E7=9A=84=E7=BB=84=E4=BB=B6=EF=BC=8C=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E4=BB=8E=E8=8E=B7=E5=8F=96=E4=B8=BB=E9=A2=98=E6=BB=91=E5=88=B0?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E8=AF=B4=E6=98=8E=EF=BC=8C=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E9=83=BD=E8=A2=AB=E9=80=89=E4=B8=AD=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 修改主题下载交互 【改动思路】 同上 --- .../share/ui/actions/LoadingMenuItem.java | 6 ++- .../SharedComponentActionMenuItemUI.java | 54 +++++++++++++------ 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/LoadingMenuItem.java b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/LoadingMenuItem.java index 6262c34a3..883a30644 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/LoadingMenuItem.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/LoadingMenuItem.java @@ -23,7 +23,7 @@ public class LoadingMenuItem extends UIMenuItem { super(action); setOpaque(true); setBackground(ColorConstants.BACKGROUND); - setUI(new SharedComponentActionMenuItemUI(false)); + setUI(new SharedComponentActionMenuItemUI()); } public void startLoading() { @@ -40,6 +40,10 @@ public class LoadingMenuItem extends UIMenuItem { repaint(); } + public boolean isLoading() { + return loading; + } + @Override protected void paintBorder(Graphics g) { super.paintBorder(g); diff --git a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/SharedComponentActionMenuItemUI.java b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/SharedComponentActionMenuItemUI.java index 8a3fe5e1c..a400ccf37 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/SharedComponentActionMenuItemUI.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/share/ui/actions/SharedComponentActionMenuItemUI.java @@ -2,6 +2,8 @@ package com.fr.design.mainframe.share.ui.actions; import com.fr.design.constants.UIConstants; import com.fr.design.gui.imenu.UIMenuItemUI; +import com.fr.design.gui.imenu.UIPopupMenu; +import com.fr.design.mainframe.share.ui.constants.ColorConstants; import com.fr.design.utils.gui.GUIPaintUtils; import com.fr.stable.Constants; @@ -10,6 +12,8 @@ import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.MenuSelectionManager; import java.awt.Color; +import java.awt.Component; +import java.awt.Container; import java.awt.Graphics; import java.awt.Graphics2D; @@ -20,16 +24,6 @@ import java.awt.Graphics2D; */ public class SharedComponentActionMenuItemUI extends UIMenuItemUI { - private final boolean autoClosePopup; - - public SharedComponentActionMenuItemUI(boolean autoClosePopup) { - this.autoClosePopup = autoClosePopup; - } - - public SharedComponentActionMenuItemUI() { - this(true); - } - @Override protected void paintBackground(Graphics g, JMenuItem menuItem, Color bgColor) { ButtonModel model = menuItem.getModel(); @@ -37,19 +31,45 @@ public class SharedComponentActionMenuItemUI extends UIMenuItemUI { int menuWidth = menuItem.getWidth(); int menuHeight = menuItem.getHeight(); - if (model.isArmed() || (menuItem instanceof JMenu && model.isSelected())) { - GUIPaintUtils.fillPaint((Graphics2D) g, 0, 0, menuWidth, menuHeight, true, Constants.NULL, UIConstants.FLESH_BLUE, 0); + g.setColor(ColorConstants.BACKGROUND); + g.fillRect(0, 0, menuWidth, menuHeight); + if (menuItem.isOpaque()) { + if (model.isArmed() || (menuItem instanceof JMenu && model.isSelected())) { + GUIPaintUtils.fillPaint((Graphics2D) g, 0, 0, menuWidth, menuHeight, true, Constants.NULL, UIConstants.FLESH_BLUE, 7); + } else { + GUIPaintUtils.fillPaint((Graphics2D) g, 0, 0, menuWidth, menuHeight, true, Constants.NULL, menuItem.getBackground(), 7); + } + g.setColor(oldColor); + } else if (model.isArmed() || (menuItem instanceof JMenu && + model.isSelected())) { + GUIPaintUtils.fillPaint((Graphics2D) g, 0, 0, menuWidth, menuHeight, true, Constants.NULL, UIConstants.FLESH_BLUE, 7); + g.setColor(oldColor); } - - g.setColor(oldColor); } @Override protected void doClick(MenuSelectionManager msm) { - if (autoClosePopup) { - super.doClick(msm); - } else { + if (hasLoadingMenuItem()) { + return; + } + + if (menuItem instanceof LoadingMenuItem) { menuItem.doClick(0); + } else { + super.doClick(msm); + } + } + + private boolean hasLoadingMenuItem() { + Container parent = menuItem.getParent(); + if (parent instanceof UIPopupMenu) { + Component[] components = parent.getComponents(); + for (Component component: components) { + if (component instanceof LoadingMenuItem && ((LoadingMenuItem) component).isLoading()) { + return true; + } + } } + return false; } } From ae5cd80e9c61c7c32b1f29a013b3d9e14c9ae5e1 Mon Sep 17 00:00:00 2001 From: pengda Date: Wed, 20 Oct 2021 10:39:22 +0800 Subject: [PATCH 3/6] =?UTF-8?q?REPORT-61105=20&=20REPORT-61096=20&=20REPOR?= =?UTF-8?q?T-61012=20=E6=8E=A7=E4=BB=B6=E8=81=94=E5=8A=A8=E5=8F=8A?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E8=80=81=E6=A8=A1=E6=9D=BF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript/ExportJavaScriptPane.java | 35 +++++++++++++------ 1 file changed, 25 insertions(+), 10 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 b559c22e6..cd094480b 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 @@ -399,6 +399,8 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane { + if (e.getStateChange() == ItemEvent.SELECTED) { + final int row = table.getSelectedRow(); + if (row == -1) { + return; + } + SingleJavaScript js = getList().get(row); + Object ob = fileNameComboBox.getSelectedItem(); + if (ob != null) { + String value = ob.toString(); + js.setDefaultFileName(StringUtils.equals(value, DEFAULT)); + if (js.isDefaultFileName()) { + js.setFileName(StringUtils.EMPTY); + } + } + table.repaint(); + } + }); this.addCellEditorListener(new CellEditorListener() { @Override @@ -458,15 +478,6 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane Date: Wed, 20 Oct 2021 10:55:14 +0800 Subject: [PATCH 4/6] =?UTF-8?q?REPORT-52578=2010.0=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E6=96=B0=E8=87=AA=E9=80=82=E5=BA=94=E6=8F=92=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=A3=E7=A0=81=E5=9C=A811.0=E4=B8=AD?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=94=B9=E6=88=90=E5=BC=82=E6=AD=A5=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/app/FormApp.java | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) 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 286890303..c048edbd0 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 @@ -58,36 +58,31 @@ class FormApp extends AbstractAppProvider { * @return */ private JTemplate compatibleForm(FILE tplFile, HashMap classType) { - if (ComparatorUtils.equals(StableFactory.getRegisteredClass(BaseJForm.XML_TAG), JForm.class)) { - classType.put(Constants.ARG_2, Parameter[].class); - JForm emptyForm = new JForm(new Form(new WBorderLayout("form")), tplFile); - OpenWorker> worker = new OpenWorker<>( - new Callable>() { - @Override - public OpenResult call() throws Exception { - Form form = getForm(tplFile); - return new OpenResult<>(form, form.getParameters()); - } - }, emptyForm); - worker.addCallBack(new Callable>() { - @Override - public JTemplate call() throws Exception { - OpenResult result = worker.getResult(); - return (JTemplate) StableFactory.getMarkedInstanceObjectFromClass(BaseJForm.XML_TAG, - new Object[]{result.getBaseBook(), tplFile, result.getRef()}, classType, BaseJForm.class); - } - }); - worker.start(tplFile.getPath()); - OpenResult result = worker.getResult(); - if (result != null) { + classType.put(Constants.ARG_2, Parameter[].class); + JForm emptyForm = new JForm(new Form(new WBorderLayout("form")), tplFile); + OpenWorker> worker = new OpenWorker<>( + new Callable>() { + @Override + public OpenResult call() throws Exception { + Form form = getForm(tplFile); + return new OpenResult<>(form, form.getParameters()); + } + }, emptyForm); + worker.addCallBack(new Callable>() { + @Override + public JTemplate call() throws Exception { + OpenResult result = worker.getResult(); return (JTemplate) StableFactory.getMarkedInstanceObjectFromClass(BaseJForm.XML_TAG, - new Object[]{result.getBaseBook(), tplFile, new Parameter[0]}, classType, BaseJForm.class); + new Object[]{result.getBaseBook(), tplFile, result.getRef()}, classType, BaseJForm.class); } - return emptyForm; - } else { + }); + worker.start(tplFile.getPath()); + OpenResult result = worker.getResult(); + if (result != null) { return (JTemplate) StableFactory.getMarkedInstanceObjectFromClass(BaseJForm.XML_TAG, - new Object[]{getForm(tplFile), tplFile}, classType, BaseJForm.class); + new Object[]{result.getBaseBook(), tplFile, new Parameter[0]}, classType, BaseJForm.class); } + return emptyForm; } @Nullable From dcec661132e66fe7f4b02201c8830573d70d020b Mon Sep 17 00:00:00 2001 From: vito Date: Wed, 20 Oct 2021 11:04:54 +0800 Subject: [PATCH 5/6] =?UTF-8?q?REPORT-60991=20=E5=AF=BC=E5=87=BA=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=AE=BE=E7=BD=AE=E9=9D=A2=E6=9D=BF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A0=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/javascript/ExportJavaScriptPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b57531ef7..c173102f9 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 @@ -637,7 +637,7 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane(Arrays.asList(providers))); } return paraButton; } From fd4b15f8f992f1ea72db2ccacdf3d290aa5d8d2f Mon Sep 17 00:00:00 2001 From: Starryi Date: Wed, 20 Oct 2021 11:52:49 +0800 Subject: [PATCH 6/6] =?UTF-8?q?REPORT-61055=20=E3=80=90=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E3=80=91=E4=B8=BB=E9=A2=98=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=87=A0=E4=B8=AA=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【问题原因】 主题编辑面板开放交互接口,便于与插件中的导出按钮交互 【改动思路】 同上 --- .../mainframe/theme/TemplateThemeProfilePane.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java index 4fc65badb..bc787bb18 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java @@ -141,6 +141,7 @@ public abstract class TemplateThemeProfilePane extends if (saveAsButton != null) { saveAsButton.setEnabled(StringUtils.isNotEmpty(name)); } + actionListener.onInitialize(theme); isPopulating = false; } @@ -218,6 +219,7 @@ public abstract class TemplateThemeProfilePane extends super.afterCommit(); saveButton.setEnabled(false); saveAsButton.setEnabled(true); + actionListener.onSaved(config.cachedFetch(getName())); DesignerToastMsgUtil.toastPrompt(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Save_Successfully")); } }); @@ -342,11 +344,21 @@ public abstract class TemplateThemeProfilePane extends } public interface TemplateThemeProfileActionListener { + void onInitialize(TemplateTheme theme); + void onThemeNameChecked(String name, boolean valid); + + void onSaved(TemplateTheme theme); } public static class TemplateThemeProfileActionAdapter implements TemplateThemeProfileActionListener { + @Override + public void onInitialize(TemplateTheme theme) {} + @Override public void onThemeNameChecked(String name, boolean valid) { } + + @Override + public void onSaved(TemplateTheme theme) {} } } \ No newline at end of file