Browse Source

Pull request #14878: 无jira任务, fbp/release 合 fbp/feature

Merge in DESIGN/design from fbp/release to fbp/feature

* commit '6216cd968d74ad9132b7682d6fea3b0ce1e74251':
  REPORT-135114 【fr-fbp回归】远程设计登录代码重构
  REPORT-132457 fix:设计器参数栏组件小窗设置展示不全
  REPORT-134055 & REPORT-134048 fix: 屏蔽数据集及参数上下移动按钮
  无jira 启动页替换
  REPORT-134818 fix:fbp回归问题修复:单行row布局统一调整
  REPORT-132833 【fr-fbp回归】【数据集】服务器数据集开启缓存,保存后再次打开还是未开启状态
fbp/research
superman 4 months ago committed by zhouping-周平
parent
commit
de14f76fe6
  1. 2
      designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java
  2. 17
      designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java
  3. 2
      designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java
  4. 40
      designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java
  5. 3
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java
  6. 41
      designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java
  7. 3
      designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java
  8. 9
      designer-base/src/main/java/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java
  9. 2
      designer-base/src/main/java/com/fr/design/gui/style/TextFormatPane.java
  10. 9
      designer-base/src/main/java/com/fr/design/i18n/DesignI18nImpl.java
  11. 2
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  12. 6
      designer-base/src/main/java/com/fr/design/utils/gui/GUICoreUtils.java
  13. 4
      designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java
  14. 3
      designer-base/src/main/java/com/fr/widgettheme/designer/WidgetThemeDisplayConfigPane.java
  15. 29
      designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/ChartDataFilterPane.java
  16. 10
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTextFieldInputSettingPane.java
  17. 4
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java
  18. 34
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java
  19. 6
      designer-realize/src/main/java/com/fr/design/report/ExcelExportPane.java
  20. 3
      designer-realize/src/main/java/com/fr/design/report/ExportUniversalPane.java
  21. 7
      designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java
  22. 9
      designer-realize/src/main/java/com/fr/design/report/WordExportPane.java
  23. 3
      designer-realize/src/main/java/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java
  24. 3
      designer-realize/src/main/java/com/fr/design/sort/header/HeaderSettingPane.java
  25. 6
      designer-realize/src/main/java/com/fr/design/sort/header/HeaderSortRulePane.java
  26. 2
      designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java
  27. 4
      designer-realize/src/main/java/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java
  28. 3
      designer-realize/src/main/java/com/fr/design/widget/ui/CheckBoxGroupDefinePane.java
  29. 2
      designer-realize/src/main/java/com/fr/design/widget/ui/ComboCheckBoxDefinePane.java
  30. 5
      designer-realize/src/main/java/com/fr/design/widget/ui/CustomWritableRepeatEditorPane.java
  31. 5
      designer-realize/src/main/java/com/fr/design/widget/ui/DirectWriteEditorDefinePane.java
  32. 2
      designer-realize/src/main/java/com/fr/design/widget/ui/FieldEditorDefinePane.java
  33. 4
      designer-realize/src/main/java/com/fr/design/widget/ui/IframeEditorDefinePane.java
  34. 2
      designer-realize/src/main/java/com/fr/design/widget/ui/MultiFileEditorPane.java
  35. 2
      designer-realize/src/main/java/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java
  36. 2
      designer-realize/src/main/java/com/fr/start/common/SplashWindow.java
  37. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash.png
  38. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x.png
  39. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_en.png
  40. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh.png
  41. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh_TW.png
  42. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_en.png
  43. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh.png
  44. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh_TW.png

2
designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java

@ -131,7 +131,7 @@ public class EnvBackupHelper {
*/
public void rollbackEnv() {
if (origin instanceof RemoteWorkspace && ((RemoteWorkspace) origin).getClient() instanceof FineWorkspaceHttpClient) {
((FineWorkspaceHttpClient) ((RemoteWorkspace) origin).getClient()).startHeartBeat();
((FineWorkspaceHttpClient) ((RemoteWorkspace) origin).getClient()).connect();
}
}

17
designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java

@ -2,6 +2,7 @@ package com.fr.design.data.datapane.connect;
import com.fanruan.config.impl.data.ConnectionConfigProviderFactory;
import com.fanruan.config.impl.data.ConnectionConfigWriterFactory;
import com.fine.theme.utils.FineUIScale;
import com.fr.config.remote.RemoteConfigEvent;
import com.fine.theme.icon.LazyIcon;
import com.fr.data.impl.Connection;
@ -16,6 +17,7 @@ import com.fr.design.fun.ConnectionProvider;
import com.fr.design.gui.controlpane.JListControlPane;
import com.fr.design.gui.controlpane.NameObjectCreator;
import com.fr.design.gui.controlpane.NameableCreator;
import com.fr.design.gui.controlpane.ShortCut4JControlPane;
import com.fr.design.gui.ilist.ListModelElement;
import com.fr.design.i18n.Toolkit;
import com.fr.event.EventDispatcher;
@ -95,6 +97,21 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh
getSupportedTypesWorker.execute();
}
@Override
protected ShortCut4JControlPane[] createShortcuts() {
return new ShortCut4JControlPane[]{
shortCutFactory.addItemShortCut(),
shortCutFactory.removeItemShortCut(),
shortCutFactory.copyItemShortCut(),
shortCutFactory.sortItemShortCut(),
};
}
@Override
protected int getLeftPreferredSize() {
return FineUIScale.scale(180);
}
@Override
public String getEmptyNameTip() {
return Toolkit.i18nText("Fine-Design_Basic_Connection_Empty_Name");

2
designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java

@ -116,7 +116,7 @@ public class SshPane extends BasicPane {
coreCardPane = ReactiveCardPane.create()
.addSupplier(NOT_USE_SSH, () -> cell(usingSsh).getComponent())
.addSupplier(USE_SSH, () -> Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(usingSsh),
row(cell(usingSsh)),
row(
cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Host"))).weight(1),
cell(ip).weight(5),

40
designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java

@ -16,8 +16,10 @@ import com.fr.decision.webservice.bean.dataset.ParameterExternal;
import com.fr.decision.webservice.bean.dataset.SQLDataSetBean;
import com.fr.decision.webservice.bean.dataset.ServerDataSetBean;
import com.fr.decision.webservice.bean.dataset.StoreProcedureBean;
import com.fr.decision.webservice.bean.dataset.StrategyConfigBean;
import com.fr.decision.webservice.v10.datasource.dataset.processor.impl.SQLDataSetProcessor;
import com.fr.decision.webservice.v10.datasource.dataset.processor.impl.StoreProcedureProcessor;
import com.fr.esd.core.strategy.config.StrategyConfig;
import com.fr.general.GeneralUtils;
import com.fr.general.sql.SqlUtils;
import com.fr.json.JSONObject;
@ -29,6 +31,7 @@ import com.fr.stable.StringUtils;
import com.fr.workspace.server.repository.connection.ConnectionRepository;
import com.fr.workspace.server.repository.tabledata.DataEncryptionHelper;
import com.fr.workspace.server.repository.tabledata.TableDataRepository;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
@ -163,6 +166,22 @@ public class TableDataBeanHelper {
parameterBeans.add(new ParameterBean(parameter.getValue().getClass().getSimpleName(), parameter.getName(), GeneralUtils.objectToString(parameter.getValue())));
}
bean.setParameters(parameterBeans);
StrategyConfig config = dataSet.getStrategyConfig();
if (config != null) {
StrategyConfigBean strategyConfigBean = new StrategyConfigBean();
strategyConfigBean.setUseGlobal(config.isUseGlobal());
strategyConfigBean.setShouldMonitor(config.shouldMonitor());
strategyConfigBean.setShouldEvolve(config.shouldEvolve());
strategyConfigBean.setScheduleBySchema(config.isScheduleBySchema());
strategyConfigBean.setTimeToLive(config.getTimeToLive());
strategyConfigBean.setTimeToIdle(config.getTimeToIdle());
strategyConfigBean.setUpdateInterval(config.getUpdateInterval());
strategyConfigBean.setTerminalTime(config.getTerminalTime());
strategyConfigBean.setUpdateSchema(config.getUpdateSchema());
strategyConfigBean.setActiveInitiation(config.isActiveInitiation());
strategyConfigBean.setShare(config.enabled());
bean.setStrategyConfig(strategyConfigBean);
}
return JSONObject.mapFrom(bean);
}
@ -190,6 +209,27 @@ public class TableDataBeanHelper {
tableData.setShare(oldDataSet.isShare());
tableData.setDataQueryProcessor(oldDataSet.getDataQueryProcessor());
}
StrategyConfig config = getStrategyConfig(bean.getStrategyConfig());
tableData.setStrategyConfig(config);
return tableData;
}
private static StrategyConfig getStrategyConfig(StrategyConfigBean bean) {
if (bean == null) {
return new StrategyConfig();
}
StrategyConfig config = new StrategyConfig();
config.setEnable(bean.isShare());
config.setUseGlobal(bean.isUseGlobal());
config.setShouldMonitor(bean.isShouldMonitor());
config.setShouldEvolve(bean.isShouldEvolve());
config.setScheduleBySchema(bean.isScheduleBySchema());
config.setTimeToLive(bean.getTimeToLive());
config.setTimeToIdle(bean.getTimeToIdle());
config.setUpdateInterval(bean.getUpdateInterval());
config.setTerminalTime(bean.getTerminalTime());
config.setUpdateSchema(bean.getUpdateSchema());
config.setActiveInitiation(bean.isActiveInitiation());
return config;
}
}

3
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java

@ -165,7 +165,8 @@ public class DBTableDataPane extends AbstractTableDataPane<DBTableData> implemen
ParameterTableModel model = new ParameterTableModel() {
@Override
public UITableEditAction[] createAction() {
return ArrayUtils.add(super.createDBTableAction(), new RefreshAction());
// 当前仅支持刷新参数功能
return ArrayUtils.toArray(new RefreshAction());
}
};
editorPane = new UITableEditorPane<>(model);

41
designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java vendored

@ -4,6 +4,7 @@ import com.fanruan.workplace.http.HttpConstants;
import com.fanruan.workplace.http.HttpServiceMap;
import com.fanruan.workplace.http.RepositoryManager;
import com.fanruan.workplace.http.info.Stub;
import com.fanruan.workplace.network.RemoteNetworkRepository;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.StringUtils;
import com.fr.workspace.engine.exception.RemoteDesignConnectionException;
@ -43,33 +44,20 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
@Override
public boolean testConnection(WorkspaceConnectionInfo connectionInfo) throws Exception {
FineWorkspaceHttpClient client = FineWorkspaceHttpClient.create("Http-Client", connectionInfo);
LoginResponseInfoBean bean;
try {
bean = RemoteAuthorityRepository.getInstance().login(createLoginBean(connectionInfo));
checkValidAndUpdateInfo(client, connectionInfo, bean);
return testConnect(client, connectionInfo);
} finally {
client.closePool();
}
return StringUtils.isNotEmpty(bean.getAccessToken());
}
@Override
public WorkspaceClient connect(WorkspaceConnectionInfo connectionInfo) throws Exception {
FineWorkspaceHttpClient client = FineWorkspaceHttpClient.create("Http-Client", connectionInfo);
try {
for (Map.Entry<Class, Stub<?>> entry : HttpServiceMap.getInstance().entrySet()) {
Stub<?> stub = entry.getValue();
stub.clearProxy();
if (testConnect(client, connectionInfo)) {
client.connect();
}
LoginResponseInfoBean bean = RemoteAuthorityRepository.getInstance().login(createLoginBean(connectionInfo));
// 服务器如果没返回token,肯定是出问题了,直接抛出异常
if (StringUtils.isEmpty(bean.getAccessToken())) {
throw new RuntimeException("Empty token, try connect again and check server");
}
FineLoggerFactory.getLogger().info("[connector] infos:{}", bean.getAccessToken());
checkValidAndUpdateInfo(client, connectionInfo, bean);
client.startHeartBeat();
} catch (Exception e) {
client.closePool();
throw e;
@ -79,28 +67,25 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
return client;
}
private void checkValidAndUpdateInfo(FineWorkspaceHttpClient client, WorkspaceConnectionInfo connectionInfo, LoginResponseInfoBean bean) throws Exception {
private boolean testConnect(FineWorkspaceHttpClient client, WorkspaceConnectionInfo connectionInfo) throws Exception {
for (Map.Entry<Class, Stub<?>> entry : HttpServiceMap.getInstance().entrySet()) {
Stub<?> stub = entry.getValue();
stub.clearProxy();
}
LoginResponseInfoBean bean = RemoteAuthorityRepository.getInstance().login(createLoginBean(connectionInfo));
WorkspaceConnection connection = new WorkspaceConnection(
UUID.randomUUID().toString(),
connectionInfo.getUserName(),
HttpConstants.AUTHORIZATION_PREFIX + bean.getAccessToken(),
InetAddress.getLocalHost().getHostAddress());
client.updateConnection(connection);
// 检查远程权限
if (!checkRemoteAuthority(connection)) {
// 无权限则抛出无权限的错
throw new RemoteDesignNoAuthException();
}
}
private boolean checkRemoteAuthority(WorkspaceConnection connection) {
try {
return RemoteAuthorityRepository.getInstance().isRoot(connection.getUserName()) || RemoteAuthorityRepository.getInstance().hasAuthority(connection.getUserName());
return RemoteNetworkRepository.getInstance().testConnect();
} catch (RemoteDesignNoAuthException e) {
throw e;
} catch (Exception e) {
// 如果这里出现异常,就认为fr服务没启动
throw new RemoteDesignConnectionException(e, StringUtils.EMPTY);
}
}
private LoginRequestInfoBean createLoginBean(WorkspaceConnectionInfo connectionInfo) {

3
designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java vendored

@ -13,6 +13,7 @@ import com.fr.workspace.connect.WorkspaceConnection;
import com.fr.workspace.connect.WorkspaceConnectionInfo;
import com.fr.workspace.server.authority.decision.DecisionOperator;
import com.fr.workspace.pool.WorkObjectPool;
import com.fr.workspace.server.repository.WorkplaceConstants;
import com.fr.workspace.server.repository.authority.RemoteAuthorityRepository;
import javax.swing.SwingWorker;
@ -80,7 +81,7 @@ public class RemoteWorkspace implements Workspace {
if (isRoot == null) {
synchronized (this) {
if (isRoot == null) {
isRoot = RemoteAuthorityRepository.getInstance().isRoot(getConnection().getUserName());
isRoot = WorkplaceConstants.isRoot();
}
}
}

9
designer-base/src/main/java/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java

@ -17,6 +17,7 @@ import java.util.List;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
public class TreeRootPane extends BasicPane {
@ -44,10 +45,10 @@ public class TreeRootPane extends BasicPane {
addCheckBoxListener();
this.add(column(LayoutConstants.VERTICAL_GAP,
cell(checkTypeCheckBox),
cell(loadTypeCheckBox),
cell(layerTypeCheckBox),
cell(returnFullPathCheckBox)
row(cell(checkTypeCheckBox)),
row(cell(loadTypeCheckBox)),
row(cell(layerTypeCheckBox)),
row(cell(returnFullPathCheckBox))
).getComponent());
}

2
designer-base/src/main/java/com/fr/design/gui/style/TextFormatPane.java

@ -132,7 +132,7 @@ public class TextFormatPane extends AbstractBasicStylePane implements GlobalName
cell(textField),
row(
cell(new UILabel(Toolkit.i18nText("Fine-Design_Report_Base_Option"))).weight(LEFT_WEIGHT),
cell(roundingBox).weight(RIGHT_WEIGHT)
row(cell(roundingBox)).weight(RIGHT_WEIGHT)
),
cell(previewLabel)
).getComponent());

9
designer-base/src/main/java/com/fr/design/i18n/DesignI18nImpl.java

@ -1,5 +1,6 @@
package com.fr.design.i18n;
import com.fr.design.DesignerEnvManager;
import com.fr.general.GeneralContext;
import com.fr.general.log.MessageFormatter;
import com.fr.locale.DesignI18nProvider;
@ -14,10 +15,10 @@ import java.util.Locale;
public class DesignI18nImpl implements DesignI18nProvider {
// static {
// // GeneralContext上下文 存储本次启动的语言环境 直接使用DesignerEnvManager 会在设置语言环境后 不重启 立即生效 存在问题
// GeneralContext.setLocale(DesignerEnvManager.getEnvManager().getLanguage());
// }
static {
// GeneralContext上下文 存储本次启动的语言环境 直接使用DesignerEnvManager 会在设置语言环境后 不重启 立即生效 存在问题
GeneralContext.setLocale(DesignerEnvManager.getEnvManager().getLanguage());
}
private static DesignI18nImpl instance = new DesignI18nImpl();

2
designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java

@ -90,7 +90,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
private static final int ARROW_RANGE_START = CONTENT_WIDTH - FineUIScale.scale(30);
// 弹出对话框高度
private static final int POPUP_MIN_HEIGHT = FineUIScale.scale(145);
private static final int POPUP_DEFAULT_HEIGHT = FineUIScale.scale(356);
private static final int POPUP_DEFAULT_HEIGHT = FineUIScale.scale(600);
public static final String KEY_CELL_ELEMENT = "cellElement";
public static final String KEY_CELL_ATTR = "cellAttr";
public static final String KEY_FLOAT_ELEMENT = "floatElement";

6
designer-base/src/main/java/com/fr/design/utils/gui/GUICoreUtils.java

@ -93,6 +93,7 @@ import java.util.List;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
// Noninstantiable utility class
public final class GUICoreUtils {
@ -996,7 +997,10 @@ public final class GUICoreUtils {
dynamicPane.setVisible(e.getStateChange() == visibleState);
}
});
return column(LayoutConstants.VERTICAL_GAP, cell(checkBox), cell(dynamicPane)).getComponent();
return column(LayoutConstants.VERTICAL_GAP,
row(cell(checkBox)),
cell(dynamicPane)
).getComponent();
}
/**

4
designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java

@ -87,9 +87,9 @@ public class NumberEditorValidatePane extends JPanel {
).getComponent();
this.add(column(LayoutConstants.VERTICAL_GAP,
cell(allowDecimalsCheckBox),
row(cell(allowDecimalsCheckBox)),
cell(limitNumberPane),
cell(allowNegativeCheckBox),
row(cell(allowNegativeCheckBox)),
row(10,
cell(setMaxValueCheckBox).weight(1.8), cell(maxValueSpinner).weight(3)
),

3
designer-base/src/main/java/com/fr/widgettheme/designer/WidgetThemeDisplayConfigPane.java

@ -14,6 +14,7 @@ import java.awt.Color;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
/**
* 控件主题显示增强配置窗口
@ -35,7 +36,7 @@ public class WidgetThemeDisplayConfigPane extends BasicPane {
JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
widgetEnhance = new UICheckBox(Toolkit.i18nText("Fine-Design_Widget_Enable_Display_Enhance"));
widgetEnhance.setSelected(true);
northPane.add(widgetEnhance);
northPane.add(row(cell(widgetEnhance)).getComponent());
JPanel southPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
UILabel label = new UILabel(Toolkit.i18nText("Fine-Design_Widget_Display_Enhance_Tip"));

29
designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/data/ChartDataFilterPane.java

@ -6,6 +6,7 @@ import com.fr.base.chart.chartdata.TopDefinitionProvider;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartdata.TopDefinition;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.frpane.AbstractAttrNoScrollPane;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
@ -226,9 +227,9 @@ public class ChartDataFilterPane extends ThirdTabPane<ChartCollection> {
combineOther = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Data_CombineOther"));
combineOther.setSelected(true);
//默认不显示
preDataNumPane = column(10,
row(cell(label).weight(1.2), cell(preDataNum).weight(3)),
cell(combineOther)
preDataNumPane = column(LayoutConstants.VERTICAL_GAP,
row(cell(label).weight(LayoutConstants.LEFT_WEIGHT), cell(preDataNum).weight(LayoutConstants.RIGHT_WEIGHT)),
row(cell(combineOther))
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 10, 0, 0))).getComponent();
preDataNumPane.setVisible(false);
notShowNull = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Data_Not_Show_Cate"));
@ -243,13 +244,13 @@ public class ChartDataFilterPane extends ThirdTabPane<ChartCollection> {
presentPane = row(
cell(
new UILabel(Toolkit.i18nText("Fine-Design_Chart_Style_Present"))
).weight(1.2), cell(present).weight(3)
).weight(LayoutConstants.LEFT_WEIGHT), cell(present).weight(LayoutConstants.RIGHT_WEIGHT)
).getComponent();
return column(10,
cell(onlyPreData),
return column(LayoutConstants.VERTICAL_GAP,
row(cell(onlyPreData)),
cell(preDataNumPane),
cell(notShowNull),
row(cell(notShowNull)),
cell(presentPane)
).getComponent();
}
@ -385,9 +386,9 @@ public class ChartDataFilterPane extends ThirdTabPane<ChartCollection> {
combineOther = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Data_CombineOther"));
combineOther.setSelected(true);
//默认不显示
preDataNumPane = column(10,
row(cell(label).weight(1.2), cell(preDataNum).weight(3)),
cell(combineOther)
preDataNumPane = column(LayoutConstants.VERTICAL_GAP,
row(cell(label).weight(LayoutConstants.LEFT_WEIGHT), cell(preDataNum).weight(LayoutConstants.RIGHT_WEIGHT)),
row(cell(combineOther))
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 10, 0, 0))).getComponent();
preDataNumPane.setVisible(false);
notShowNull = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Data_Not_Show_Series"));
@ -402,13 +403,13 @@ public class ChartDataFilterPane extends ThirdTabPane<ChartCollection> {
presentPane = row(
cell(
new UILabel(Toolkit.i18nText("Fine-Design_Chart_Style_Present"))
).weight(1.2), cell(present).weight(3)
).weight(LayoutConstants.LEFT_WEIGHT), cell(present).weight(LayoutConstants.RIGHT_WEIGHT)
).getComponent();
return column(10,
cell(onlyPreData),
return column(LayoutConstants.VERTICAL_GAP,
row(cell(onlyPreData)),
cell(preDataNumPane),
cell(notShowNull),
row(cell(notShowNull)),
cell(presentPane)
).getComponent();
}

10
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTextFieldInputSettingPane.java

@ -53,13 +53,13 @@ public class MobileTextFieldInputSettingPane extends BasicBeanPane<MobileScanCod
JPanel settingPane = column(LayoutConstants.VERTICAL_GAP,
row(
cell(new UILabel(Toolkit.i18nText("Fine-Design_Mobile_Input_Way"))).weight(1),
cell(manualInputCheckBox).weight(2)
row(cell(manualInputCheckBox)).weight(2)
),
row(
flex(1), cell(scanCodeCheckBox).weight(2)
flex(1), row(cell(scanCodeCheckBox)).weight(2)
),
row(
flex(1), cell(nfcInputCheckBox).weight(2)
flex(1), row(cell(nfcInputCheckBox)).weight(2)
),
cell(nfcContentTypePane)
).getComponent();
@ -133,10 +133,10 @@ public class MobileTextFieldInputSettingPane extends BasicBeanPane<MobileScanCod
this.add(column(LayoutConstants.VERTICAL_GAP,
row(
flex(1), cell(contentTypeButton).weight(2)
flex(1), row(cell(contentTypeButton)).weight(2)
),
row(
flex(1), cell(uidTypeButton).weight(2)
flex(1), row(cell(uidTypeButton)).weight(2)
)
).getComponent());
}

4
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java

@ -123,8 +123,8 @@ public class CellExpandAttrPane extends AbstractCellAttrPane {
private JPanel seniorPane() {
return Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(horizontalExpandableCheckBox),
cell(verticalExpandableCheckBox)
row(cell(horizontalExpandableCheckBox)),
row(cell(verticalExpandableCheckBox))
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 0))
).getComponent();
}

34
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java

@ -208,10 +208,10 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
autoBG.add(radioButton);
}
return Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(defaultAutoRadioButton),
cell(noAutoRadioButton),
cell(autoHeightRadioButton),
cell(autoWidthRadioButton)
row(cell(defaultAutoRadioButton)),
row(cell(noAutoRadioButton)),
row(cell(autoHeightRadioButton)),
row(cell(autoWidthRadioButton))
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, LayoutConstants.VERTICAL_GAP, 0))
).getComponent();
}
@ -356,15 +356,15 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
overflowPane = ReactiveCardPane.create()
.addSupplier("empty", () -> column(LayoutConstants.VERTICAL_GAP,
cell(textOverflowCheckBox)
row(cell(textOverflowCheckBox))
).getComponent())
.addSupplier("showChar", () -> column(LayoutConstants.VERTICAL_GAP,
cell(textOverflowCheckBox),
row(cell(textOverflowCheckBox)),
row(cell(showPartLabel).weight(1.2), cell(showPartComboBox).weight(1.4), flex(0.1), cell(numberLabel).weight(0.5), cell(showCharNums).weight(1.0)),
row(cell(hideTypeLabel).weight(1.2), cell(textOverflowTypeComboBox).weight(3.0))
).getComponent())
.addSupplier("showCell", () -> column(LayoutConstants.VERTICAL_GAP,
cell(textOverflowCheckBox),
row(cell(textOverflowCheckBox)),
row(cell(showPartLabel).weight(1.2), cell(showPartComboBox).weight(3.0)),
row(cell(hideTypeLabel).weight(1.2), cell(textOverflowTypeComboBox).weight(3.0))
).getComponent());
@ -403,9 +403,9 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
printAndExportContent = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_CellWrite_Print_Content"));
printAndExportBackground = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_CellWrite_Print_Background"));
return Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(previewCellContent),
cell(printAndExportContent),
cell(printAndExportBackground)
row(cell(previewCellContent)),
row(cell(printAndExportContent)),
row(cell(printAndExportBackground))
).getComponent();
}
@ -424,22 +424,22 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
currentPageFixedRowDataTipLabel.setForeground(TIPS_FONT_COLOR);
return Layouts.column(
cell(pageBeforeRowCheckBox),
row(cell(pageBeforeRowCheckBox)),
fix(LayoutConstants.VERTICAL_GAP),
cell(pageAfterRowCheckBox),
row(cell(pageAfterRowCheckBox)),
fix(LayoutConstants.VGAP_SMALL + LayoutConstants.VERTICAL_GAP),
cell(pageBeforeColumnCheckBox),
row(cell(pageBeforeColumnCheckBox)),
fix(LayoutConstants.VERTICAL_GAP),
cell(pageAfterColumnCheckBox),
row(cell(pageAfterColumnCheckBox)),
fix(LayoutConstants.VGAP_SMALL + LayoutConstants.VERTICAL_GAP),
cell(canBreakOnPaginateCheckBox),
row(cell(canBreakOnPaginateCheckBox)),
fix(LayoutConstants.VERTICAL_GAP),
cell(repeatCheckBox),
row(cell(repeatCheckBox)),
fix(LayoutConstants.VGAP_SMALL + LayoutConstants.VERTICAL_GAP),
cell(pageFixedRowDataCheckBox),
row(cell(pageFixedRowDataCheckBox)),
fix(LayoutConstants.VERTICAL_GAP),
cell(currentPageFixedRowDataTipLabel)
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, LayoutConstants.VERTICAL_GAP, 0))

6
designer-realize/src/main/java/com/fr/design/report/ExcelExportPane.java

@ -113,11 +113,11 @@ public class ExcelExportPane extends BasicPane {
});
//内容保护
JPanel contextProtectPane = column(LayoutConstants.VERTICAL_GAP,
cell(fileProtect),
row(cell(fileProtect)),
cell(passwordWritePane),
cell(writeProtect),
row(cell(writeProtect)),
cell(writeProtectPane),
cell(exportWaterMark),
row(cell(exportWaterMark)),
row(cell(uiLabel), cell(actionLabel))
).getComponent();

3
designer-realize/src/main/java/com/fr/design/report/ExportUniversalPane.java

@ -13,6 +13,7 @@ import com.fr.transaction.WorkerFacade;
import java.awt.BorderLayout;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
/**
* 通用
@ -45,7 +46,7 @@ public class ExportUniversalPane extends BasicPane {
this.add(
FineUIUtils.wrapComponentWithTitle((column(10,
cell(passwordSupportFormula)
row(cell(passwordSupportFormula))
).getComponent()),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Universal_Export_Config")));
}

7
designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java

@ -12,8 +12,6 @@ import com.fr.design.gui.ilable.FRExplainLabel;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.locale.impl.LineEngineMark;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.widget.FRWidgetFactory;
@ -26,7 +24,6 @@ import com.fr.report.worksheet.WorkSheet;
import com.fanruan.product.ProductConstants;
import javax.swing.AbstractButton;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
@ -34,7 +31,6 @@ import javax.swing.JPanel;
import javax.swing.JRadioButton;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
@ -53,7 +49,6 @@ import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.box;
import static com.fine.swing.ui.layout.Layouts.fix;
import static com.fine.theme.utils.FineUIUtils.wrapComponentWithTitle;
import static com.fine.theme.utils.FineUIScale.scale;
/**
* @author fly.li
@ -113,7 +108,7 @@ public class ReportEnginePane extends BasicBeanPane<LayerReportAttr> {
clientPaging = new UICheckBox(Toolkit.i18nText("Fine-Design_Report_Enable_Client_Page"));
clientPaging.setSelected(false);
clientPaging.addActionListener(new SelectActionListener(clientPaging, outPagingEngineSelectPane));
reportEnginePane.add(clientPaging);
reportEnginePane.add(row(cell(clientPaging)).getComponent());
return reportEnginePane;
}

9
designer-realize/src/main/java/com/fr/design/report/WordExportPane.java

@ -60,7 +60,10 @@ public class WordExportPane extends BasicPane {
wordLineLabel.setForeground(FlatUIUtils.getUIColor("Label.tipColor", Color.gray));
JPanel exportSettingPane = new JPanel(new BorderLayout());
exportSettingPane.add(column(LayoutConstants.VERTICAL_GAP, cell(isExportAsTable), cell(wordLineLabel)).getComponent());
exportSettingPane.add(column(LayoutConstants.VERTICAL_GAP,
row(cell(isExportAsTable)),
cell(wordLineLabel)
).getComponent());
// 编辑保护
writeProtect = new UICheckBox(Toolkit.i18nText("Fine-Design_Report_Export_Write_Protect"), false);
// 编辑保护勾选后展示的内容
@ -102,9 +105,9 @@ public class WordExportPane extends BasicPane {
});
//内容保护
JPanel contextProtectPane = column(10,
cell(writeProtect),
row(cell(writeProtect)),
cell(writeProtectPane),
cell(exportWaterMark),
row(cell(exportWaterMark)),
row(cell(uiLabel), cell(actionLabel))
).getComponent();
JPanel centerPanel = column(LayoutConstants.VERTICAL_GAP,

3
designer-realize/src/main/java/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java

@ -14,6 +14,7 @@ import java.awt.BorderLayout;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.theme.utils.FineUIUtils.wrapComponentWithTitle;
/**
@ -40,7 +41,7 @@ public class ReportMobileTemplateSettingsPane extends BasicBeanPane<ElementCaseM
JPanel panel = new JPanel(new BorderLayout());
mobileCanvasSizeCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Set_Mobile_Canvas_Size"));
panel.add(column(LayoutConstants.VGAP_SMALL,
cell(mobileCanvasSizeCheck),
row(cell(mobileCanvasSizeCheck)),
column(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Mobile_Screen_Match_Desc"), FineUIStyle.LABEL_TIP)),
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Mobile_Screen_Zoom_In_Desc"), FineUIStyle.LABEL_TIP)),

3
designer-realize/src/main/java/com/fr/design/sort/header/HeaderSettingPane.java

@ -1,6 +1,7 @@
package com.fr.design.sort.header;
import com.fine.swing.ui.layout.Column;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
@ -45,7 +46,7 @@ public class HeaderSettingPane extends JPanel {
Column corePane = new Column();
corePane.setSpacing(10);
corePane.add(
row(cell(uiLabel).weight(1.2),cell(uiCheckBox).weight(3.0)),
row(cell(uiLabel).weight(LayoutConstants.LEFT_WEIGHT), row(cell(uiCheckBox)).weight(LayoutConstants.RIGHT_WEIGHT)),
row(cell(headerSortRulePane).weight(1))
);
this.add(corePane, BorderLayout.CENTER);

6
designer-realize/src/main/java/com/fr/design/sort/header/HeaderSortRulePane.java

@ -55,9 +55,9 @@ public class HeaderSortRulePane extends JPanel {
nosortUICheckBox = new UICheckBox(SortRule.NO_SORT.getDescription());
nosortIconButton = new IconButton(SortRule.NO_SORT);
this.add(Layouts.column(LayoutConstants.VERTICAL_GAP,
row(cell(label).weight(1.5), cell(ascUICheckBox).weight(2), flex(), cell(ascIconButton)),
row(flex(1.5), cell(desUICheckBox).weight(2), flex(), cell(desIconButton)),
row(flex(1.5), cell(nosortUICheckBox).weight(2), flex(), cell(nosortIconButton))
row(cell(label).weight(LayoutConstants.LEFT_WEIGHT), row(cell(ascUICheckBox), flex(),cell(ascIconButton)).weight(LayoutConstants.RIGHT_WEIGHT)),
row(flex(LayoutConstants.LEFT_WEIGHT), row(cell(desUICheckBox), flex(), cell(desIconButton)).weight(LayoutConstants.RIGHT_WEIGHT)),
row(flex(LayoutConstants.LEFT_WEIGHT), row(cell(nosortUICheckBox), flex(), cell(nosortIconButton)).weight(LayoutConstants.RIGHT_WEIGHT))
).getComponent());
initUICheckBoxChange(ascUICheckBox, ascIconButton);

2
designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java

@ -74,7 +74,7 @@ public class NoClientPrintSettingPane extends JPanel {
FineUIStyle.setStyle(needlePrinterOptimizeTip, FineUIStyle.LABEL_TIP);
return column(LayoutConstants.VERTICAL_GAP,
row(LayoutConstants.HORIZONTAL_GAP, cell(setMarginWhenPrintCheck), cell(setMarginWhenPrintTip)),
cell(ieQuietPrintCheck),
row(cell(ieQuietPrintCheck)),
row(LayoutConstants.HORIZONTAL_GAP, cell(needlePrinterOptimizeCheck), cell(needlePrinterOptimizeTip))
).getComponent();
}

4
designer-realize/src/main/java/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java

@ -38,8 +38,8 @@ public class BasicWidgetPropertySettingPane extends BasicPane {
cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Widget_Name"))).weight(LEFT_WEIGHT),
cell(widgetNameComboBox).weight(RIGHT_WEIGHT)
),
cell(enableCheckBox),
cell(visibleCheckBox)
row(cell(enableCheckBox)),
row(cell(visibleCheckBox))
).getComponent());
}

3
designer-realize/src/main/java/com/fr/design/widget/ui/CheckBoxGroupDefinePane.java

@ -10,6 +10,7 @@ import com.fr.form.ui.CheckBoxGroup;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row;
public class CheckBoxGroupDefinePane extends FieldEditorDefinePane<CheckBoxGroup> {
@ -43,7 +44,7 @@ public class CheckBoxGroupDefinePane extends FieldEditorDefinePane<CheckBoxGroup
return column(LayoutConstants.VERTICAL_GAP,
cell(buttonGroupDictPane),
cell(checkbox),
row(cell(checkbox)),
cell(returnTypePane),
cell(extraPane)
).getComponent();

2
designer-realize/src/main/java/com/fr/design/widget/ui/ComboCheckBoxDefinePane.java

@ -33,7 +33,7 @@ public class ComboCheckBoxDefinePane extends CustomWritableRepeatEditorPane<Comb
returnTypePane = new ReturnTypePane();
supportTagCheckBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Support_Tag"), true);
return column(LayoutConstants.VERTICAL_GAP,
cell(supportTagCheckBox),
row(cell(supportTagCheckBox)),
row(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_DS_Dictionary"))).weight(LEFT_WEIGHT),
cell(dictPane).weight(RIGHT_WEIGHT)

5
designer-realize/src/main/java/com/fr/design/widget/ui/CustomWritableRepeatEditorPane.java

@ -5,6 +5,9 @@ import com.fr.form.ui.CustomWriteAbleRepeatEditor;
import javax.swing.JPanel;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.cell;
/**
* Author : Shockway
* Date: 13-9-18
@ -27,7 +30,7 @@ public abstract class CustomWritableRepeatEditorPane<T extends CustomWriteAbleRe
public JPanel setValidatePane(){
JPanel otherContentPane = super.setValidatePane();
otherContentPane.add(customDataCheckBox);
otherContentPane.add(row(cell(customDataCheckBox)).getComponent());
return otherContentPane;
}

5
designer-realize/src/main/java/com/fr/design/widget/ui/DirectWriteEditorDefinePane.java

@ -8,8 +8,9 @@ import com.fr.form.ui.DirectWriteEditor;
import javax.swing.JPanel;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.cell;
//richer:需要提供能否直接编辑的控件设置面板——下拉框、复选框、时间、日期、下拉树
@ -40,7 +41,7 @@ public abstract class DirectWriteEditorDefinePane<T extends DirectWriteEditor> e
public JPanel setValidatePane(){
JPanel otherContentPane = column(LayoutConstants.VERTICAL_GAP).getComponent();
otherContentPane.add(directWriteCheckBox);
otherContentPane.add(row(cell(directWriteCheckBox)).getComponent());
return otherContentPane;
}

2
designer-realize/src/main/java/com/fr/design/widget/ui/FieldEditorDefinePane.java

@ -167,7 +167,7 @@ public abstract class FieldEditorDefinePane<T extends FieldEditor> extends Abstr
errorTipPane.setVisible(!selected);
});
validatePane.add(column(LayoutConstants.VERTICAL_GAP,
cell(allowBlankCheckBox),
row(cell(allowBlankCheckBox)),
cell(errorTipPane)
).getComponent());

4
designer-realize/src/main/java/com/fr/design/widget/ui/IframeEditorDefinePane.java

@ -56,8 +56,8 @@ public class IframeEditorDefinePane extends AbstractDataModify<IframeEditor> {
srcTextField = new UITextField();
JPanel contentPane = column(LayoutConstants.VERTICAL_GAP,
cell(horizontalCheck),
cell(verticalCheck),
row(cell(horizontalCheck)),
row(cell(verticalCheck)),
row(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Form_Url"))).weight(LEFT_WEIGHT),
cell(srcTextField).weight(RIGHT_WEIGHT)

2
designer-realize/src/main/java/com/fr/design/widget/ui/MultiFileEditorPane.java

@ -48,7 +48,7 @@ public class MultiFileEditorPane extends FieldEditorDefinePane<MultiFileEditor>
fileSizePane.add(new UILabel(" KB"), BorderLayout.EAST);
center.add(column(LayoutConstants.VERTICAL_GAP,
cell(singleFileCheckBox),
row(cell(singleFileCheckBox)),
row(
cell(fileTypeLabel).weight(LEFT_WEIGHT), cell(acceptType).weight(RIGHT_WEIGHT)
),

2
designer-realize/src/main/java/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java

@ -32,7 +32,7 @@ public abstract class WriteUnableRepeatEditorPane<E extends WriteUnableRepeatEdi
row(
cell(dicPane[0]).weight(LEFT_WEIGHT), cell(dicPane[1]).weight(RIGHT_WEIGHT)
),
cell(removeRepeatCheckBox)
row(cell(removeRepeatCheckBox))
).getComponent());
JPanel otherContentPane = this.setThirdContentPane();

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

@ -46,9 +46,7 @@ public class SplashWindow extends JFrame {
this.setAlwaysOnTop(false);
this.setUndecorated(true);
//使窗体背景透明
if (OperatingSystem.isWindows()) {
this.setBackground(new Color(0, 0, 0, 0));
}
GUICoreUtils.centerWindow(this);
}

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 253 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 914 KiB

After

Width:  |  Height:  |  Size: 870 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 914 KiB

After

Width:  |  Height:  |  Size: 870 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 913 KiB

After

Width:  |  Height:  |  Size: 870 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 913 KiB

After

Width:  |  Height:  |  Size: 870 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 253 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 252 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 252 KiB

Loading…
Cancel
Save