From d6c6299733b078c6ab5959aa7f688e6f83a03509 Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Sat, 10 Oct 2020 09:53:12 +0800 Subject: [PATCH 01/14] =?UTF-8?q?REPORT-38778=201.=E6=96=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=9A=84=E5=B0=8F=E7=BA=A2=E7=82=B9=E3=80=81=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=8F=90=E7=A4=BA=EF=BC=9B=202.=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E9=A1=B9=203.=E6=96=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=A2=84=E8=A3=85=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/EastRegionContainerPane.java | 32 +++++++--- .../com/fr/design/mainframe/PromptWindow.java | 17 ++++++ .../fr/design/mainframe/PropertyItemBean.java | 54 +++++++++++------ .../com/fr/design/menu/SnapChatMenuDef.java | 50 ++++++++-------- .../fr/design/menu/SnapChatUpdateAction.java | 58 +++++++++---------- .../java/com/fr/design/menu/SnapChatUtil.java | 31 ++++++---- .../design/notification/AbstractSnapChat.java | 22 +++++++ .../com/fr/design/notification/SnapChat.java | 4 ++ 8 files changed, 177 insertions(+), 91 deletions(-) create mode 100644 designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java create mode 100644 designer-base/src/main/java/com/fr/design/notification/AbstractSnapChat.java diff --git a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java index c7c587563a..3dd7b2d99c 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java @@ -12,6 +12,8 @@ import com.fr.design.gui.ibutton.UIButtonUI; import com.fr.design.gui.icontainer.UIEastResizableContainer; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.VerticalFlowLayout; +import com.fr.design.menu.SnapChatUtil; +import com.fr.design.notification.SnapChat; import com.fr.design.ui.util.UIUtil; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUIPaintUtils; @@ -221,11 +223,13 @@ public class EastRegionContainerPane extends UIEastResizableContainer { String key = provider.key(); PropertyItemBean itemBean = provider.getItem(); PropertyItem propertyItem = new PropertyItem(itemBean.getName(), - itemBean.getTitle(), - itemBean.getBtnIconName(), - itemBean.getBtnIconBaseDir(), - itemBean.getVisibleModes(), - itemBean.getEnableModes()); + itemBean.getTitle(), + itemBean.getBtnIconName(), + itemBean.getBtnIconBaseDir(), + itemBean.getVisibleModes(), + itemBean.getEnableModes(), + itemBean.getSnapChat(), + itemBean.getPromptWindow()); UIButton button = propertyItem.getButton(); List buttonListeners = itemBean.getButtonListeners(); if (buttonListeners != null) { @@ -657,6 +661,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { class PropertyItem { + private SnapChat snapChat; private UIButton button; private String name; // 用于 card 切换 private String title; // 用于显示 @@ -667,6 +672,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { private FixedPopupPane popupPane; // 左侧固定弹出框 private PopupToolPane popupToolPane; // 弹出工具条 private PopupDialog popupDialog; // 弹出框 + private PromptWindow promptWindow; //提示窗 private boolean isPoppedOut = false; // 是否弹出 private boolean isVisible = true; // 是否可见 private boolean replace = false; // 是否被替代 @@ -687,14 +693,16 @@ public class EastRegionContainerPane extends UIEastResizableContainer { public PropertyItem(String name, String title, String btnIconName, PropertyMode[] visibleModes, PropertyMode[] enableModes) { - this(name, title, btnIconName, ICON_BASE_DIR, visibleModes, enableModes); + this(name, title, btnIconName, ICON_BASE_DIR, visibleModes, enableModes, null,null); } - public PropertyItem(String name, String title, String btnIconName, String iconBaseDir, PropertyMode[] visibleModes, PropertyMode[] enableModes) { + public PropertyItem(String name, String title, String btnIconName, String iconBaseDir, PropertyMode[] visibleModes, PropertyMode[] enableModes, SnapChat snapChat,PromptWindow promptWindow) { this.name = name; this.title = title; this.btnIconName = btnIconName; this.iconBaseDir = iconBaseDir; + this.snapChat = snapChat; + this.promptWindow = promptWindow; initButton(); initPropertyPanel(); initModes(visibleModes, enableModes); @@ -875,6 +883,9 @@ public class EastRegionContainerPane extends UIEastResizableContainer { @Override public void paintComponent(Graphics g) { super.paintComponent(g); + if (snapChat != null && !snapChat.hasRead()) { + SnapChatUtil.paintPropertyItemPoint(g, getBounds()); + } } }; button.set4LargeToolbarButton(); @@ -902,6 +913,13 @@ public class EastRegionContainerPane extends UIEastResizableContainer { popupFixedPane(); } setTabButtonSelected(); + if (snapChat != null && !snapChat.hasRead()) { + snapChat.markRead(); + + } + if (promptWindow != null) { + promptWindow.showWindow(); + } } }); button.setToolTipText(title); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java b/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java new file mode 100644 index 0000000000..4dc85d1bfc --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java @@ -0,0 +1,17 @@ +package com.fr.design.mainframe; + +/** + * @Author: Yuan.Wang + * @Date: 2020/10/9 + */ +public interface PromptWindow { + /** + * 显示弹窗 + * */ + void showWindow(); + + /** + * 影藏弹窗 + * */ + void hideWindow(); +} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/PropertyItemBean.java b/designer-base/src/main/java/com/fr/design/mainframe/PropertyItemBean.java index ee54364ba5..cdd5dbb64d 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/PropertyItemBean.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/PropertyItemBean.java @@ -1,5 +1,7 @@ package com.fr.design.mainframe; +import com.fr.design.notification.SnapChat; + import java.awt.event.ActionListener; import java.util.List; @@ -7,71 +9,89 @@ import java.util.List; * created by Harrison on 2020/03/23 **/ public class PropertyItemBean { - + private String name; private String title; private String btnIconName; private String btnIconBaseDir; + private SnapChat snapChat; + private PromptWindow promptWindow; private EastRegionContainerPane.PropertyMode[] visibleModes; private EastRegionContainerPane.PropertyMode[] enableModes; private List buttonListeners; - + public PropertyItemBean() { } - + public String getName() { return name; } - + public void setName(String name) { this.name = name; } - + public String getTitle() { return title; } - + public void setTitle(String title) { this.title = title; } - + public String getBtnIconName() { return btnIconName; } - + public void setBtnIconName(String btnIconName) { this.btnIconName = btnIconName; } - + public String getBtnIconBaseDir() { - + return btnIconBaseDir; } - + public void setBtnIconBaseDir(String btnIconBaseDir) { this.btnIconBaseDir = btnIconBaseDir; } - + + public SnapChat getSnapChat() { + return snapChat; + } + + public void setSnapChat(SnapChat snapChat) { + this.snapChat = snapChat; + } + + public PromptWindow getPromptWindow() { + return promptWindow; + } + + public void setPromptWindow(PromptWindow promptWindow) { + this.promptWindow = promptWindow; + } + public EastRegionContainerPane.PropertyMode[] getVisibleModes() { return visibleModes; } - + public void setVisibleModes(EastRegionContainerPane.PropertyMode[] visibleModes) { this.visibleModes = visibleModes; } - + public EastRegionContainerPane.PropertyMode[] getEnableModes() { return enableModes; } - + public void setEnableModes(EastRegionContainerPane.PropertyMode[] enableModes) { this.enableModes = enableModes; } - + public List getButtonListeners() { return buttonListeners; } - + public void setButtonListeners(List buttonListeners) { this.buttonListeners = buttonListeners; } diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java index 2ec3f6c7ee..762bb513c3 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java @@ -2,6 +2,7 @@ package com.fr.design.menu; import com.fr.design.gui.imenu.UIMenu; import com.fr.design.gui.imenu.UIScrollMenu; +import com.fr.design.notification.AbstractSnapChat; import com.fr.design.notification.SnapChat; import com.fr.design.notification.SnapChatConfig; import com.fr.design.notification.SnapChatKey; @@ -22,6 +23,17 @@ public class SnapChatMenuDef extends MenuDef implements SnapChat { private SnapChatKey uniqueKey; private SnapChatMenuUI menuUI = new SnapChatMenuUI(this); + private SnapChat snapChat = new AbstractSnapChat() { + @Override + public SnapChatKey key() { + return uniqueKey; + } + + @Override + public boolean defaultStatus() { + return true; + } + }; public SnapChatMenuDef(String name, SnapChatKey uniqueKey) { super(name); @@ -40,26 +52,24 @@ public class SnapChatMenuDef extends MenuDef implements SnapChat { @Override public boolean hasRead() { - - String calcKey = calcKey(); - Boolean val = SnapChatConfig.getInstance().hasRead(calcKey); - // 默认读过了。 - return val == null ? defaultStatus() : val; + return snapChat.hasRead(); } @Override public void markRead() { - - String calcKey = calcKey(); - SnapChatConfig.getInstance().markRead(calcKey); + snapChat.markRead(); } - + @Override public boolean defaultStatus() { - - return true; + return snapChat.defaultStatus(); } - + + @Override + public SnapChatKey key() { + return snapChat.key(); + } + @Override public void addShortCut(ShortCut shortCut) { @@ -74,13 +84,6 @@ public class SnapChatMenuDef extends MenuDef implements SnapChat { super.insertShortCut(index, shortCut); } - - @Override - public SnapChatKey key() { - - return this.uniqueKey; - } - @Override protected MenuListener createMenuListener() { @@ -97,17 +100,12 @@ public class SnapChatMenuDef extends MenuDef implements SnapChat { if (shortCut instanceof SnapChatUpdateAction) { SnapChatUpdateAction action = (SnapChatUpdateAction) shortCut; if (!action.hasRead()) { - String calcKey = calcKey(); + String calcKey = snapChat.calcKey(); SnapChatConfig.getInstance().resetRead(calcKey); } } } - - private String calcKey() { - - return key().calc(); - } - + @Override protected UIMenu createJMenu0() { diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java index 9ade762500..45645167d3 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java @@ -2,6 +2,7 @@ package com.fr.design.menu; import com.fr.design.actions.UpdateAction; import com.fr.design.gui.imenu.UIMenuItem; +import com.fr.design.notification.AbstractSnapChat; import com.fr.design.notification.SnapChat; import com.fr.design.notification.SnapChatConfig; import com.fr.design.notification.SnapChatKey; @@ -12,57 +13,56 @@ import java.awt.event.ActionEvent; * created by Harrison on 2020/03/22 **/ public abstract class SnapChatUpdateAction extends UpdateAction implements SnapChat { - + private SnapChatKey uniqueKey; - + + private SnapChat snapChat = new AbstractSnapChat() { + @Override + public SnapChatKey key() { + return uniqueKey; + } + + @Override + public boolean defaultStatus() { + return false; + } + }; + public SnapChatUpdateAction(SnapChatKey uniqueKey) { this.uniqueKey = uniqueKey; } - + @Override public final void actionPerformed(ActionEvent e) { - markRead(); actionPerformed0(e); } - + protected abstract void actionPerformed0(ActionEvent e); - + @Override public boolean hasRead() { - - String calcKey = calcKey(); - Boolean val = SnapChatConfig.getInstance().hasRead(calcKey); - return val == null ? defaultStatus() : val; + return snapChat.hasRead(); } - + @Override public void markRead() { - - String calcKey = calcKey(); - SnapChatConfig.getInstance().markRead(calcKey); + snapChat.markRead(); } - + @Override public boolean defaultStatus() { - - return false; + return snapChat.defaultStatus(); } - + @Override public SnapChatKey key() { - - return this.uniqueKey; - } - - private String calcKey() { - - return key().calc(); + return snapChat.key(); } - + @Override public UIMenuItem createMenuItem() { - + Object object = this.getValue(UIMenuItem.class.getName()); if (object == null && !(object instanceof UIMenuItem)) { UIMenuItem menuItem = new UIMenuItem(this); @@ -70,10 +70,10 @@ public abstract class SnapChatUpdateAction extends UpdateAction implements SnapC menuItem.setName(getName()); menuItem.setUI(new SnapChatMenuItemUI(this)); object = menuItem; - + this.putValue(UIMenuItem.class.getName(), object); } return (UIMenuItem) object; } - + } diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatUtil.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatUtil.java index 6eb648055a..46bede232f 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatUtil.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatUtil.java @@ -10,24 +10,31 @@ import java.awt.geom.Ellipse2D; * created by Harrison on 2020/03/22 **/ public class SnapChatUtil { - + private static final int WIDTH = 4; + private static final int HEIGHT = 4; + private static final int TOP_GAP = 4; + private static final int RIGHT_GAP = 6; + + /** + * 绘制菜单项的小红点 + */ public static void paintSnapChat(Graphics g, Rectangle textRect) { - - Color oldColor = g.getColor(); - - double x = textRect.getWidth(); - x += textRect.getX(); - x += 2; - + double x = textRect.getWidth() + textRect.getX() + 2; double y = textRect.getY(); - + paintRedPoint(g, new Ellipse2D.Double(x, y, WIDTH, HEIGHT)); + } + + public static void paintPropertyItemPoint(Graphics g, Rectangle bounds) { + double x = bounds.getWidth() - RIGHT_GAP; + paintRedPoint(g, new Ellipse2D.Double(x, TOP_GAP, WIDTH, HEIGHT)); + } + + private static void paintRedPoint(Graphics g, Ellipse2D.Double shape) { + Color oldColor = g.getColor(); Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.red); - Ellipse2D.Double shape = - new Ellipse2D.Double(x, y, 4, 4); g2d.fill(shape); g2d.draw(shape); - g2d.setColor(oldColor); } } diff --git a/designer-base/src/main/java/com/fr/design/notification/AbstractSnapChat.java b/designer-base/src/main/java/com/fr/design/notification/AbstractSnapChat.java new file mode 100644 index 0000000000..0b174da942 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/notification/AbstractSnapChat.java @@ -0,0 +1,22 @@ +package com.fr.design.notification; + +/** + * @Author: Yuan.Wang + * @Date: 2020/9/27 + */ +public abstract class AbstractSnapChat implements SnapChat { + @Override + public boolean hasRead() { + + String calcKey = calcKey(); + Boolean val = SnapChatConfig.getInstance().hasRead(calcKey); + return val == null ? defaultStatus() : val; + } + + @Override + public void markRead() { + + String calcKey = calcKey(); + SnapChatConfig.getInstance().markRead(calcKey); + } +} diff --git a/designer-base/src/main/java/com/fr/design/notification/SnapChat.java b/designer-base/src/main/java/com/fr/design/notification/SnapChat.java index 4f610c060b..71aabb87d7 100644 --- a/designer-base/src/main/java/com/fr/design/notification/SnapChat.java +++ b/designer-base/src/main/java/com/fr/design/notification/SnapChat.java @@ -32,4 +32,8 @@ public interface SnapChat { * @return 字符标志 */ SnapChatKey key(); + + default String calcKey() { + return key().calc(); + } } From 1cc03553fe9539a284327d26f0d582511a99d802 Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Sat, 10 Oct 2020 10:02:29 +0800 Subject: [PATCH 02/14] =?UTF-8?q?REPORT-38778=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E5=8E=BB=E6=8E=89=E6=97=A0=E7=94=A8?= =?UTF-8?q?import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/EastRegionContainerPane.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java index 3dd7b2d99c..03524452b3 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java @@ -915,10 +915,9 @@ public class EastRegionContainerPane extends UIEastResizableContainer { setTabButtonSelected(); if (snapChat != null && !snapChat.hasRead()) { snapChat.markRead(); - - } - if (promptWindow != null) { - promptWindow.showWindow(); + if (promptWindow != null) { + promptWindow.showWindow(); + } } } }); From bf07ae48dd44f2936bee1fb171f505598945e32f Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Sat, 10 Oct 2020 10:31:02 +0800 Subject: [PATCH 03/14] =?UTF-8?q?REPORT-38778=20=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/EastRegionContainerPane.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java index 03524452b3..0703216eba 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java @@ -173,7 +173,8 @@ public class EastRegionContainerPane extends UIEastResizableContainer { } updateAllPropertyPane(); } - }); } + }); + } }, filter); PluginListenerRegistration.getInstance().listen( PluginEventType.BeforeStop, @@ -328,6 +329,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { cellElement.popupDialog.showDefaultPane(); } } + // 禁用单元格元素tab private void enableCellElementPane(PropertyItem cellElement) { cellElement.setEnabled(true); @@ -385,7 +387,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { /** * 可通过此方法,判断当前的编辑模式 - * */ + */ public PropertyMode getCurrentMode() { return currentMode; } @@ -531,7 +533,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { propertyItemMap.get(KEY_WIDGET_SETTINGS).replaceHeaderPane(paraPane); } - public static void main(String[] args){ + public static void main(String[] args) { JFrame jf = new JFrame("test"); // jf = new JFrame("test"); @@ -553,7 +555,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { // leftPane.add(b2); // leftPane.setLayout(new BoxLayout(leftPane, BoxLayout.Y_AXIS)); - JPanel content = (JPanel)jf.getContentPane(); + JPanel content = (JPanel) jf.getContentPane(); // content.setLayout(null); content.add(cc, BorderLayout.CENTER); content.add(new EastRegionContainerPane(), BorderLayout.EAST); @@ -693,10 +695,10 @@ public class EastRegionContainerPane extends UIEastResizableContainer { public PropertyItem(String name, String title, String btnIconName, PropertyMode[] visibleModes, PropertyMode[] enableModes) { - this(name, title, btnIconName, ICON_BASE_DIR, visibleModes, enableModes, null,null); + this(name, title, btnIconName, ICON_BASE_DIR, visibleModes, enableModes, null, null); } - public PropertyItem(String name, String title, String btnIconName, String iconBaseDir, PropertyMode[] visibleModes, PropertyMode[] enableModes, SnapChat snapChat,PromptWindow promptWindow) { + public PropertyItem(String name, String title, String btnIconName, String iconBaseDir, PropertyMode[] visibleModes, PropertyMode[] enableModes, SnapChat snapChat, PromptWindow promptWindow) { this.name = name; this.title = title; this.btnIconName = btnIconName; @@ -843,7 +845,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { if (isRightPaneVisible()) { hideCurrentPopupPane(); replaceContentPane(contentPane); - } else if(popupPane != null && popupPane.isVisible()) { + } else if (popupPane != null && popupPane.isVisible()) { popupPane.replaceContentPane(contentArea); } } @@ -880,6 +882,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { public Dimension getPreferredSize() { return new Dimension(TAB_BUTTON_WIDTH, TAB_BUTTON_HEIGHT); } + @Override public void paintComponent(Graphics g) { super.paintComponent(g); @@ -1032,8 +1035,8 @@ public class EastRegionContainerPane extends UIEastResizableContainer { } /** - * @Description:刷新currentPopupPane面板位置,当设计器缩放时会调用这个函数 * @param + * @Description:刷新currentPopupPane面板位置,当设计器缩放时会调用这个函数 * @return: * @Author: Henry.Wang * @date: 2020/7/30 11:39 @@ -1048,8 +1051,8 @@ public class EastRegionContainerPane extends UIEastResizableContainer { } /** - * @Description:清空currentPopupPane数据,当切换模板时会调用这个函数 * @param + * @Description:清空currentPopupPane数据,当切换模板时会调用这个函数 * @return: * @Author: Henry.Wang * @date: 2020/7/30 11:42 @@ -1088,12 +1091,14 @@ public class EastRegionContainerPane extends UIEastResizableContainer { } repaint(); } + @Override public void mouseClicked(MouseEvent e) { if (e.getX() >= ARROW_RANGE_START) { onPop(); } } + @Override public void mouseReleased(MouseEvent e) { mouseDownCompCoords = null; @@ -1101,6 +1106,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { contentPane.setBackground(originColor); } } + @Override public void mousePressed(MouseEvent e) { if (e.getX() < ARROW_RANGE_START) { @@ -1122,6 +1128,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { } repaint(); } + @Override public void mouseDragged(MouseEvent e) { if (isMovable && mouseDownCompCoords != null) { @@ -1234,6 +1241,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { private Container contentPane; private JPanel defaultPane; // 无可用配置项 private PropertyItem propertyItem; + public PopupDialog(PropertyItem propertyItem) { super(DesignerContext.getDesignerFrame()); container = getContentPane(); @@ -1336,6 +1344,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { mouseDownCompCoords = e.getLocationOnScreen(); } } + @Override public void mouseReleased(MouseEvent e) { mouseDownCompCoords = null; From 80b9c03c0f2dd76e518a84e0fd662f4b41eb5756 Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Sat, 10 Oct 2020 11:52:56 +0800 Subject: [PATCH 04/14] =?UTF-8?q?REPORT-38778=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8F=8F=E8=BF=B0=E3=80=82=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86SnapChat=E7=9A=84=E5=B7=A5=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/PromptWindow.java | 9 +++++--- .../com/fr/design/menu/SnapChatMenuDef.java | 15 +++---------- .../fr/design/menu/SnapChatUpdateAction.java | 13 ++---------- .../design/notification/SnapChatFactory.java | 21 +++++++++++++++++++ 4 files changed, 32 insertions(+), 26 deletions(-) create mode 100644 designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java diff --git a/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java b/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java index 4dc85d1bfc..dc7fc1f63a 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/PromptWindow.java @@ -1,17 +1,20 @@ package com.fr.design.mainframe; +import javax.swing.JWindow; + /** * @Author: Yuan.Wang * @Date: 2020/10/9 + * 只关心Window的显示和隐藏操作时可以实现该接口 */ public interface PromptWindow { /** * 显示弹窗 - * */ + */ void showWindow(); /** - * 影藏弹窗 - * */ + * 隐藏弹窗 + */ void hideWindow(); } diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java index 762bb513c3..88757b6891 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java @@ -5,6 +5,7 @@ import com.fr.design.gui.imenu.UIScrollMenu; import com.fr.design.notification.AbstractSnapChat; import com.fr.design.notification.SnapChat; import com.fr.design.notification.SnapChatConfig; +import com.fr.design.notification.SnapChatFactory; import com.fr.design.notification.SnapChatKey; import javax.swing.JMenu; @@ -20,21 +21,11 @@ import java.awt.image.BufferedImage; * created by Harrison on 2020/03/16 **/ public class SnapChatMenuDef extends MenuDef implements SnapChat { - + private SnapChatKey uniqueKey; private SnapChatMenuUI menuUI = new SnapChatMenuUI(this); - private SnapChat snapChat = new AbstractSnapChat() { - @Override - public SnapChatKey key() { - return uniqueKey; - } + private SnapChat snapChat = SnapChatFactory.createSnapChat(true, uniqueKey); - @Override - public boolean defaultStatus() { - return true; - } - }; - public SnapChatMenuDef(String name, SnapChatKey uniqueKey) { super(name); this.uniqueKey = uniqueKey; diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java index 45645167d3..71fbc95a7d 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java @@ -5,6 +5,7 @@ import com.fr.design.gui.imenu.UIMenuItem; import com.fr.design.notification.AbstractSnapChat; import com.fr.design.notification.SnapChat; import com.fr.design.notification.SnapChatConfig; +import com.fr.design.notification.SnapChatFactory; import com.fr.design.notification.SnapChatKey; import java.awt.event.ActionEvent; @@ -16,17 +17,7 @@ public abstract class SnapChatUpdateAction extends UpdateAction implements SnapC private SnapChatKey uniqueKey; - private SnapChat snapChat = new AbstractSnapChat() { - @Override - public SnapChatKey key() { - return uniqueKey; - } - - @Override - public boolean defaultStatus() { - return false; - } - }; + private SnapChat snapChat = SnapChatFactory.createSnapChat(false, uniqueKey); public SnapChatUpdateAction(SnapChatKey uniqueKey) { this.uniqueKey = uniqueKey; diff --git a/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java b/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java new file mode 100644 index 0000000000..c685e0f342 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java @@ -0,0 +1,21 @@ +package com.fr.design.notification; + +/** + * @Author: Yuan.Wang + * @Date: 2020/10/10 + */ +public class SnapChatFactory { + public static SnapChat createSnapChat(boolean defaultStatus, SnapChatKey snapChatKey) { + return new AbstractSnapChat() { + @Override + public boolean defaultStatus() { + return defaultStatus; + } + + @Override + public SnapChatKey key() { + return snapChatKey; + } + }; + } +} From a2465e553a198da5b3947fe2d2b7db5b6e68f2bf Mon Sep 17 00:00:00 2001 From: bryant Date: Sat, 10 Oct 2020 15:01:46 +0800 Subject: [PATCH 05/14] =?UTF-8?q?REPORT-37609=20-=20=E6=97=A5=E6=96=87?= =?UTF-8?q?=E7=89=88=E5=B1=8F=E8=94=BD=E6=9B=B4=E6=96=B0=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/locale/impl/SupportLocaleImpl.java | 17 ++++++++-- .../mainframe/toolbar/ToolBarMenuDock.java | 34 ++++--------------- .../java/com/fr/design/upm/UpmFinder.java | 12 ++++--- 3 files changed, 29 insertions(+), 34 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java b/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java index 904a6c18b1..39bad349ae 100644 --- a/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java +++ b/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java @@ -156,7 +156,20 @@ public enum SupportLocaleImpl implements SupportLocale { set.add(Locale.TAIWAN); return set; } - } - + }, + /** + * 更新升级-社区菜单下 + */ + UPDATE_COMMUNITY { + @Override + public Set support() { + Set set = new HashSet<>(); + set.add(Locale.US); + set.add(Locale.KOREA); + set.add(Locale.CHINA); + set.add(Locale.TAIWAN); + return set; + } + } } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index c81c6749f8..8973cecede 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -530,35 +530,18 @@ public abstract class ToolBarMenuDock { * @return 帮组菜单的子菜单 */ public ShortCut[] createHelpShortCuts() { - final java.util.List shortCuts = new ArrayList(); + final java.util.List shortCuts = new ArrayList<>(); - Locale locale = GeneralContext.getLocale(); + LocaleCenter.buildAction(() -> shortCuts.add(new VideoAction()), SupportLocaleImpl.VIDEO); - LocaleCenter.buildAction(new LocaleAction() { - @Override - public void execute() { - shortCuts.add(new VideoAction()); - } - }, SupportLocaleImpl.VIDEO); - - LocaleCenter.buildAction(new LocaleAction() { - @Override - public void execute() { - shortCuts.add(new TutorialAction()); - } - }, SupportLocaleImpl.TUTORIAL_HELP); + LocaleCenter.buildAction(() -> shortCuts.add(new TutorialAction()), SupportLocaleImpl.TUTORIAL_HELP); - LocaleCenter.buildAction(new LocaleAction() { - @Override - public void execute() { - shortCuts.add(new TechSupportAction()); - } - }, SupportLocaleImpl.TECH_SUPPORT_HELP); + LocaleCenter.buildAction(() -> shortCuts.add(new TechSupportAction()), SupportLocaleImpl.TECH_SUPPORT_HELP); //远程不使用更新升级,产品演示 if (WorkContext.getCurrent().isLocal()) { shortCuts.add(new WebDemoAction()); - shortCuts.add(new SoftwareUpdateAction()); + LocaleCenter.buildAction(() -> shortCuts.add(new SoftwareUpdateAction()), SupportLocaleImpl.UPDATE_COMMUNITY); } if (AlphaFineConfigManager.isALPHALicAvailable()) { shortCuts.add(new AlphaFineAction()); @@ -566,12 +549,7 @@ public abstract class ToolBarMenuDock { shortCuts.add(SeparatorDef.DEFAULT); if (DesignerEnvManager.getEnvManager().isOpenDebug()) { - OSSupportCenter.buildAction(new OSBasedAction() { - @Override - public void execute(Object... objects) { - shortCuts.add(new FineUIAction()); - } - }, SupportOSImpl.FINEUI); + OSSupportCenter.buildAction(objects -> shortCuts.add(new FineUIAction()), SupportOSImpl.FINEUI); } shortCuts.add(new AboutAction()); diff --git a/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java b/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java index 4febad3a99..75d7f1b1ed 100644 --- a/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java +++ b/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java @@ -10,6 +10,7 @@ import com.fr.design.update.ui.dialog.UpdateMainDialog; import com.fr.event.Event; import com.fr.event.EventDispatcher; import com.fr.event.Listener; +import com.fr.general.GeneralContext; import com.fr.log.FineLoggerFactory; import com.fr.stable.StableUtils; import com.fr.workspace.Workspace; @@ -17,6 +18,7 @@ import com.fr.workspace.WorkspaceEvent; import javax.swing.*; import java.io.File; +import java.util.Locale; /** * @author richie @@ -88,10 +90,12 @@ public class UpmFinder { dialog.setVisible(true); } } else { - JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Update_Info_Plugin_Message")); - UpdateMainDialog dialog = new UpdateMainDialog(DesignerContext.getDesignerFrame()); - dialog.setAutoUpdateAfterInit(); - dialog.showDialog(); + if (!GeneralContext.getLocale().equals(Locale.JAPAN)) { + JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Update_Info_Plugin_Message")); + UpdateMainDialog dialog = new UpdateMainDialog(DesignerContext.getDesignerFrame()); + dialog.setAutoUpdateAfterInit(); + dialog.showDialog(); + } } } From a52a32cc6744d05f7f933477792699fbe5a70526 Mon Sep 17 00:00:00 2001 From: bryant Date: Sat, 10 Oct 2020 15:04:25 +0800 Subject: [PATCH 06/14] =?UTF-8?q?REPORT-37609=20-=20=E6=97=A5=E6=96=87?= =?UTF-8?q?=E7=89=88=E5=B1=8F=E8=94=BD=E6=9B=B4=E6=96=B0=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/locale/impl/SupportLocaleImpl.java | 4 ++-- .../java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java b/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java index 39bad349ae..0373dad033 100644 --- a/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java +++ b/designer-base/src/main/java/com/fr/design/locale/impl/SupportLocaleImpl.java @@ -159,9 +159,9 @@ public enum SupportLocaleImpl implements SupportLocale { }, /** - * 更新升级-社区菜单下 + * 更新升级-帮助菜单下 */ - UPDATE_COMMUNITY { + UPDATE_HELP { @Override public Set support() { Set set = new HashSet<>(); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 8973cecede..53bf18bcee 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -541,7 +541,7 @@ public abstract class ToolBarMenuDock { //远程不使用更新升级,产品演示 if (WorkContext.getCurrent().isLocal()) { shortCuts.add(new WebDemoAction()); - LocaleCenter.buildAction(() -> shortCuts.add(new SoftwareUpdateAction()), SupportLocaleImpl.UPDATE_COMMUNITY); + LocaleCenter.buildAction(() -> shortCuts.add(new SoftwareUpdateAction()), SupportLocaleImpl.UPDATE_HELP); } if (AlphaFineConfigManager.isALPHALicAvailable()) { shortCuts.add(new AlphaFineAction()); From 5a2b5fc80958b2adf5b16e74b0a0f5e617c8447e Mon Sep 17 00:00:00 2001 From: Hans Date: Sat, 10 Oct 2020 15:06:23 +0800 Subject: [PATCH 07/14] =?UTF-8?q?MOBILE-29637=20&=20MOBILE-29634=E3=80=90?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E3=80=91tab=E6=89=8B=E5=8A=BF?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=8F=98=E6=9B=B4=EF=BC=8C=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=BB=91=E5=8A=A8=E8=AE=BE=E7=BD=AE=E4=B8=8E=E5=9C=86=E7=82=B9?= =?UTF-8?q?=E6=8C=87=E7=A4=BA=E5=99=A8=E8=AE=BE=E7=BD=AE=E7=9A=84=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=85=B3=E7=B3=BB=20&=20=E3=80=90RN=E3=80=91release?= =?UTF-8?q?=20jar=EF=BC=8C=E9=BB=98=E8=AE=A4=E6=A0=B7=E5=BC=8Ftab=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E5=AD=97=E5=8F=B7=E5=8F=98=E5=B0=8F=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobile/component/MobileTabCommonSettingPane.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java index 82a09c4e00..4670456aec 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java @@ -133,14 +133,6 @@ public class MobileTabCommonSettingPane extends BasicPane { tableConfigJPanel.add(dotIndicatorSettingPanel, BorderLayout.CENTER); this.add(tableConfigJPanel, BorderLayout.CENTER); - tabSlideCheck.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - showTabDotIndicatorCheck.setVisible(tabSlideCheck.isSelected()); - dotIndicatorSettingPanel.setVisible(tabSlideCheck.isSelected() && showTabDotIndicatorCheck.isSelected()); - } - }); - showTabDotIndicatorCheck.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { From 66f78364b137cc7bc2dc865b774aabcade339453 Mon Sep 17 00:00:00 2001 From: bryant Date: Sat, 10 Oct 2020 16:48:17 +0800 Subject: [PATCH 08/14] =?UTF-8?q?REPORT-37609=20-=20=E6=97=A5=E6=96=87?= =?UTF-8?q?=E7=89=88=E5=B1=8F=E8=94=BD=E6=9B=B4=E6=96=B0=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/upm/UpmFinder.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java b/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java index 75d7f1b1ed..c72fa5bcd4 100644 --- a/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java +++ b/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java @@ -89,13 +89,11 @@ public class UpmFinder { } dialog.setVisible(true); } - } else { - if (!GeneralContext.getLocale().equals(Locale.JAPAN)) { - JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Update_Info_Plugin_Message")); - UpdateMainDialog dialog = new UpdateMainDialog(DesignerContext.getDesignerFrame()); - dialog.setAutoUpdateAfterInit(); - dialog.showDialog(); - } + } else if (!GeneralContext.getLocale().equals(Locale.JAPAN)) { + JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Update_Info_Plugin_Message")); + UpdateMainDialog dialog = new UpdateMainDialog(DesignerContext.getDesignerFrame()); + dialog.setAutoUpdateAfterInit(); + dialog.showDialog(); } } From 2b99da454d43a394cceaf508a887de28eb4af66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B2=B3?= <445798420@qq.com> Date: Mon, 12 Oct 2020 10:28:37 +0800 Subject: [PATCH 09/14] =?UTF-8?q?CHART-15747=20=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E4=BA=A4=E4=BA=92=E5=B1=9E=E6=80=A7=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=9D=A1=E4=BB=B6=E5=B1=9E=E6=80=A7=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E7=B3=BB=E5=88=97=E5=90=8D=E5=8B=BE=E9=80=89=E8=A2=AB?= =?UTF-8?q?=E5=8E=BB=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/VanChartTooltipContentPane.java | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java index 4c81493e4c..5d0a613ac3 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java @@ -731,8 +731,6 @@ public class VanChartTooltipContentPane extends BasicBeanPane Date: Mon, 12 Oct 2020 10:54:15 +0800 Subject: [PATCH 10/14] =?UTF-8?q?REPORT-38778=20=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E5=92=8C=E6=A8=A1=E6=9D=BF=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E7=9A=84=E5=B0=8F=E7=BA=A2=E7=82=B9=EF=BC=8C=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=B7=A5=E5=8E=82=E7=B1=BB=E5=BC=95=E8=B5=B7?= =?UTF-8?q?=E7=9A=84bug=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=A2=84=E8=A3=85?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/toolbar/ToolBarMenuDock.java | 9 ++------- .../main/java/com/fr/design/menu/SnapChatMenuDef.java | 6 ++++-- .../java/com/fr/design/menu/SnapChatUpdateAction.java | 6 ++---- .../com/fr/design/notification/SnapChatFactory.java | 11 +++++++++++ .../java/com/fr/design/notification/SnapChatKey.java | 11 ++++++++++- 5 files changed, 29 insertions(+), 14 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index c81c6749f8..757d7be045 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -54,9 +54,7 @@ import com.fr.design.mainframe.ToolBarNewTemplatePane; import com.fr.design.menu.MenuDef; import com.fr.design.menu.SeparatorDef; import com.fr.design.menu.ShortCut; -import com.fr.design.menu.SnapChatMenuDef; import com.fr.design.menu.ToolBarDef; -import com.fr.design.notification.SnapChatAllTypes; import com.fr.design.os.impl.SupportOSImpl; import com.fr.design.remote.action.RemoteDesignAuthManagerAction; import com.fr.design.update.actions.SoftwareUpdateAction; @@ -655,11 +653,8 @@ public abstract class ToolBarMenuDock { } public MenuDef createCommunityMenuDef() { - - MenuDef menuDef = new SnapChatMenuDef( - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Community"), - 'C', - SnapChatAllTypes.Menu.BBS); + + MenuDef menuDef = new MenuDef(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Community"), 'C'); ShortCut[] otherCommunityShortCuts = createCommunityShortCuts(); for (ShortCut shortCut : otherCommunityShortCuts) { menuDef.addShortCut(shortCut); diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java index 88757b6891..80ba40afeb 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatMenuDef.java @@ -2,7 +2,6 @@ package com.fr.design.menu; import com.fr.design.gui.imenu.UIMenu; import com.fr.design.gui.imenu.UIScrollMenu; -import com.fr.design.notification.AbstractSnapChat; import com.fr.design.notification.SnapChat; import com.fr.design.notification.SnapChatConfig; import com.fr.design.notification.SnapChatFactory; @@ -24,21 +23,24 @@ public class SnapChatMenuDef extends MenuDef implements SnapChat { private SnapChatKey uniqueKey; private SnapChatMenuUI menuUI = new SnapChatMenuUI(this); - private SnapChat snapChat = SnapChatFactory.createSnapChat(true, uniqueKey); + private SnapChat snapChat ; public SnapChatMenuDef(String name, SnapChatKey uniqueKey) { super(name); this.uniqueKey = uniqueKey; + snapChat = SnapChatFactory.createSnapChat(true, uniqueKey); } public SnapChatMenuDef(Boolean rePaint, SnapChatKey uniqueKey) { super(rePaint); this.uniqueKey = uniqueKey; + snapChat = SnapChatFactory.createSnapChat(true, uniqueKey); } public SnapChatMenuDef(String name, char mnemonic, SnapChatKey uniqueKey) { super(name, mnemonic); this.uniqueKey = uniqueKey; + snapChat = SnapChatFactory.createSnapChat(true, uniqueKey); } @Override diff --git a/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java b/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java index 71fbc95a7d..8cc0734371 100644 --- a/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java +++ b/designer-base/src/main/java/com/fr/design/menu/SnapChatUpdateAction.java @@ -2,9 +2,7 @@ package com.fr.design.menu; import com.fr.design.actions.UpdateAction; import com.fr.design.gui.imenu.UIMenuItem; -import com.fr.design.notification.AbstractSnapChat; import com.fr.design.notification.SnapChat; -import com.fr.design.notification.SnapChatConfig; import com.fr.design.notification.SnapChatFactory; import com.fr.design.notification.SnapChatKey; @@ -16,11 +14,11 @@ import java.awt.event.ActionEvent; public abstract class SnapChatUpdateAction extends UpdateAction implements SnapChat { private SnapChatKey uniqueKey; - - private SnapChat snapChat = SnapChatFactory.createSnapChat(false, uniqueKey); + private SnapChat snapChat ; public SnapChatUpdateAction(SnapChatKey uniqueKey) { this.uniqueKey = uniqueKey; + snapChat = SnapChatFactory.createSnapChat(false, uniqueKey); } @Override diff --git a/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java b/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java index c685e0f342..a3fd463a36 100644 --- a/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java +++ b/designer-base/src/main/java/com/fr/design/notification/SnapChatFactory.java @@ -1,11 +1,17 @@ package com.fr.design.notification; +import com.fr.plugin.context.PluginContext; + /** * @Author: Yuan.Wang * @Date: 2020/10/10 */ public class SnapChatFactory { public static SnapChat createSnapChat(boolean defaultStatus, SnapChatKey snapChatKey) { + return createSnapChat(defaultStatus, snapChatKey, null); + } + + public static SnapChat createSnapChat(boolean defaultStatus, SnapChatKey snapChatKey, PluginContext context) { return new AbstractSnapChat() { @Override public boolean defaultStatus() { @@ -16,6 +22,11 @@ public class SnapChatFactory { public SnapChatKey key() { return snapChatKey; } + + @Override + public String calcKey() { + return context == null ? key().calc() : key().calc(context); + } }; } } diff --git a/designer-base/src/main/java/com/fr/design/notification/SnapChatKey.java b/designer-base/src/main/java/com/fr/design/notification/SnapChatKey.java index fa316db350..ecb89e5097 100644 --- a/designer-base/src/main/java/com/fr/design/notification/SnapChatKey.java +++ b/designer-base/src/main/java/com/fr/design/notification/SnapChatKey.java @@ -1,9 +1,18 @@ package com.fr.design.notification; +import com.fr.plugin.context.PluginContext; + /** * created by Harrison on 2020/03/16 **/ public interface SnapChatKey { - + String calc(); + + /** + * 插件刚被安装时不能通过PluginContexts.getContext()方法获取插件上下文,因此加一个接口 + */ + default String calc(PluginContext context) { + throw new UnsupportedOperationException(); + } } From 80ab13972c31dbc2fa6fe1317313299db94299f6 Mon Sep 17 00:00:00 2001 From: Yvan Date: Mon, 12 Oct 2020 15:15:49 +0800 Subject: [PATCH 11/14] =?UTF-8?q?REPORT-40822=20=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E6=95=B0=E6=8D=AE=E9=9B=86=E3=80=8B=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E7=95=8C=E9=9D=A2=E7=82=B9=E5=87=BB=E9=A2=84=E8=A7=88?= =?UTF-8?q?=EF=BC=8C=E9=A2=84=E8=A7=88=E6=A1=86=E5=87=BA=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=95=8C=E9=9D=A2=E8=83=8C=E9=9D=A2=20?= =?UTF-8?q?=E3=80=90=E9=97=AE=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E4=B8=AD=EF=BC=8C=E5=9C=A8=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E7=9A=84=E5=BC=B9=E7=AA=97=E5=9C=BA=E6=99=AF=E9=87=8C=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=98=AF=E4=BD=BF=E7=94=A8DesignerContext.ge?= =?UTF-8?q?tDesignerFrame()=E8=8E=B7=E5=8F=96=E7=88=B6=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E7=9A=84=E8=AF=9D=E6=9C=89=E7=82=B9=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E9=80=A0=E6=88=90=E7=AC=AC=E4=BA=8C=E7=BA=A7=E7=9A=84?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E4=BD=8D=E4=BA=8E=E7=AC=AC=E4=B8=80=E7=BA=A7?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E8=83=8C=E5=90=8E=E3=80=82=E5=8F=A6=E5=A4=96?= =?UTF-8?q?=E8=BF=99=E9=87=8C=E7=9A=84=E9=A2=84=E8=A7=88=E4=BC=9A=E6=9C=89?= =?UTF-8?q?=E9=97=AA=E5=B1=8F=E7=8E=B0=E8=B1=A1=EF=BC=8C=E5=8E=9F=E5=9B=A0?= =?UTF-8?q?=E6=98=AF=E5=9C=A8StoreProcedureDataWrapper=E4=B8=AD=E4=BC=9A?= =?UTF-8?q?=E5=9C=A8=E4=B8=80=E4=B8=AASwingWorker=E4=B8=AD=E5=B0=86dialog(?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=9A=84=E6=97=B6=E5=80=99=E5=8F=91=E7=8E=B0?= =?UTF-8?q?=E8=BF=99=E4=B8=AAdialog=E4=B8=80=E7=9B=B4=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=95=B0=E6=8D=AE)=E7=BD=AE=E4=B8=BA?= =?UTF-8?q?=E5=8F=AF=E8=A7=81=EF=BC=8C=E4=BD=86=E6=98=AF=E5=9C=A8=E5=8F=A6?= =?UTF-8?q?=E4=B8=80=E4=B8=AASwingWorker=E4=B8=AD=E5=8F=88=E4=BC=9A?= =?UTF-8?q?=E5=B0=86=E5=85=B6=E7=BD=AE=E4=B8=BA=E4=B8=8D=E5=8F=AF=E8=A7=81?= =?UTF-8?q?=EF=BC=8C=E7=84=B6=E5=90=8E=E5=9C=A8=E5=90=8E=E7=BB=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=B8=AD=E9=87=8D=E6=96=B0=E6=9E=84=E5=BB=BA=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=8C=85=E5=90=AB=E9=A2=84=E8=A7=88=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E5=BC=B9=E7=AA=97=E5=BC=B9=E5=87=BA=EF=BC=8C=E8=BF=99?= =?UTF-8?q?=E6=A0=B7=E4=BC=9A=E9=80=A0=E6=88=90=E5=BC=B9=E7=AA=97=E5=8F=88?= =?UTF-8?q?=E5=BC=80=E5=8F=88=E5=85=B3=E5=8F=88=E5=BC=80=EF=BC=8C=E9=97=AA?= =?UTF-8?q?=E5=B1=8F=20=E3=80=90=E6=94=B9=E5=8A=A8=E6=80=9D=E8=B7=AF?= =?UTF-8?q?=E3=80=91=E4=BC=A0=E5=85=A5new=20JFrame()=E4=BD=9C=E4=B8=BA?= =?UTF-8?q?=E7=88=B6=E5=BC=B9=E7=AA=97=EF=BC=8C=E5=B0=B1=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=BF=9D=E8=AF=81=E9=A2=84=E8=A7=88=E7=9A=84=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E5=9C=A8=E6=9C=80=E4=B8=8A=E5=B1=82=E4=BA=86=EF=BC=9B=E5=85=B3?= =?UTF-8?q?=E4=BA=8E=E9=97=AA=E5=B1=8F=EF=BC=8C=E8=BF=99=E8=BE=B9=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E7=AC=AC=E4=B8=80=E4=B8=AA=E7=A9=BA=E7=99=BD=E7=9A=84?= =?UTF-8?q?dialog=E7=BD=AE=E4=B8=BA=E5=8F=AF=E8=A7=81=E9=82=A3=E8=A1=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=B3=A8=E9=87=8A=E6=8E=89=EF=BC=8C=E7=84=B6?= =?UTF-8?q?=E5=90=8E=E8=87=AA=E5=B7=B1=E6=B5=8B=E8=AF=95=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=89=8D=E5=90=8E=E9=A2=84=E8=A7=88=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=E8=A1=A8=E7=8E=B0=E5=9F=BA=E6=9C=AC=E4=B8=80=E8=87=B4?= =?UTF-8?q?(=E4=BF=AE=E6=94=B9=E5=90=8E=E6=97=A0=E9=97=AA=E5=B1=8F)?= =?UTF-8?q?=EF=BC=9B=E5=8F=A6=E5=A4=96=E8=BF=98=E4=BF=AE=E6=94=B9=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E5=AF=BC=E5=8C=85=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datapane/preview/PreviewTablePane.java | 4 +- .../wrapper/StoreProcedureDataWrapper.java | 37 ++++++++++--------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java index 8d8e3a48c6..8749153fdf 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java @@ -442,7 +442,7 @@ public class PreviewTablePane extends BasicPane { FineLoggerFactory.getLogger().error(e.getMessage(), e); } previewTablePane.fireLoadedListener(); - previewTablePane.showWindow(DesignerContext.getDesignerFrame()).setVisible(true); + previewTablePane.showWindow(new JFrame()).setVisible(true); } /** @@ -475,7 +475,7 @@ public class PreviewTablePane extends BasicPane { }; prieviewPane.setLayout(FRGUIPaneFactory.createBorderLayout()); prieviewPane.add(tabPreviewpane, BorderLayout.CENTER); - prieviewPane.showWindow(DesignerContext.getDesignerFrame()).setVisible(true); + prieviewPane.showWindow(new JFrame()).setVisible(true); } private void populateStoreDataSQL() throws Exception { diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java index cefc0e1128..495a814be6 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java @@ -12,12 +12,12 @@ import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.iprogressbar.AutoProgressBar; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; +import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.DesignerContext; import com.fr.general.ComparatorUtils; import com.fr.log.FineLoggerFactory; import javax.swing.Icon; -import javax.swing.JOptionPane; import javax.swing.SwingWorker; import java.util.ArrayList; import java.util.Arrays; @@ -81,7 +81,7 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { getWorker().cancel(true); } }); - loadingBar = new AutoProgressBar(dialog, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { + loadingBar = new AutoProgressBar(dialog, Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { public void doMonitorCanceled() { getDialog().setVisible(false); getWorker().cancel(true); @@ -93,17 +93,17 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { * 数据集执行结果返回的所有字段 * * @return 数据集执行结果返回的所有字段 - * + * * * @date 2014-12-3-下午7:43:17 - * + * */ public List calculateColumnNameList() { if (columnNameList != null) { return columnNameList; } if (!createStore(false)) { - FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Engine_No_TableData")); + FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Basic_Engine_No_TableData")); return new ArrayList(); } columnNameList = Arrays.asList(procedureDataModel.getColumnName()); @@ -114,10 +114,10 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { * 生成子节点 * * @return 节点数组 - * + * * * @date 2014-12-3-下午7:06:47 - * + * */ public ExpandMutableTreeNode[] load() { List namelist; @@ -160,12 +160,12 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { /** * 预览数据 - * + * * @param previewModel 预览模式, 全部还是一个 - * + * * * @date 2014-12-3-下午7:05:50 - * + * */ public void previewData(final int previewModel) { this.previewModel = previewModel; @@ -174,11 +174,12 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { protected Object doInBackground() throws Exception { loadingBar.close(); PreviewTablePane.resetPreviewTable(); - dialog.setVisible(true); + // REPORT-40822 这里的dialog是个空界面,这里设置成可见之后,后面又会设置成不可见,造成闪屏 + //dialog.setVisible(true); return null; } }.execute(); - connectionBar = new AutoProgressBar(dialog, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { + connectionBar = new AutoProgressBar(dialog, Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { public void doMonitorCanceled() { connectionBar.close(); worker.cancel(true); @@ -196,7 +197,7 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { connectionBar.close(); // bug 61345 预览失败时,关闭窗口 dialog.setVisible(false); - throw new Exception(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Database_Connection_Failed")); + throw new Exception(Toolkit.i18nText("Fine-Design_Basic_Database_Connection_Failed")); } connectionBar.close(); storeProcedure.resetDataModelList(); @@ -240,10 +241,10 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { /** * 预览返回的一个数据集 - * + * * * @date 2014-12-3-下午7:42:53 - * + * */ public void previewData() { previewData(-1, -1); @@ -253,13 +254,13 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { /** * 预览返回的一个数据集,带有显示值和实际值的标记结果 - * + * * @param keyIndex 实际值 * @param valueIndex 显示值 - * + * * * @date 2014-12-3-下午7:42:27 - * + * */ public void previewData(final int keyIndex, final int valueIndex) { PreviewTablePane.previewStoreData(procedureDataModel, keyIndex, valueIndex); From 60a4995b0fe2191c8156334e616358582a8a8cc0 Mon Sep 17 00:00:00 2001 From: Yvan Date: Mon, 12 Oct 2020 16:36:31 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A=E5=B0=86?= =?UTF-8?q?=E4=B8=A4=E4=B8=AASwingWorker=E5=90=88=E5=B9=B6=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E6=B3=A8=E9=87=8A=E6=8E=89=E7=9A=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=92=8C=E5=A4=9A=E4=BD=99=E7=9A=84=E9=80=BB=E8=BE=91=E5=88=A0?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wrapper/StoreProcedureDataWrapper.java | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java index 495a814be6..ff2265c8e9 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java @@ -169,16 +169,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { */ public void previewData(final int previewModel) { this.previewModel = previewModel; - new SwingWorker() { - - protected Object doInBackground() throws Exception { - loadingBar.close(); - PreviewTablePane.resetPreviewTable(); - // REPORT-40822 这里的dialog是个空界面,这里设置成可见之后,后面又会设置成不可见,造成闪屏 - //dialog.setVisible(true); - return null; - } - }.execute(); connectionBar = new AutoProgressBar(dialog, Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { public void doMonitorCanceled() { connectionBar.close(); @@ -191,12 +181,12 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { private void setWorker() { worker = new SwingWorker() { protected Void doInBackground() throws Exception { + loadingBar.close(); + PreviewTablePane.resetPreviewTable(); connectionBar.start(); boolean status = DataOperator.getInstance().testConnection(((StoreProcedure) getTableData()).getDatabaseConnection()); if (!status) { connectionBar.close(); - // bug 61345 预览失败时,关闭窗口 - dialog.setVisible(false); throw new Exception(Toolkit.i18nText("Fine-Design_Basic_Database_Connection_Failed")); } connectionBar.close(); @@ -209,7 +199,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { try { get(); loadingBar.close(); - dialog.setVisible(false); switch (previewModel) { case StoreProcedureDataWrapper.PREVIEW_ALL: PreviewTablePane.previewStoreDataWithAllDs(dataModels); From 4d658f7e60769f54d1351946f7ebfb47b3ce0c04 Mon Sep 17 00:00:00 2001 From: Yvan Date: Mon, 12 Oct 2020 17:26:35 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A=E5=B0=86Store?= =?UTF-8?q?ProcedureDataWrapper=E4=B8=AD=E6=97=A0=E7=94=A8=E7=9A=84dialog?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=EF=BC=8C=E5=B0=86=E5=8E=9F=E6=9C=AC=E4=BB=A5dialog=E4=B8=BA?= =?UTF-8?q?=E7=88=B6=E7=AA=97=E5=8F=A3=E7=9A=84=E4=B8=A4=E4=B8=AAAutoProgr?= =?UTF-8?q?essBar=E7=9A=84=E7=88=B6=E7=AA=97=E5=8F=A3=E4=B9=9F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=BAnew=20JFrame()=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E4=BA=8C=E7=BA=A7=E5=BC=B9=E7=AA=97=E8=A2=AB?= =?UTF-8?q?=E9=81=AE=E7=9B=96=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wrapper/StoreProcedureDataWrapper.java | 23 +++---------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java index ff2265c8e9..17fbf57888 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/StoreProcedureDataWrapper.java @@ -7,8 +7,6 @@ import com.fr.data.impl.storeproc.StoreProcedure; import com.fr.data.operator.DataOperator; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.datapane.preview.PreviewTablePane; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.iprogressbar.AutoProgressBar; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; @@ -18,6 +16,7 @@ import com.fr.general.ComparatorUtils; import com.fr.log.FineLoggerFactory; import javax.swing.Icon; +import javax.swing.JFrame; import javax.swing.SwingWorker; import java.util.ArrayList; import java.util.Arrays; @@ -50,7 +49,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { private AutoProgressBar connectionBar; private ProcedureDataModel[] dataModels; private SwingWorker worker; - private BasicDialog dialog; private int previewModel; public StoreProcedureDataWrapper(StoreProcedure storeProcedure, String storeprocedureName, String dsName) { @@ -71,19 +69,8 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { if (needLoad) { setWorker(); } - dialog = PreviewTablePane.getInstance().getDialog(); - dialog.addDialogActionListener(new DialogActionAdapter() { - public void doOk() { - getWorker().cancel(true); - } - - public void doCancel() { - getWorker().cancel(true); - } - }); - loadingBar = new AutoProgressBar(dialog, Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { + loadingBar = new AutoProgressBar(new JFrame(), Toolkit.i18nText("Fine-Design_Basic_Loading_Data"), "", 0, 100) { public void doMonitorCanceled() { - getDialog().setVisible(false); getWorker().cancel(true); } }; @@ -169,7 +156,7 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { */ public void previewData(final int previewModel) { this.previewModel = previewModel; - connectionBar = new AutoProgressBar(dialog, Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { + connectionBar = new AutoProgressBar(new JFrame(), Toolkit.i18nText("Fine-Design_Basic_Utils_Now_Create_Connection"), "", 0, 100) { public void doMonitorCanceled() { connectionBar.close(); worker.cancel(true); @@ -218,10 +205,6 @@ public final class StoreProcedureDataWrapper implements TableDataWrapper { }; } - private BasicDialog getDialog() { - return this.dialog; - } - private SwingWorker getWorker() { return this.worker; } From 88cc1266fabbe4d0114de23f19fb5e39d3fb039d Mon Sep 17 00:00:00 2001 From: bryant Date: Mon, 12 Oct 2020 18:17:25 +0800 Subject: [PATCH 14/14] =?UTF-8?q?REPORT-37609=20-=20=E6=97=A5=E6=96=87?= =?UTF-8?q?=E7=89=88=E5=B1=8F=E8=94=BD=E6=9B=B4=E6=96=B0=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/upm/UpmFinder.java | 65 +++++++++++-------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java b/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java index c72fa5bcd4..2aaa9556bc 100644 --- a/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java +++ b/designer-base/src/main/java/com/fr/design/upm/UpmFinder.java @@ -29,6 +29,7 @@ public class UpmFinder { private static final String UPM_DIR = "/upm"; private static final String MAIN_RESOURCE_PATH = UPM_DIR + "/plugin_design.html"; + private static final String JXBROWSER = "com.teamdev.jxbrowser.chromium.Browser"; public static String installHome = FRContext.getCommonOperator().getWebRootPath(); @@ -58,39 +59,49 @@ public class UpmFinder { } public static void showUPMDialog() { - boolean flag = true; + boolean hasJxBrowser = true; try { - Class.forName("com.teamdev.jxbrowser.chromium.Browser"); + Class.forName(JXBROWSER); } catch (ClassNotFoundException e) { - flag = false; + hasJxBrowser = false; } - if (flag) { - if (!checkUPMResourcesExist()){ - // upm下载 - int val = FineJOptionPane.showConfirmDialog(null, Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Need_Install"), - Toolkit.i18nText("Fine-Design_Basic_Confirm"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); - if (val == JOptionPane.OK_OPTION){ - try { - UpmResourceLoader.INSTANCE.download(); - UpmResourceLoader.INSTANCE.install(); - FineJOptionPane.showMessageDialog(null, Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Installed"), - Toolkit.i18nText("Fine-Design_Basic_Message"), JOptionPane.INFORMATION_MESSAGE); - } catch (Exception e){ - FineLoggerFactory.getLogger().error(e.getMessage(), e); - FineJOptionPane.showMessageDialog(null, Toolkit.i18nText("Fine-Design_Updater_Download_Failed"), - Toolkit.i18nText("Fine-Design_Basic_Message"), JOptionPane.INFORMATION_MESSAGE); - } + if (hasJxBrowser) { + showUpmPane(); + } else { + showUpdatePane(); + } + } + + private static void showUpmPane() { + if (!checkUPMResourcesExist()){ + // upm下载 + int val = FineJOptionPane.showConfirmDialog(null, Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Need_Install"), + Toolkit.i18nText("Fine-Design_Basic_Confirm"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE); + if (val == JOptionPane.OK_OPTION){ + try { + UpmResourceLoader.INSTANCE.download(); + UpmResourceLoader.INSTANCE.install(); + FineJOptionPane.showMessageDialog(null, Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Installed"), + Toolkit.i18nText("Fine-Design_Basic_Message"), JOptionPane.INFORMATION_MESSAGE); + } catch (Exception e){ + FineLoggerFactory.getLogger().error(e.getMessage(), e); + FineJOptionPane.showMessageDialog(null, Toolkit.i18nText("Fine-Design_Updater_Download_Failed"), + Toolkit.i18nText("Fine-Design_Basic_Message"), JOptionPane.INFORMATION_MESSAGE); } } - else { - UpmShowPane upmPane = new UpmShowPane(); - if (dialog == null) { - dialog = new UpmShowDialog(DesignerContext.getDesignerFrame(), upmPane); - } - dialog.setVisible(true); + } + else { + UpmShowPane upmPane = new UpmShowPane(); + if (dialog == null) { + dialog = new UpmShowDialog(DesignerContext.getDesignerFrame(), upmPane); } - } else if (!GeneralContext.getLocale().equals(Locale.JAPAN)) { - JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Update_Info_Plugin_Message")); + dialog.setVisible(true); + } + } + + private static void showUpdatePane() { + JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Update_Info_Plugin_Message")); + if (!GeneralContext.getLocale().equals(Locale.JAPAN)) { UpdateMainDialog dialog = new UpdateMainDialog(DesignerContext.getDesignerFrame()); dialog.setAutoUpdateAfterInit(); dialog.showDialog();