Browse Source

Merge remote-tracking branch 'origin/fbp/release' into fbp/release

fbp/release
Richard.Fang 2 months ago
parent
commit
576d15ed51
  1. 3
      designer-base/src/main/java/com/fine/theme/light/ui/FineHeaderPaneUI.java
  2. 2
      designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java
  3. 17
      designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.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. 1
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java
  9. 9
      designer-base/src/main/java/com/fr/design/i18n/DesignI18nImpl.java
  10. 2
      designer-base/src/main/java/com/fr/design/mainframe/DesignerUIModeConfig.java
  11. 2
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  12. 4
      designer-base/src/main/resources/com/fine/theme/icon/font/background_disable.svg
  13. 4
      designer-base/src/main/resources/com/fine/theme/icon/font/foreground_disable.svg
  14. 12
      designer-chart/src/main/java/com/fr/design/chartx/data/DataLayoutHelper.java
  15. 2
      designer-chart/src/main/java/com/fr/design/chartx/single/CellDataPane.java
  16. 1
      designer-chart/src/main/java/com/fr/design/chartx/single/DataSetPane.java
  17. 1
      designer-chart/src/main/java/com/fr/design/chartx/single/SingleDataPane.java
  18. 2
      designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java
  19. 4
      designer-realize/src/main/java/com/fanruan/boot/pre/DesignPreStartComponent.java
  20. 2
      designer-realize/src/main/java/com/fr/start/common/SplashWindow.java
  21. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash.png
  22. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x.png
  23. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_en.png
  24. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh.png
  25. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh_TW.png
  26. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_en.png
  27. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh.png
  28. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh_TW.png

3
designer-base/src/main/java/com/fine/theme/light/ui/FineHeaderPaneUI.java

@ -18,6 +18,7 @@ import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
/**
@ -100,6 +101,8 @@ public class FineHeaderPaneUI extends PanelUI implements AnimatedPainter {
+ FineUIScale.scale(UIManager.getInt("ExpandablePane.HeaderPane.hGap"));
float titleY = (headerPane.getHeight() - (ascent + descent)) / 2.0f + ascent;
FlatUIUtils.setRenderingHints(g2d);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
g2d.drawString(headerPane.getTitle(), titleX, titleY);
g2d.dispose();
}

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");

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();
}
}
}

1
designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java

@ -101,6 +101,7 @@ public class UIHeadGroup extends Row {
b.setEnabled(h.isEnable());
b.putClientProperty(BUTTON_TYPE, BUTTON_TYPE_TAB);
b.addActionListener(e -> setSelectedIndex((int) index));
b.setFocusPainted(false);
})
).toArray(Layouts.Cell[]::new);

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/DesignerUIModeConfig.java

@ -20,7 +20,7 @@ public class DesignerUIModeConfig {
}
private void init() {
uiDevMode = Boolean.parseBoolean(System.getProperty("uiDevMode", "false"));
uiDevMode = Boolean.parseBoolean(System.getProperty("devMode", "false"));
}
public static DesignerUIModeConfig getInstance() {

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";

4
designer-base/src/main/resources/com/fine/theme/icon/font/background_disable.svg

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect opacity="0.4" x="3" y="27" width="26" height="4" rx="2" fill="#2576EF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.9011 3.42119L12.8134 2.33351C12.3838 1.90393 12.3838 1.20745 12.8134 0.777871C13.243 0.348295 13.9394 0.348294 14.369 0.777871L27.404 13.8129C27.7617 14.1706 27.7439 14.7558 27.3651 15.0911L15.6913 25.4233C15.137 25.9138 14.2968 25.8882 13.7734 25.3648L3.85536 15.4468C3.30863 14.9 3.30863 14.0136 3.85536 13.4669L13.9011 3.42119ZM15.4567 4.97682L5.97668 14.4568L8.51991 17.0001H21.8767L24.842 14.3622L15.4567 4.97682ZM26.5004 19.0001L24.7324 20.7575C24.3827 21.105 24.1445 21.5478 24.048 22.0299C23.9515 22.512 24.0009 23.0117 24.1901 23.4658C24.3793 23.9199 24.6997 24.3081 25.1109 24.5812C25.522 24.8543 26.0054 25.0001 26.4999 25.0001C26.9944 25.0001 27.4778 24.8543 27.8889 24.5812C28.3 24.3081 28.6205 23.9199 28.8097 23.4658C28.9989 23.0117 29.0483 22.512 28.9518 22.0299C28.8553 21.5478 28.6171 21.105 28.2674 20.7575L26.5004 19.0001Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

4
designer-base/src/main/resources/com/fine/theme/icon/font/foreground_disable.svg

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.7018 24.8844C5.84704 24.9522 6.00435 24.991 6.16474 24.9986C6.32512 25.0062 6.48545 24.9824 6.63654 24.9286C6.78764 24.8748 6.92655 24.792 7.04533 24.685C7.16411 24.578 7.26044 24.4488 7.32881 24.3049L9.87397 18.9472H22.1262L24.6713 24.3049C24.7397 24.4488 24.8361 24.5779 24.9549 24.6849C25.0737 24.7918 25.2126 24.8746 25.3637 24.9284C25.5147 24.9822 25.675 25.006 25.8354 24.9985C25.9958 24.9909 26.1531 24.9522 26.2983 24.8844C26.4436 24.8167 26.5739 24.7213 26.682 24.6036C26.79 24.486 26.8735 24.3484 26.9279 24.1988C26.9822 24.0491 27.0062 23.8904 26.9986 23.7315C26.991 23.5727 26.9519 23.4169 26.8835 23.273L17.1061 2.69551C17.0074 2.48756 16.851 2.31173 16.6551 2.18856C16.4593 2.0654 16.2321 2 16.0001 2C15.7681 2 15.5409 2.0654 15.345 2.18856C15.1491 2.31173 14.9927 2.48756 14.894 2.69551L5.11669 23.273C5.04822 23.4169 5.00904 23.5727 5.00139 23.7315C4.99374 23.8904 5.01777 24.0492 5.07211 24.1988C5.12645 24.3485 5.21003 24.486 5.31807 24.6037C5.42612 24.7213 5.55651 24.8167 5.7018 24.8844ZM16.0001 6.05448L20.9758 16.5263H11.0243L16.0001 6.05448Z" fill="#0A1C38" fill-opacity="0.29"/>
<rect opacity="0.4" x="4" y="27" width="24" height="4" rx="2" fill="#2576EF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

12
designer-chart/src/main/java/com/fr/design/chartx/data/DataLayoutHelper.java

@ -1,15 +1,13 @@
package com.fr.design.chartx.data;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import java.awt.Component;
import java.util.Arrays;
/**
* @author shine
@ -46,13 +44,7 @@ public class DataLayoutHelper {
}
public static JPanel createDataLayoutPane(Component[][] components) {
int len = components.length;
double p = TableLayout.PREFERRED;
double[] columnSize = {DataLayoutHelper.LABEL_WIDTH, DataLayoutHelper.WIDTH};
double[] rowSize = new double[len];
Arrays.fill(rowSize, p);
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[] {1.2, 3});
}
public static JPanel createDataLayoutPane(String label, Component component) {

2
designer-chart/src/main/java/com/fr/design/chartx/single/CellDataPane.java

@ -2,7 +2,6 @@ package com.fr.design.chartx.single;
import com.fr.chartx.data.CellDataDefinition;
import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.chartx.data.DataLayoutHelper;
import com.fr.design.chartx.fields.AbstractCellDataFieldsPane;
import com.fr.design.i18n.Toolkit;
@ -24,7 +23,6 @@ public class CellDataPane extends FurtherBasicBeanPane<CellDataDefinition> {
this.setLayout(new BorderLayout());
this.add(cellDataFieldsPane, BorderLayout.CENTER);
DataLayoutHelper.addNormalBorder(this);
}
@Override

1
designer-chart/src/main/java/com/fr/design/chartx/single/DataSetPane.java

@ -48,7 +48,6 @@ public class DataSetPane extends FurtherBasicBeanPane<DataSetDefinition> {
this.setLayout(new BorderLayout(0, 6));
this.add(northPane, BorderLayout.NORTH);
this.add(dataSetFieldsPane, BorderLayout.CENTER);
DataLayoutHelper.addNormalBorder(this);
checkBoxUse();
}

1
designer-chart/src/main/java/com/fr/design/chartx/single/SingleDataPane.java

@ -46,7 +46,6 @@ public class SingleDataPane extends BasicBeanPane<AbstractDataDefinition> {
protected void initLayout() {
this.setLayout(new BorderLayout(0, 6));
JPanel northPane = DataLayoutHelper.createDataLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Data_Source"), jcb);
DataLayoutHelper.addNormalBorder(northPane);
this.add(northPane, BorderLayout.NORTH);
this.add(cardPane, BorderLayout.CENTER);

2
designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java

@ -79,7 +79,7 @@ public class VanChartColumnSeriesPane extends VanChartAbstractPlotSeriesPane {
isFixedWidth.addActionListener(e -> checkColumnWidth());
isFillWithImage.addActionListener(e -> checkImagePane());
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Filled_With_Image"), borderPane, true);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), borderPane, true);
}
private void checkAll() {

4
designer-realize/src/main/java/com/fanruan/boot/pre/DesignPreStartComponent.java

@ -5,6 +5,7 @@ import com.fanruan.fs.FileServer;
import com.fanruan.fs.RepositoryFactory;
import com.fanruan.fs.repository.local.LocalFileRepository;
import com.fanruan.product.ProductConstants;
import com.fr.decision.inject.node.impl.DecisionSystemInjectNode;
import com.fr.design.ConfigHelper;
import com.fanruan.boot.key.StartupArgsShell;
import com.fanruan.carina.Carina;
@ -223,7 +224,8 @@ public class DesignPreStartComponent {
ConfigProviderFactory.getInstance().registerProvider(ConfigRealm.SHARE, new ShareConfigProviderImpl());
ConfigProviderFactory.getInstance().registerProvider(ConfigRealm.PUBLIC, new PublicConfigProviderImpl());
ConfigRepositoryFactory.getInstance().registerConfigRepositoryBuilder(new LocalConfigRepositoryBuilder(ConfigHelper.getBaseProperties(), ConfigHelper.BASE_PATH));
// 标识默认使用内置库
DecisionSystemInjectNode.KEY.registerSystemInjectInfo("startFromDesign", decisionInjectExtraInfoBuilder -> () -> true);
}

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