Browse Source

Merge remote-tracking branch 'origin/feature/x' into feature/x

feature/x
parent
commit
406e56b95b
  1. 26
      designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java
  2. 25
      designer-base/src/main/java/com/fr/design/actions/help/alphafine/RemindPane.java
  3. 10
      designer-base/src/main/java/com/fr/design/env/RemoteDesignerWorkspaceInfo.java
  4. 24
      designer-base/src/main/java/com/fr/design/env/processor/AbstractRemoteDesignerWorkspaceInfoProcessor.java
  5. 25
      designer-base/src/main/java/com/fr/design/env/processor/RemoteDesignerWorkspaceInfoProcessor.java
  6. 3
      designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java
  7. 5
      designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeBlock.java
  8. 11
      designer-base/src/main/java/com/fr/env/RemoteEnvPane.java
  9. BIN
      designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading.gif
  10. BIN
      designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading_en.gif
  11. BIN
      designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading_zh.gif
  12. BIN
      designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading_zh_TW.gif
  13. 57
      designer-base/src/main/resources/com/fr/design/login/guide.css
  14. 2
      designer-base/src/main/resources/com/fr/design/login/guide.html
  15. BIN
      designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide.png
  16. BIN
      designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide_en.png
  17. 0
      designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide_zh.png
  18. BIN
      designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide_zh_TW.png
  19. 57
      designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_en_US.css
  20. 57
      designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_ja_JP.css
  21. 57
      designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_ko_KR.css
  22. 57
      designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_zh_CN.css
  23. 57
      designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_zh_TW.css
  24. 10
      designer-chart/src/main/java/com/fr/design/module/ChartEmptyDataStylePane.java
  25. 17
      designer-chart/src/main/java/com/fr/van/chart/DownloadOnlineSourcesHelper.java
  26. 0
      designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata.png
  27. BIN
      designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata_en.png
  28. 0
      designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata_zh.png
  29. 0
      designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata_zh_TW.png
  30. BIN
      designer-chart/src/main/resources/com/fr/van/chart/background/background.png
  31. BIN
      designer-chart/src/main/resources/com/fr/van/chart/background/background_en.png
  32. 0
      designer-chart/src/main/resources/com/fr/van/chart/background/background_zh.png
  33. BIN
      designer-chart/src/main/resources/com/fr/van/chart/background/background_zh_TW.png
  34. 9
      designer-form/src/main/java/com/fr/design/designer/creator/XAutoChartCreator.java
  35. BIN
      designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview.png
  36. BIN
      designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview_en.png
  37. BIN
      designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview_zh.png
  38. BIN
      designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview_zh_TW.png
  39. 2
      designer-realize/src/main/java/com/fr/start/MainDesigner.java
  40. 12
      designer-realize/src/main/java/com/fr/start/SplashContext.java
  41. 12
      designer-realize/src/main/java/com/fr/start/common/SplashPane.java
  42. 20
      designer-realize/src/main/java/com/fr/start/common/SplashPane4WinAndJDK11.java
  43. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash.png
  44. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x.png
  45. 0
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_en.png
  46. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh.png
  47. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh_TW.png
  48. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh.png
  49. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh_TW.png
  50. BIN
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open.png
  51. BIN
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open_en.png
  52. 0
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open_zh.png
  53. BIN
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open_zh_TW.png
  54. BIN
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind.png
  55. BIN
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind_en.png
  56. 0
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind_zh.png
  57. BIN
      designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind_zh_TW.png

26
designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java

@ -1,6 +1,7 @@
package com.fr.design;
import com.fr.common.report.ReportState;
import com.fr.design.env.processor.RemoteDesignerWorkspaceInfoProcessor;
import com.fr.design.mainframe.manager.clip.TemplateTreeClipboard;
import com.fr.design.plugin.remind.PluginErrorDesignReminder;
import com.fr.design.data.DesignTableDataManager;
@ -101,6 +102,29 @@ public class EnvChangeEntrance {
}
}
/**
* 插件进行用户名转换
*
* @param workspaceInfo 环境信息
*/
private DesignerWorkspaceInfo customUserName(DesignerWorkspaceInfo workspaceInfo) {
//本地环境直接返回
if (workspaceInfo == null || workspaceInfo.getType() == DesignerWorkspaceType.Local) {
return workspaceInfo;
}
RemoteDesignerWorkspaceInfoProcessor processor = ExtraDesignClassManager.getInstance().getSingle(RemoteDesignerWorkspaceInfoProcessor.XML_TAG);
if (processor == null) {
return workspaceInfo;
}
try {
WorkspaceConnectionInfo workspaceConnectionInfo = processor.customUserName(workspaceInfo.getConnection());
return (RemoteDesignerWorkspaceInfo) ((RemoteDesignerWorkspaceInfo) workspaceInfo).cloneWithConnectionInfo(workspaceConnectionInfo);
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
return workspaceInfo;
}
}
/**
* 切换到新环境
*
@ -109,7 +133,7 @@ public class EnvChangeEntrance {
*/
private boolean switch2Env(final String envName, PopTipStrategy strategy) {
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
DesignerWorkspaceInfo selectedEnv = envManager.getWorkspaceInfo(envName);
DesignerWorkspaceInfo selectedEnv = customUserName(envManager.getWorkspaceInfo(envName));
DesignerWorkspaceInfoContext.setWorkspaceInfo(selectedEnv);
WorkspaceConnectionInfo connectionInfo = selectedEnv.getConnection();

25
designer-base/src/main/java/com/fr/design/actions/help/alphafine/RemindPane.java

@ -4,10 +4,21 @@ import com.fr.design.dialog.UIDialog;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ilable.UILabel;
import com.fr.general.IOUtils;
import javax.swing.*;
import java.awt.*;
import com.fr.general.locale.image.I18nImage;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.LayoutManager;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@ -23,8 +34,10 @@ public class RemindPane extends JPanel {
private Icon checkIcon = IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/check.png");
private Icon unCheckIcon = IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/uncheck.png");
private Icon closeIcon = IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/remind_close.png");
private Icon labelIcon = IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/remind.png");
private Icon openIcon = IOUtils.readIcon("com/fr/design/mainframe/alphafine/images/open.png");
private static final String REMIND_IMAGE_URL = "/com/fr/design/mainframe/alphafine/images/open/open.png";
private Icon labelIcon = new ImageIcon(I18nImage.getImage(REMIND_IMAGE_URL));
private static final String OPEN_IMAGE_URL = "/com/fr/design/mainframe/alphafine/images/open/open.png";
private final Icon openIcon = new ImageIcon(I18nImage.getImage(OPEN_IMAGE_URL));
private static final int WIDTH = 600;
private static final int HEIGHT = 400;

10
designer-base/src/main/java/com/fr/design/env/RemoteDesignerWorkspaceInfo.java vendored

@ -6,6 +6,7 @@ import com.fr.log.FineLoggerFactory;
import com.fr.security.SecurityToolbox;
import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils;
import com.fr.stable.fun.mark.Immutable;
import com.fr.stable.project.ProjectConstants;
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader;
@ -166,6 +167,15 @@ public class RemoteDesignerWorkspaceInfo implements DesignerWorkspaceInfo {
return object;
}
/**
* clone一个自定义连接信息的RemoteDesignerWorkspaceInfo
*/
public Object cloneWithConnectionInfo(WorkspaceConnectionInfo workspaceConnectionInfo) throws CloneNotSupportedException {
RemoteDesignerWorkspaceInfo object = (RemoteDesignerWorkspaceInfo) super.clone();
object.connection = workspaceConnectionInfo;
return object;
}
@Override
public boolean checkValid() throws Exception {

24
designer-base/src/main/java/com/fr/design/env/processor/AbstractRemoteDesignerWorkspaceInfoProcessor.java vendored

@ -0,0 +1,24 @@
package com.fr.design.env.processor;
import com.fr.stable.fun.mark.API;
/**
* 远程设计自定义用户名接口实现抽象类
*
* @author John.Ying
* @since 11.0
* Created on 2023/5/17
*/
@API(level = RemoteDesignerWorkspaceInfoProcessor.CURRENT_LEVEL)
public abstract class AbstractRemoteDesignerWorkspaceInfoProcessor implements RemoteDesignerWorkspaceInfoProcessor {
@Override
public int currentAPILevel() {
return CURRENT_LEVEL;
}
@Override
public int layerIndex() {
return DEFAULT_LAYER_INDEX;
}
}

25
designer-base/src/main/java/com/fr/design/env/processor/RemoteDesignerWorkspaceInfoProcessor.java vendored

@ -0,0 +1,25 @@
package com.fr.design.env.processor;
import com.fr.stable.fun.mark.Immutable;
import com.fr.workspace.connect.WorkspaceConnectionInfo;
/**
* 远程设计自定义用户名接口
* px:为了二开插件开的接口不建议实现后面可能会变动
*
* @author John.Ying
* @since 11.0
* Created on 2023/5/17
*/
public interface RemoteDesignerWorkspaceInfoProcessor extends Immutable {
String XML_TAG = "RemoteDesignerWorkspaceInfoProcessor";
int CURRENT_LEVEL = 1;
/**
* 根据链接信息自定义用户名
*/
WorkspaceConnectionInfo customUserName(WorkspaceConnectionInfo workspaceInfo);
}

3
designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java

@ -157,7 +157,8 @@ public class NorthRegionContainerPane extends JPanel {
if (!DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) {
ad.createAlphaFinePane().setVisible(false);
}
northEastPane.add(ad.createGuideEntryPane());
/// 新手引导功能,暂时屏蔽
// northEastPane.add(ad.createGuideEntryPane());
northEastPane.add(ad.createNotificationCenterPane());
OSSupportCenter.buildAction(new OSBasedAction() {

5
designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeBlock.java

@ -11,6 +11,7 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.JTemplate;
import com.fr.design.mainframe.theme.dialog.TemplateThemeProfileDialog;
import com.fr.general.IOUtils;
import com.fr.general.locale.image.I18nImage;
import com.fr.stable.Constants;
import com.fr.stable.StringUtils;
@ -26,7 +27,6 @@ import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@ -209,7 +209,8 @@ public class TemplateThemeBlock<T extends TemplateTheme> extends JPanel {
}
private static class ThumbnailPane extends JPanel {
private static final Image LOADING_IMAGE = Toolkit.getDefaultToolkit().createImage(ThumbnailPane.class.getResource("/com/fr/design/images/mainframe/loading.gif"));
private static final String LOADING_IMAGE_URL = "/com/fr/design/images/mainframe/loading/loading.gif";
private static final Image LOADING_IMAGE = I18nImage.getImage(LOADING_IMAGE_URL);
private Image thumbnail = null;
@Override

11
designer-base/src/main/java/com/fr/env/RemoteEnvPane.java vendored

@ -5,6 +5,7 @@ import com.fr.design.ExtraDesignClassManager;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.border.UITitledBorder;
import com.fr.design.env.RemoteDesignerWorkspaceInfo;
import com.fr.design.env.processor.RemoteDesignerWorkspaceInfoProcessor;
import com.fr.design.fun.DesignerEnvProcessor;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icheckbox.UICheckBox;
@ -579,8 +580,14 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
private void tryConnectRemoteEnv() {
final RemoteDesignerWorkspaceInfo remoteEnv = updateBean();
final WorkspaceConnectionInfo connection = remoteEnv.getConnection();
WorkspaceConnectionInfo originalConnection = remoteEnv.getConnection();
final WorkspaceConnectionInfo connection;
RemoteDesignerWorkspaceInfoProcessor processor = ExtraDesignClassManager.getInstance().getSingle(RemoteDesignerWorkspaceInfoProcessor.XML_TAG);
if (processor != null) {
connection = processor.customUserName(originalConnection);
} else {
connection = originalConnection;
}
final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() {
@Override

BIN
designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading_en.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading_zh.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
designer-base/src/main/resources/com/fr/design/images/mainframe/loading/loading_zh_TW.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

57
designer-base/src/main/resources/com/fr/design/login/guide.css

@ -1,57 +0,0 @@
.background-login-close {
color: white !important;
font-weight: bold;
font-size: 14px;
}
.background-guide-close {
background: url(./img/icon_install_normal.png) no-repeat center center;
background-size: cover;
width: 20px;
height: 20px;
cursor: pointer;
}
.background-guide-close:hover {
background-color: #E8E8E9;
}
.background-login-loading {
background: url(./img/login_loading.gif) no-repeat center center;
}
.background-plugin-need-update {
background: url(./img/icon_new.png) no-repeat center center;
}
.background-plugin-cant-use {
background: url(./img/icon_cantuse.png) no-repeat center center;
}
.background-plugin-is-disable {
background: url(./img/icon_disable.png) no-repeat center center;
}
.background-plugin-is-disable-new {
background: url(./img/icon_disable-new.png) no-repeat center center;
}
.background-plugin-selected {
background: url(./img/icon_marked.png) no-repeat center center;
}
.background-shop-title-close {
background: url(./img/icon_close40x40_normal.svg) no-repeat center center;
}
.background-dialog-confirm {
background: url(./img/warning.png) no-repeat center center;
background-size: contain;
}
.background-close-button {
background: url(./img/icon_close9x9_normal.png) no-repeat center center;
}
.background-close-button:hover {
background: url(./img/icon_close9x9_hover.png) no-repeat center center;
}
.designer-login-guide {
background: url(./img/login_guide.png) no-repeat center center;
background-size: cover;
}
.designer-guide-login-button {
font-size: 14px;
color: white;
border-radius: 4px;
background-color: #3685F2;
}

2
designer-base/src/main/resources/com/fr/design/login/guide.html

@ -15,7 +15,7 @@
<link rel="stylesheet" type="text/css" href="lib/bundle.css"/>
<script type="text/javascript" charset="UTF-8" src="lib/locale/login_zh_CN.js?_=compatible"></script>
<script type="text/javascript" charset="UTF-8" src="lib/locale/login_${language}.js"></script><script type="text/javascript" charset="UTF-8" src="lib/fineui.min.js"></script>
<link href="guide.css" rel="stylesheet"></head>
<link href="lib/locale/guide/guide_${language}.css" rel="stylesheet"></head>
</html>
<script type="text/javascript">
if (!/macintosh|mac os x/i.test(navigator.userAgent.toLowerCase())) {

BIN
designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

BIN
designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide_en.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

0
designer-base/src/main/resources/com/fr/design/login/img/login_guide.png → designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide_zh.png

Before

Width:  |  Height:  |  Size: 473 KiB

After

Width:  |  Height:  |  Size: 473 KiB

BIN
designer-base/src/main/resources/com/fr/design/login/img/guide/login_guide_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 KiB

57
designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_en_US.css

@ -0,0 +1,57 @@
.background-login-close {
color: white !important;
font-weight: bold;
font-size: 14px;
}
.background-guide-close {
background: url(../../../img/icon_install_normal.png) no-repeat center center;
background-size: cover;
width: 20px;
height: 20px;
cursor: pointer;
}
.background-guide-close:hover {
background-color: #E8E8E9;
}
.background-login-loading {
background: url(../../../img/login_loading.gif) no-repeat center center;
}
.background-plugin-need-update {
background: url(../../../img/icon_new.png) no-repeat center center;
}
.background-plugin-cant-use {
background: url(../../../img/icon_cantuse.png) no-repeat center center;
}
.background-plugin-is-disable {
background: url(../../../img/icon_disable.png) no-repeat center center;
}
.background-plugin-is-disable-new {
background: url(../../../img/icon_disable-new.png) no-repeat center center;
}
.background-plugin-selected {
background: url(../../../img/icon_marked.png) no-repeat center center;
}
.background-shop-title-close {
background: url(../../../img/icon_close40x40_normal.svg) no-repeat center center;
}
.background-dialog-confirm {
background: url(../../../img/warning.png) no-repeat center center;
background-size: contain;
}
.background-close-button {
background: url(../../../img/icon_close9x9_normal.png) no-repeat center center;
}
.background-close-button:hover {
background: url(../../../img/icon_close9x9_hover.png) no-repeat center center;
}
.designer-login-guide {
background: url(../../../img/guide/login_guide_en.png) no-repeat center center;
background-size: cover;
}
.designer-guide-login-button {
font-size: 14px;
color: white;
border-radius: 4px;
background-color: #3685F2;
}

57
designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_ja_JP.css

@ -0,0 +1,57 @@
.background-login-close {
color: white !important;
font-weight: bold;
font-size: 14px;
}
.background-guide-close {
background: url(../../../img/icon_install_normal.png) no-repeat center center;
background-size: cover;
width: 20px;
height: 20px;
cursor: pointer;
}
.background-guide-close:hover {
background-color: #E8E8E9;
}
.background-login-loading {
background: url(../../../img/login_loading.gif) no-repeat center center;
}
.background-plugin-need-update {
background: url(../../../img/icon_new.png) no-repeat center center;
}
.background-plugin-cant-use {
background: url(../../../img/icon_cantuse.png) no-repeat center center;
}
.background-plugin-is-disable {
background: url(../../../img/icon_disable.png) no-repeat center center;
}
.background-plugin-is-disable-new {
background: url(../../../img/icon_disable-new.png) no-repeat center center;
}
.background-plugin-selected {
background: url(../../../img/icon_marked.png) no-repeat center center;
}
.background-shop-title-close {
background: url(../../../img/icon_close40x40_normal.svg) no-repeat center center;
}
.background-dialog-confirm {
background: url(../../../img/warning.png) no-repeat center center;
background-size: contain;
}
.background-close-button {
background: url(../../../img/icon_close9x9_normal.png) no-repeat center center;
}
.background-close-button:hover {
background: url(../../../img/icon_close9x9_hover.png) no-repeat center center;
}
.designer-login-guide {
background: url(../../../img/guide/login_guide_en.png) no-repeat center center;
background-size: cover;
}
.designer-guide-login-button {
font-size: 14px;
color: white;
border-radius: 4px;
background-color: #3685F2;
}

57
designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_ko_KR.css

@ -0,0 +1,57 @@
.background-login-close {
color: white !important;
font-weight: bold;
font-size: 14px;
}
.background-guide-close {
background: url(../../../img/icon_install_normal.png) no-repeat center center;
background-size: cover;
width: 20px;
height: 20px;
cursor: pointer;
}
.background-guide-close:hover {
background-color: #E8E8E9;
}
.background-login-loading {
background: url(../../../img/login_loading.gif) no-repeat center center;
}
.background-plugin-need-update {
background: url(../../../img/icon_new.png) no-repeat center center;
}
.background-plugin-cant-use {
background: url(../../../img/icon_cantuse.png) no-repeat center center;
}
.background-plugin-is-disable {
background: url(../../../img/icon_disable.png) no-repeat center center;
}
.background-plugin-is-disable-new {
background: url(../../../img/icon_disable-new.png) no-repeat center center;
}
.background-plugin-selected {
background: url(../../../img/icon_marked.png) no-repeat center center;
}
.background-shop-title-close {
background: url(../../../img/icon_close40x40_normal.svg) no-repeat center center;
}
.background-dialog-confirm {
background: url(../../../img/warning.png) no-repeat center center;
background-size: contain;
}
.background-close-button {
background: url(../../../img/icon_close9x9_normal.png) no-repeat center center;
}
.background-close-button:hover {
background: url(../../../img/icon_close9x9_hover.png) no-repeat center center;
}
.designer-login-guide {
background: url(../../../img/guide/login_guide_en.png) no-repeat center center;
background-size: cover;
}
.designer-guide-login-button {
font-size: 14px;
color: white;
border-radius: 4px;
background-color: #3685F2;
}

57
designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_zh_CN.css

@ -0,0 +1,57 @@
.background-login-close {
color: white !important;
font-weight: bold;
font-size: 14px;
}
.background-guide-close {
background: url(../../../img/icon_install_normal.png) no-repeat center center;
background-size: cover;
width: 20px;
height: 20px;
cursor: pointer;
}
.background-guide-close:hover {
background-color: #E8E8E9;
}
.background-login-loading {
background: url(../../../img/login_loading.gif) no-repeat center center;
}
.background-plugin-need-update {
background: url(../../../img/icon_new.png) no-repeat center center;
}
.background-plugin-cant-use {
background: url(../../../img/icon_cantuse.png) no-repeat center center;
}
.background-plugin-is-disable {
background: url(../../../img/icon_disable.png) no-repeat center center;
}
.background-plugin-is-disable-new {
background: url(../../../img/icon_disable-new.png) no-repeat center center;
}
.background-plugin-selected {
background: url(../../../img/icon_marked.png) no-repeat center center;
}
.background-shop-title-close {
background: url(../../../img/icon_close40x40_normal.svg) no-repeat center center;
}
.background-dialog-confirm {
background: url(../../../img/warning.png) no-repeat center center;
background-size: contain;
}
.background-close-button {
background: url(../../../img/icon_close9x9_normal.png) no-repeat center center;
}
.background-close-button:hover {
background: url(../../../img/icon_close9x9_hover.png) no-repeat center center;
}
.designer-login-guide {
background: url(../../../img/guide/login_guide_zh.png) no-repeat center center;
background-size: cover;
}
.designer-guide-login-button {
font-size: 14px;
color: white;
border-radius: 4px;
background-color: #3685F2;
}

57
designer-base/src/main/resources/com/fr/design/login/lib/locale/guide/guide_zh_TW.css

@ -0,0 +1,57 @@
.background-login-close {
color: white !important;
font-weight: bold;
font-size: 14px;
}
.background-guide-close {
background: url(../../../img/icon_install_normal.png) no-repeat center center;
background-size: cover;
width: 20px;
height: 20px;
cursor: pointer;
}
.background-guide-close:hover {
background-color: #E8E8E9;
}
.background-login-loading {
background: url(../../../img/login_loading.gif) no-repeat center center;
}
.background-plugin-need-update {
background: url(../../../img/icon_new.png) no-repeat center center;
}
.background-plugin-cant-use {
background: url(../../../img/icon_cantuse.png) no-repeat center center;
}
.background-plugin-is-disable {
background: url(../../../img/icon_disable.png) no-repeat center center;
}
.background-plugin-is-disable-new {
background: url(../../../img/icon_disable-new.png) no-repeat center center;
}
.background-plugin-selected {
background: url(../../../img/icon_marked.png) no-repeat center center;
}
.background-shop-title-close {
background: url(../../../img/icon_close40x40_normal.svg) no-repeat center center;
}
.background-dialog-confirm {
background: url(../../../img/warning.png) no-repeat center center;
background-size: contain;
}
.background-close-button {
background: url(../../../img/icon_close9x9_normal.png) no-repeat center center;
}
.background-close-button:hover {
background: url(../../../img/icon_close9x9_hover.png) no-repeat center center;
}
.designer-login-guide {
background: url(../../../img/guide/login_guide_zh_TW.png) no-repeat center center;
background-size: cover;
}
.designer-guide-login-button {
font-size: 14px;
color: white;
border-radius: 4px;
background-color: #3685F2;
}

10
designer-chart/src/main/java/com/fr/design/module/ChartEmptyDataStylePane.java

@ -14,8 +14,7 @@ import com.fr.design.style.background.image.ImageFileChooser;
import com.fr.design.style.background.image.ImagePreviewPane;
import com.fr.design.utils.ImageUtils;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.locale.image.LocaleImageFactory;
import com.fr.general.locale.image.LocaleImageMark;
import com.fr.general.locale.image.I18nImage;
import com.fr.stable.Constants;
import com.fr.stable.CoreGraphHelper;
import com.fr.stable.StringUtils;
@ -61,11 +60,10 @@ public class ChartEmptyDataStylePane extends AbstractAttrNoScrollPane {
private Image emptyDataImage = DEFAULT_EMPTY_DATA_IMAGE;
private SwingWorker<Void, Void> imageWorker;
private static final String EMPTY_DATA_IMAGE_PATH = "/com/fr/design/images/emptydata.png";
private static final String EMPTY_DATA_IMAGE_PATH = "/com/fr/design/images/emptydata/emptydata.png";
static {
LocaleImageMark localeImageMark = LocaleImageFactory.getOrCreateLocaleMark(EMPTY_DATA_IMAGE_PATH);
DEFAULT_EMPTY_DATA_IMAGE = localeImageMark.getValue();
static {;
DEFAULT_EMPTY_DATA_IMAGE = I18nImage.getImage(EMPTY_DATA_IMAGE_PATH);
}
@Override

17
designer-chart/src/main/java/com/fr/van/chart/DownloadOnlineSourcesHelper.java

@ -12,6 +12,7 @@ import com.fr.general.CloudCenter;
import com.fr.general.IOUtils;
import com.fr.general.SiteBlockedException;
import com.fr.general.http.HttpClient;
import com.fr.general.locale.image.I18nImage;
import com.fr.plugin.chart.DownloadSourcesEvent;
import com.fr.stable.CommonUtils;
import com.fr.stable.StableUtils;
@ -23,20 +24,19 @@ import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.util.ArrayList;
import java.util.List;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import static com.fr.design.dialog.FineJOptionPane.OPTION_OK_CANCEL;
@ -65,7 +65,7 @@ public class DownloadOnlineSourcesHelper implements DownloadSourcesEvent {
private double totalBytes = 0;
private static final double MAP_JSON_MB = 4.5 * 1024 * 1024;
private static final String BACKGROUND_IMAGE_URL = "com/fr/van/chart/background/background.png";
public void addMapJSONSiteInfo() {
this.addSiteInfo("map10.json", ChartConstants.MAP_JSON_URL, MAP_JSON_MB);
}
@ -189,8 +189,7 @@ public class DownloadOnlineSourcesHelper implements DownloadSourcesEvent {
private void initDialog() {
// 创建标签,并在标签上放置一张图片
BufferedImage image = IOUtils.readImage("/com/fr/van/chart/background.png");
ImageIcon imageIcon = new ImageIcon(image);
ImageIcon imageIcon = new ImageIcon(I18nImage.getImage(BACKGROUND_IMAGE_URL));
UILabel label = new UILabel(imageIcon);
label.setBounds(0, 0, LOAD_WIDTH, LOAD_HEIGHT);

0
designer-chart/src/main/resources/com/fr/design/images/en_us_emptydata.png → designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata.png

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

BIN
designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata_en.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

0
designer-chart/src/main/resources/com/fr/design/images/zh_cn_emptydata.png → designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata_zh.png

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

0
designer-chart/src/main/resources/com/fr/design/images/zh_tw_emptydata.png → designer-chart/src/main/resources/com/fr/design/images/emptydata/emptydata_zh_TW.png

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

BIN
designer-chart/src/main/resources/com/fr/van/chart/background/background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
designer-chart/src/main/resources/com/fr/van/chart/background/background_en.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

0
designer-chart/src/main/resources/com/fr/van/chart/background.png → designer-chart/src/main/resources/com/fr/van/chart/background/background_zh.png

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

BIN
designer-chart/src/main/resources/com/fr/van/chart/background/background_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

9
designer-form/src/main/java/com/fr/design/designer/creator/XAutoChartCreator.java

@ -12,13 +12,14 @@ import com.fr.design.mainframe.EditingMouseListener;
import com.fr.design.mainframe.FormDesigner;
import com.fr.design.module.DesignModuleFactory;
import com.fr.form.ui.ChartAutoEditor;
import com.fr.general.IOUtils;
import com.fr.general.locale.image.I18nImage;
import com.fr.stable.Constants;
import com.fr.stable.bridge.StableFactory;
import javax.swing.JComponent;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
@ -38,6 +39,8 @@ public class XAutoChartCreator extends XChartEditor {
super(editor, size);
}
private static final String AUTO_CHART_IMAGE_PATH = "com/fr/design/form/images/autochartpreview/auto_chart_preview.png";
/**
* 返回组件默认名
*
@ -103,7 +106,7 @@ public class XAutoChartCreator extends XChartEditor {
@Override
public void paintForeground(Graphics2D g) {
BufferedImage bufferedImage = IOUtils.readImage("com/fr/design/form/images/auto_chart_preview.png");
BufferedImage bufferedImage = I18nImage.getImage(AUTO_CHART_IMAGE_PATH);
GraphHelper.paintImage(
g, this.getWidth(), this.getHeight(), bufferedImage,
Constants.IMAGE_ADJUST,

BIN
designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview_en.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview_zh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
designer-form/src/main/resources/com/fr/design/form/images/autochartpreview/auto_chart_preview_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

2
designer-realize/src/main/java/com/fr/start/MainDesigner.java

@ -213,7 +213,6 @@ public class MainDesigner extends BaseDesigner {
ArrayList<ShortCut> shortCuts = new ArrayList<ShortCut>();
// shortCuts.add(new NewWorkBookXAction());
shortCuts.add(new NewWorkBookAction());
shortCuts.add(new NewPolyReportAction());
try {
if (DesignModuleFactory.getNewFormAction() != null) {
shortCuts.add((ShortCut) DesignModuleFactory.getNewFormAction().newInstance());
@ -221,6 +220,7 @@ public class MainDesigner extends BaseDesigner {
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
shortCuts.add(new NewPolyReportAction());
return shortCuts.toArray(new ShortCut[0]);
}

12
designer-realize/src/main/java/com/fr/start/SplashContext.java

@ -2,14 +2,12 @@ package com.fr.start;
import com.fr.concurrent.NamedThreadFactory;
import com.fr.design.i18n.Toolkit;
import com.fr.design.locale.impl.SplashMark;
import com.fr.design.mainframe.bbs.BBSConstants;
import com.fr.event.Event;
import com.fr.event.EventDispatcher;
import com.fr.event.Listener;
import com.fr.general.GeneralContext;
import com.fr.general.locale.LocaleCenter;
import com.fr.general.locale.LocaleMark;
import com.fr.general.locale.image.I18nImage;
import com.fr.module.ModuleEvent;
import com.fr.stable.StringUtils;
@ -44,6 +42,11 @@ public class SplashContext {
private String guest = StringUtils.EMPTY;
private boolean hasShowThanks = false;
/**
* 正常图片路径
*/
private static final String SPLASH_IMAGE_PATH = "/com/fr/design/images/splash.png";
private ScheduledExecutorService scheduler = Executors
.newScheduledThreadPool(1, new NamedThreadFactory("SplashContext"));
@ -174,7 +177,6 @@ public class SplashContext {
}
private static String getSplashPath() {
LocaleMark<String> localeMark = LocaleCenter.getMark(SplashMark.class);
return localeMark.getValue();
return I18nImage.getImagePath(SPLASH_IMAGE_PATH);
}
}

12
designer-realize/src/main/java/com/fr/start/common/SplashPane.java

@ -3,9 +3,7 @@ package com.fr.start.common;
import com.bulenkov.iconloader.IconLoader;
import com.bulenkov.iconloader.util.JBUI;
import com.fr.base.GraphHelper;
import com.fr.design.locale.impl.SplashMark;
import com.fr.general.locale.LocaleCenter;
import com.fr.general.locale.LocaleMark;
import com.fr.general.locale.image.I18nImage;
import com.fr.stable.GraphDrawHelper;
import com.fr.stable.GraphicsConfig;
import com.fr.stable.StringUtils;
@ -51,13 +49,17 @@ public class SplashPane extends JPanel {
private String thanksLog = StringUtils.EMPTY;
private String moduleText = StringUtils.EMPTY;
/**
* 正常图片路径
*/
private static final String SPLASH_PATH = "/com/fr/design/images/splash.png";
private static int uiScale(int i) {
return (int) (i * JBUI_INIT_SCALE);
}
private static String getSplashPath() {
LocaleMark<String> localeMark = LocaleCenter.getMark(SplashMark.class);
return localeMark.getValue();
return I18nImage.getImagePath(SPLASH_PATH);
}
private NotNullLazyValue<Font> fontValue = new NotNullLazyValue<Font>() {

20
designer-realize/src/main/java/com/fr/start/common/SplashPane4WinAndJDK11.java

@ -2,16 +2,14 @@ package com.fr.start.common;
import com.bulenkov.iconloader.IconLoader;
import com.fr.base.BaseUtils;
import com.fr.design.locale.impl.DoubleSplashMark;
import com.fr.design.locale.impl.SplashMark;
import com.fr.general.IOUtils;
import com.fr.general.locale.LocaleCenter;
import com.fr.general.locale.image.I18nImage;
import java.awt.RenderingHints;
import javax.swing.Icon;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
/**
@ -30,13 +28,23 @@ public class SplashPane4WinAndJDK11 extends SplashPane{
*/
private boolean isDouble = false;
/**
* 正常图片路径
*/
private static final String SPLASH_PATH = "/com/fr/design/images/splash.png";
/**
* 两倍图片路径
*/
private static final String DOUBLE_SPLASH_PATH = "/com/fr/design/images/splash@2x.png";
public SplashPane4WinAndJDK11() {
this.imagePath = getSplashPath4WinAndJdk11();
}
private String getSplashPath4WinAndJdk11() {
String path = (String) LocaleCenter.getMark(SplashMark.class).getValue();
String pathOfDouble = (String) LocaleCenter.getMark(DoubleSplashMark.class).getValue();
String path = I18nImage.getImagePath(SPLASH_PATH);
String pathOfDouble = I18nImage.getImagePath(DOUBLE_SPLASH_PATH);
// 为图片加上"@2x"
// 某些定制jar里面没有两倍图,判断一下,如果文件不存在,就返回一倍图的path
if (IOUtils.readResource(pathOfDouble) != null) {

BIN
designer-realize/src/main/resources/com/fr/design/images/splash.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 KiB

After

Width:  |  Height:  |  Size: 298 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 946 KiB

After

Width:  |  Height:  |  Size: 949 KiB

0
designer-realize/src/main/resources/com/fr/design/images/splash_en@2x.png → designer-realize/src/main/resources/com/fr/design/images/splash@2x_en.png

Before

Width:  |  Height:  |  Size: 949 KiB

After

Width:  |  Height:  |  Size: 949 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash_zh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

BIN
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open_en.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

0
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open.png → designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open_zh.png

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

BIN
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/open/open_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

BIN
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind_en.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

0
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind.png → designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind_zh.png

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 161 KiB

BIN
designer-realize/src/main/resources/com/fr/design/mainframe/alphafine/images/remind/remind_zh_TW.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

Loading…
Cancel
Save