From f9b348b851507ba70c714ecff4b40137d726cf76 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 12 Sep 2024 12:11:30 +0800 Subject: [PATCH 01/20] =?UTF-8?q?REPORT-134498=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=A1=B5=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E8=BE=B9=E6=A1=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fine/theme/utils/FineUIUtils.java | 47 ++++++- .../com/fr/design/DesignerEnvManager.java | 117 ++++++++++-------- .../startup/ui/StartupPageWorkspacePanel.java | 20 ++- .../components/ButtonStoryBoard.java | 8 +- .../java/com/fr/start/CarinaDesigner.java | 3 +- 5 files changed, 120 insertions(+), 75 deletions(-) diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java index c749bf5f3c..fdf9b4cbe2 100644 --- a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java +++ b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java @@ -44,6 +44,9 @@ import static com.formdev.flatlaf.util.UIScale.scale; */ public class FineUIUtils { + public static final String LEFT = "LEFT"; + public static final String RIGHT = "RIGHT"; + public static final int RETINA_SCALE_FACTOR = 2; /** @@ -212,17 +215,48 @@ public class FineUIUtils { */ public static void paintPartRoundButtonBorder(Component c, Graphics2D g2, int x, int y, int width, int height, float borderWidth, float arc) { + if (isLeftRoundButton(c)) { + paintPartRoundButtonBorder(g2, x, y, width, height, borderWidth, arc, LEFT, false); + } else { + paintPartRoundButtonBorder(g2, x, y, width, height, borderWidth, arc, RIGHT, false); + } + } + + /** + * 绘制部分圆角矩形边框 + * + * @param g2 Graphics2D + * @param x x坐标 + * @param y y坐标 + * @param width 宽度 + * @param height 高度 + * @param borderWidth 边框宽度 + * @param arc 圆角 + * @param roundPart 圆角的方位,当前只能设置一侧 + * @param closedPath 是否封闭,非圆角那一侧是否有边框,是为有边框 + */ + public static void paintPartRoundButtonBorder(Graphics2D g2, int x, int y, int width, int height, + float borderWidth, float arc, String roundPart, boolean closedPath) { FlatUIUtils.setRenderingHints(g2); arc = scale(arc); float t = scale(borderWidth); float t2x = t * 2; Path2D path2D = new Path2D.Float(Path2D.WIND_EVEN_ODD); - if (isLeftRoundButton(c)) { - path2D.append(createLeftRoundRectangle(x, y, width, height, arc), false); - path2D.append(createLeftRoundRectangle(x + t, y + t, width - t, height - t2x, arc - t), false); - } else { - path2D.append(createRightRoundRectangle(x, y, width, height, arc), false); - path2D.append(createRightRoundRectangle(x, y + t, width - t, height - t2x, arc - t), false); + switch (roundPart) { + + case LEFT: { + path2D.append(createLeftRoundRectangle(x, y, width, height, arc), false); + path2D.append(createLeftRoundRectangle(x + t, y + t, + width - (closedPath ? t2x : t), height - t2x, arc - t), false); + break; + } + case RIGHT: + default: { + path2D.append(createRightRoundRectangle(x, y, width, height, arc), false); + path2D.append(createRightRoundRectangle(x + (closedPath ? t : 0), y + t, + width - (closedPath ? t2x : t), height - t2x, arc - t), false); + break; + } } g2.fill(path2D); } @@ -452,6 +486,7 @@ public class FineUIUtils { /** * 创建一个支持自动换行的提示文本 + * * @param text 显示的文本内容 * @return 自动换行提示文本 */ diff --git a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java index 387c01bb9b..89b0b9fac0 100644 --- a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java +++ b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java @@ -104,12 +104,12 @@ import java.util.concurrent.atomic.AtomicBoolean; * The manager of Designer GUI. * 下面的作者日期都是随手写的,具体作者已经无法考究。 * - * @author anonymous - * @version 11.0 + * @author anonymous + * @version 11.0 * created by anonymous on 2002/11/08 */ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReadable { - + private static final int MAX_SHOW_NUM = 10; private static final String VERSION_80 = "80"; private static final String VERSION_90 = "90"; @@ -122,26 +122,26 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada * 指定默认工作空间 */ public static final String DEFAULT_WORKSPACE_PATH = "fr.designer.workspace.default"; - + public static final String LAST_EAST_REGION_LAYOUT = "LastEastRegionLayout"; public static final String LAST_WEST_REGION_LAYOUT = "LastWestRegionLayout"; - + private static DesignerEnvManager designerEnvManager; // gui. private String activationKey = null; private String logLocation = null; private Rectangle windowBounds = null; // window bounds. private String DialogCurrentDirectory = null; private String CurrentDirectoryPrefix = null; - + private Map> recentOpenedFileListMap = new HashMap<>(); private List tempRecentOpenedFilePathList = new ArrayList(); private XmlElement>> recentOpenedMapping = SimpleXmlElement.of(recentOpenedFileListMap); - + private boolean showPaintToolBar = true; private int maxNumberOrPreviewRow = 200; - + private XmlElement envConfig = SimpleXmlElement.of(new EnvConfiguration()); - + private boolean showProjectPane = true; private boolean showDataPane = true; //p:这是当前选择的数据库连接的名字,这个在新建数据源的时候用到. @@ -195,12 +195,12 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada private boolean embedServerLazyStartup = false; //最近使用的颜色 private ColorSelectConfigManager configManager = new ColorSelectConfigManager(); - + /** * 环境检测配置 */ private EnvDetectorConfig envDetectorConfig = EnvDetectorConfig.getInstance(); - + /** * alphafine */ @@ -214,11 +214,11 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada private DesignerPushUpdateConfigManager designerPushUpdateConfigManager = DesignerPushUpdateConfigManager.getInstance(); private VcsConfigManager vcsConfigManager = VcsConfigManager.getInstance(); - + private DesignerStartupConfig designerStartupConfig = DesignerStartupConfig.getInstance(); private SwitchForSwingChecker switchForSwingChecker = SwitchForSwingChecker.getInstance(); - + public static final String CAS_CERTIFICATE_PATH = "certificatePath"; public static final String CAS_CERTIFICATE_PASSWORD = "certificatePass"; @@ -267,7 +267,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada designerEnvManager = new DesignerEnvManager(); //REPORT-15332有一个国际化调用比较早,需要在这边就设置好locale,由于后台GeneralContext默认是China GeneralContext.setLocale(designerEnvManager.getLanguage()); - + if (!asyncInitEnvManager()) { // 如果异步读取失败, 则恢复原来的逻辑 compatibleInitEnvManager(); @@ -287,9 +287,9 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada return designerEnvManager; } - + private static void compatibleInitEnvManager() { - + try { XMLTools.readFileXML(designerEnvManager, designerEnvManager.getDesignerEnvFile()); } catch (FileNotFoundException e) { @@ -299,7 +299,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada FineLoggerFactory.getLogger().error(e.getMessage(), e); } } - + /** * 异步初始化环境管理, 提供配置, 帮助处理预期外的问题 * 1-当优化开启时,才走异步逻辑 @@ -308,7 +308,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada * @return 是/否 */ private static boolean asyncInitEnvManager() { - + AtomicBoolean noEx = new AtomicBoolean(false); OptimizeUtil.initiateOpen(DesignerEnvManager.class.getSimpleName().toLowerCase(), () -> { try { @@ -326,7 +326,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada } public static void checkNameEnvMap() { - + if (designerEnvManager == null || designerEnvManager.getNameEnvMap().size() > 0) { return; } @@ -1060,11 +1060,11 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada public void setLanguage(Locale locale) { this.language = locale; } - + public boolean isStartupPageEnabled() { return this.designerStartupConfig.isEnabled(); } - + public void setStartupPageEnabled(boolean enabled) { this.designerStartupConfig.setEnabled(enabled); } @@ -1191,9 +1191,9 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada public void setCurrentDirectoryPrefix(String prefix) { this.CurrentDirectoryPrefix = prefix; } - + public List getRecentOpenedFilePathList4Env(String envName) { - + if (StringUtils.isEmpty(envName)) { return tempRecentOpenedFilePathList; } else { @@ -1201,7 +1201,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada recentOpenedMapping.getValue().put(envName, tempRecentOpenedFilePathList); } } - + return recentOpenedMapping.getValue().get(envName); } @@ -1209,7 +1209,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada * 返回最近打开的文件路径列表 */ public List getRecentOpenedFilePathList() { - + return this.getRecentOpenedFilePathList4Env(getCurEnvName()); } @@ -1713,7 +1713,16 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada } } } - Carina.config(LanguageConfigProvider.class).setLocale(CommonUtils.localeToString(designerEnvManager.getLanguage())); + setLocale(); + } + + private static void setLocale() { + try { + Carina.config(LanguageConfigProvider.class) + .setLocale(CommonUtils.localeToString(designerEnvManager.getLanguage())); + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } } @@ -1853,10 +1862,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada public void setLayoutTemplateStyle(int layoutTemplateStyle) { this.layoutTemplateStyle = layoutTemplateStyle; } - + @Override public void initElements(File xmlFile) throws XmlException { - + try { backupOldXmlFile(); XmlInitialFactory xmlInitialFactory = XmlInitialFactory.create(xmlFile); @@ -1876,7 +1885,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada }); }) .init("EnvConfigMap", (e) -> { - + final EnvConfiguration previousConfig = this.envConfig.getValue(); this.envConfig = AsyncXmlElement.of(DesignerStartupPool.common(), () -> { DesignerEnvManager.this.readEnvConfigMap(e, previousConfig); @@ -1928,13 +1937,13 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada throw new XmlException(e); } } - + /** * 备份老的 xml 文件, 防止第一次修改存在问题 * 但是,只备份一次。其他都走老逻辑 */ private void backupOldXmlFile() { - + try { File oldFile = getEnvFile(); String newFilePath = ProductConstants.getEnvHome() + File.separator + ProductConstants.APP_NAME + "Env_backup.xml"; @@ -1948,7 +1957,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada } catch (Exception ignored) { } } - + /** * Read XML.
* The method will be invoked when read data from XML file.
@@ -2040,16 +2049,16 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada } private void readAlphaFineAttr(XMLableReader reader) { - + AlphaFineConfigManager config = AlphaFineConfigManager.getInstance(); reader.readXMLObject(config); this.alphaFineConfigManager = SimpleXmlElement.of(config); } - + private void readEnvDetectorConfig(XMLableReader reader) { reader.readXMLObject(this.envDetectorConfig); } - + private void readStartupConfig(XMLableReader reader) { reader.readXMLObject(this.designerStartupConfig); } @@ -2165,9 +2174,9 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada this.setPaginationLineColor(new Color(Integer.parseInt(tmpVal))); } } - + private void readEnvConfigMap(XMLableReader reader, EnvConfiguration envConfigs) { - + String currentEnv = reader.getAttrAsString("currentEnv", StringUtils.EMPTY); envConfigs.setCurEnvName(currentEnv); reader.readXMLObject(new XMLReadable() { @@ -2232,15 +2241,15 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada } }); } - + private void readRecentOpenFileList(XMLableReader reader) { - + readRecentOpenFileList0(reader); checkRecentOpenedFileNum(); } private void readRecentOpenFileList0(XMLableReader reader) { - + reader.readXMLObject(new XMLReadable() { @Override public void readXML(XMLableReader reader) { @@ -2358,13 +2367,13 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada writer.end(); } } - + private void writeEnvDetectorConfig(XMLPrintWriter writer) { if (this.envDetectorConfig != null) { this.envDetectorConfig.writeXML(writer); } } - + private void writeStartupConfig(XMLPrintWriter writer) { if (this.designerStartupConfig != null) { this.designerStartupConfig.writeXML(writer); @@ -2630,7 +2639,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada } private void readFvsDesignerConfig(XMLableReader reader) { - + SimpleDesignerConfig config = fvsDesignerConfig.getValue(); reader.readXMLObject(config); fvsDesignerConfig = SimpleXmlElement.of(config); @@ -2672,39 +2681,39 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada public SnapChatConfig getSnapChatConfig() { return snapChatConfig; } - + private EnvConfiguration getEnvConfig() { - + return envConfig.getValue(); } - + private Map getNameEnvMap() { - + return getEnvConfig().getNameEnvMap(); } - + private static class EnvConfiguration { - + // name和Env的键值对 private Map nameEnvMap = new ListMap<>(); // marks: 当前报表服务器名字 private String curEnvName = null; - + public Map getNameEnvMap() { return nameEnvMap; } - + public void setNameEnvMap(Map nameEnvMap) { this.nameEnvMap = nameEnvMap; } - + public String getCurEnvName() { return curEnvName; } - + public void setCurEnvName(String curEnvName) { this.curEnvName = curEnvName; } } - + } diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java index 741e7dc5b5..35cf86ab94 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java @@ -23,7 +23,6 @@ import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JViewport; import javax.swing.ScrollPaneConstants; -import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; @@ -311,11 +310,10 @@ public class StartupPageWorkspacePanel extends JPanel { if (borderColor != null) { g2d.setColor(borderColor); - g2d.setStroke(new BasicStroke(BORDER_THIN)); - FlatUIUtils.setRenderingHints(g2d); - Path2D path2D = FineUIUtils.createLeftRoundRectangle(0, 0, - getWidth() - BORDER_THIN, getHeight() - BORDER_THIN, ARC_DIAMETER); - g2d.draw(path2D); + FineUIUtils.paintPartRoundButtonBorder(g2d, 0, 0, + this.getWidth(), this.getHeight(), + BORDER_THIN, ARC_DIAMETER, + FineUIUtils.LEFT, true); } } }; @@ -437,11 +435,11 @@ public class StartupPageWorkspacePanel extends JPanel { Color borderColor = borderColorRef.get(); if (borderColor != null) { g2d.setColor(borderColor); - g2d.setStroke(new BasicStroke(BORDER_THIN)); - FlatUIUtils.setRenderingHints(g2d); - Path2D path2D = FineUIUtils.createRightRoundRectangle(0, 0, - getWidth() - BORDER_THIN, getHeight() - BORDER_THIN, ARC_DIAMETER); - g2d.draw(path2D); + FineUIUtils.paintPartRoundButtonBorder(g2d, 0, 0, + this.getWidth(), this.getHeight(), + BORDER_THIN, ARC_DIAMETER, + FineUIUtils.RIGHT, true + ); } } diff --git a/designer-base/src/test/java/com/fr/design/gui/storybook/components/ButtonStoryBoard.java b/designer-base/src/test/java/com/fr/design/gui/storybook/components/ButtonStoryBoard.java index 54181cf0d6..ed024099aa 100644 --- a/designer-base/src/test/java/com/fr/design/gui/storybook/components/ButtonStoryBoard.java +++ b/designer-base/src/test/java/com/fr/design/gui/storybook/components/ButtonStoryBoard.java @@ -3,9 +3,11 @@ package com.fr.design.gui.storybook.components; import com.fine.theme.icon.LazyIcon; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UICombinationButton; +import com.fr.design.gui.ibutton.UISaveForbiddenButton; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.storybook.Story; import com.fr.design.gui.storybook.StoryBoard; +import com.fr.design.i18n.Toolkit; import com.fr.design.style.color.UIToolbarColorButton; import javax.swing.JButton; @@ -177,7 +179,9 @@ public class ButtonStoryBoard extends StoryBoard { .with(it -> setStyle(it, STYLE_PRIMARY)), cell(new UICombinationButton("按钮2", new LazyIcon("triangle_down"))), cell(new JButton("按钮", new LazyIcon("add"))), - cell(new JButton(new LazyIcon("multi"))) + cell(new UICombinationButton( + new UISaveForbiddenButton(Toolkit.i18nText("Fine-Design_Basic_Preview"), new LazyIcon("run").white()), + new UISaveForbiddenButton(new LazyIcon("triangle_down").white()))).with(UICombinationButton::setPrimary) ), row(20, cell(new UIToolbarColorButton(new LazyIcon("foreground"))), @@ -189,7 +193,7 @@ public class ButtonStoryBoard extends StoryBoard { ); } - public JComponent toolbar(){ + public JComponent toolbar() { JToolBar bar = new JToolBar(); UIToolbarColorButton foreground = new UIToolbarColorButton(new LazyIcon("foreground")); bar.add(foreground); diff --git a/designer-realize/src/main/java/com/fr/start/CarinaDesigner.java b/designer-realize/src/main/java/com/fr/start/CarinaDesigner.java index 5c78d28631..5e44ed8425 100644 --- a/designer-realize/src/main/java/com/fr/start/CarinaDesigner.java +++ b/designer-realize/src/main/java/com/fr/start/CarinaDesigner.java @@ -41,6 +41,7 @@ public class CarinaDesigner extends MainDesigner{ * main */ public static void main(String[] args) { + installUIDevModeTools(); DesignerStartupContext.getRecorder().start(); PartitionManager manager = new PartitionManagerImpl(); StateHubContext.setReady(false); @@ -66,8 +67,6 @@ public class CarinaDesigner extends MainDesigner{ DesignerStartupContext.getRecorder().stop(); SwitchForSwingChecker.initThreadMonitoring(); DesignerLatencyMetric.getInstance().start(); - - installUIDevModeTools(); } /** From 47840aa8ca5ca371e6e264874a1215960c5d8981 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 12 Sep 2024 13:32:33 +0800 Subject: [PATCH 02/20] =?UTF-8?q?REPORT-134411=20DataOperatorProvider?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=80=82=E9=85=8DConnection=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=83=A8=E5=88=86=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/data/tabledata/tabledatapane/ProcedureDataPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java index 650291ba36..4c04c4e637 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ProcedureDataPane.java @@ -192,7 +192,7 @@ public class ProcedureDataPane extends AbstractTableDataPane imp if (StringUtils.isEmpty(name)) { return false; } - Connection connection = ConnectionInfoBeanHelper.createConnection(ConnectionRepository.getInstance().getByName(connectionTableProcedurePane.getSelectedDatabaseConnnectonName())); + Connection connection = ConnectionInfoBeanHelper.createConnection(ConnectionRepository.getInstance().getByName(name)); return connection != null && ArrayUtils.contains(DRIVERS, connection.getDriver()); } From facf34bfdd63a703ed4bd0d4f020ef4bdb1327ab Mon Sep 17 00:00:00 2001 From: renekton Date: Thu, 12 Sep 2024 15:08:34 +0800 Subject: [PATCH 03/20] =?UTF-8?q?=E5=8E=BB=E9=99=A4html=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/javascript/Commit2DBJavaScriptPane.java | 2 +- .../java/com/fr/design/write/submit/DBManipulationPane.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/javascript/Commit2DBJavaScriptPane.java b/designer-base/src/main/java/com/fr/design/javascript/Commit2DBJavaScriptPane.java index 35c40b8645..eb38df9a8b 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/Commit2DBJavaScriptPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/Commit2DBJavaScriptPane.java @@ -59,7 +59,7 @@ public class Commit2DBJavaScriptPane extends FurtherBasicBeanPane { JPanel conditionPane = this.createConditionPane(); JPanel btPane = new JPanel(FRGUIPaneFactory.createBorderLayout()); - btPane.add(column(5, + btPane.add(column(4, cell(FineUIUtils.wrapComponentWithTitle(conditionPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Submit_Condition"))), row(cell(eventPane), cell(new UILabel())) ).getComponent()); @@ -320,6 +320,7 @@ public class DBManipulationPane extends BasicBeanPane { jp.setVisible(setJpVisible()); String submitCondition = Toolkit.i18nText("Fine-Design_Basic_Set_Submit_Condition"); UIButton addSubmitConditionButton = new UIButton(submitCondition); + addSubmitConditionButton.setPreferredSize(createControlBtnPanePreferredSize()); addSubmitConditionButton.setToolTipText(submitCondition); addSubmitConditionButton.addActionListener(new ActionListener() { @Override From 0ebb8e0ed4cdbee2e3e8700ab2b64d0ea3c1945e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levy=2EXie-=E8=A7=A3=E5=AE=89=E6=A3=AE?= Date: Thu, 12 Sep 2024 17:06:13 +0800 Subject: [PATCH 04/20] =?UTF-8?q?REPORT-134491=20fix:=20NewUI=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E9=9D=A2=E6=9D=BF=E9=80=BB=E8=BE=91=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/DesktopCardPane.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java index 02fa561416..e62c55b592 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java @@ -148,6 +148,7 @@ public class DesktopCardPane extends BasicPane implements TargetModifiedListener public void showForbiddenStatus() { component.setVisible(false); + forbiddenPane.setVisible(true); layeredPane.moveToFront(forbiddenPane); forbidToolBar(); EastRegionContainerPane.getInstance().updateAllPropertyPane(); @@ -156,6 +157,7 @@ public class DesktopCardPane extends BasicPane implements TargetModifiedListener public void hideCover() { recoverToolBar(); transparentPane.stop(); + forbiddenPane.setVisible(false); layeredPane.moveToFront(component); EastRegionContainerPane.getInstance().updateAllPropertyPane(); JComponent downPane = WestRegionContainerPane.getInstance().getDownPane(); From c685577767628318e4e7d0ee6239425710637674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levy=2EXie-=E8=A7=A3=E5=AE=89=E6=A3=AE?= Date: Thu, 12 Sep 2024 17:06:53 +0800 Subject: [PATCH 05/20] =?UTF-8?q?REPORT-134365=20fix:=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=A0=91=E9=80=89=E4=B8=AD=E6=89=93=E5=BC=80?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/file/TemplateTreePane.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java index db63112647..d15c65f241 100644 --- a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java +++ b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java @@ -3,7 +3,6 @@ */ package com.fr.design.file; -import com.fr.base.FRContext; import com.fr.design.ExtraDesignClassManager; import com.fr.design.cache.DesignCacheManager; import com.fr.design.dialog.FineJOptionPane; @@ -35,7 +34,6 @@ import com.fr.stable.StableUtils; import com.fr.stable.project.ProjectConstants; import com.fr.workspace.WorkContext; -import com.fr.report.lock.LockInfoOperator; import java.util.UUID; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -112,7 +110,7 @@ public class TemplateTreePane extends JPanel implements FileOperations { @Override public void mousePressed(MouseEvent evt) { - if (reportletsTree.getPathForLocation(evt.getX(), evt.getY()) != null && evt.getClickCount() == 2) { + if (evt.getClickCount() == 2) { DesignCacheManager.processByCacheTableData(() -> openFile()); } } From cee52205d07ce6df611dd964d9de357adcff67b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levy=2EXie-=E8=A7=A3=E5=AE=89=E6=A3=AE?= Date: Thu, 12 Sep 2024 17:07:36 +0800 Subject: [PATCH 06/20] =?UTF-8?q?REPORT-134062=20fix:=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=B3=A8=E9=87=8A=E5=BC=B9=E7=AA=97windows?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java index 3b0022e2b4..db92ab3eef 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java @@ -80,7 +80,7 @@ public class EditFileVersionDialog extends UIDialog { new Component[]{fontPane, scrollPane} }; double[] rowSizes = new double[]{25, 100}; - double[] columnSizes = new double[]{70, 200}; + double[] columnSizes = new double[]{70, 180}; JPanel pane = TableLayoutHelper.createTableLayoutPane(components, rowSizes, columnSizes); From 802346c54cf2d5454c34a93f0bfe67df0b30df7c Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 12 Sep 2024 17:55:59 +0800 Subject: [PATCH 07/20] =?UTF-8?q?REPORT-130200=20=E3=80=90FR-FBP=E3=80=91?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E5=A4=A7=E5=9B=9E=E5=BD=92=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=E4=B8=8B=E5=86=99=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E5=BE=AA=E7=8E=AF=E8=8E=B7=E5=8F=96=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=95=B0=E6=8D=AE=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/data/datapane/TableDataTreePane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java index 5efb20ff34..1bce6107ae 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java @@ -459,7 +459,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { if (!ComparatorUtils.equals(oldName, tdName)) { map.put(oldName, tdName); } - fireDSChanged(map); + DesignCacheManager.processByCacheTableData(() -> fireDSChanged(map)); tc.fireTargetModified(); tc.parameterChanged(); int[] rows = tableDataTree.getSelectionRows(); From 4386c9d81773b0a4bf46c930fc6d40d1854fa379 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 12 Sep 2024 18:57:50 +0800 Subject: [PATCH 08/20] =?UTF-8?q?REPORT-134499=20=E6=A0=B9=E6=8D=AEUI?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=9C=86=E8=A7=92=E5=B0=BA=E5=AF=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fine/theme/light/ui/FineButtonBorder.java | 2 +- .../theme/light/ui/FinePopupMenuBorder.java | 2 +- .../fine/theme/light/ui/FinePopupMenuUI.java | 2 +- .../light/ui/FineReportComponentBorder.java | 2 +- .../ui/FineReportComponentCompositeUI.java | 2 +- .../theme/light/ui/FineToggleButtonUI.java | 12 ++--- .../com/fine/theme/utils/FineUIUtils.java | 42 +++++++++------ .../gui/ibutton/UICombinationButton.java | 7 --- .../fr/design/mainframe/JFormSliderPane.java | 15 +++--- .../fr/startup/ui/StartupPageConstants.java | 16 +----- .../com/fr/startup/ui/StartupPageWindow.java | 3 +- .../light/ui/laf/FineLightLaf.properties | 10 ++-- .../fr/design/mainframe/SheetNameTabPane.java | 52 ++++++++++--------- 13 files changed, 81 insertions(+), 86 deletions(-) diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineButtonBorder.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineButtonBorder.java index 16405a1552..26ef4ec2ba 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FineButtonBorder.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineButtonBorder.java @@ -32,7 +32,7 @@ public class FineButtonBorder extends FlatButtonBorder { return; } g2.setPaint(borderPaint); - FineUIUtils.paintPartRoundButtonBorder(c, g2, x, y, width, height, borderWidth, (float) getArc(c)); + FineUIUtils.paintPartRoundButtonBorder(c, g2, x, y, width, height, borderWidth, getArc(c)); } else { super.paintBorder(c, g, x, y, width, height); } diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuBorder.java b/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuBorder.java index 63bf5e88e0..c7b827862f 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuBorder.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuBorder.java @@ -14,6 +14,6 @@ public class FinePopupMenuBorder extends FlatPopupMenuBorder { @Override public int getArc() { - return FineUIUtils.getAndScaleInt("PopupMenu.arc", 5); + return FineUIUtils.getAndScaleInt("PopupMenu.arc", 8); } } diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuUI.java b/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuUI.java index 58a37da791..e0cf691950 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuUI.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FinePopupMenuUI.java @@ -19,7 +19,7 @@ import java.awt.geom.RoundRectangle2D; */ public class FinePopupMenuUI extends FlatPopupMenuUI { private int arc; - private final int DEFAULT_ARC = 10; + private final int DEFAULT_ARC = 8; /** * 创建UI diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentBorder.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentBorder.java index 6d381761ac..7ae570cb75 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentBorder.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentBorder.java @@ -18,7 +18,7 @@ public class FineReportComponentBorder extends FlatRoundBorder { @Override protected int getArc(Component c) { - return FineUIUtils.getAndScaleInt("Center.arc", 10); + return FineUIUtils.getAndScaleInt("Center.arc", 8); } @Override diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentCompositeUI.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentCompositeUI.java index 7886af3c33..8353f3e241 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentCompositeUI.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentCompositeUI.java @@ -33,7 +33,7 @@ public class FineReportComponentCompositeUI extends FlatPanelUI { @Override protected void installDefaults(JPanel p) { super.installDefaults(p); - this.arc = FineUIUtils.getAndScaleInt("Center.arc", 10); + this.arc = FineUIUtils.getAndScaleInt("Center.arc", 8); } diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java index 49df9d63d1..8f14cd050c 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java @@ -111,7 +111,7 @@ public class FineToggleButtonUI extends FlatToggleButtonUI { @Override public void paint(Graphics g, JComponent c) { if (isGroupButtonNotFit(c) || isTabButton(c)) { - ((AbstractButton)c).setMargin(FineUIUtils.getUIInsets("ToggleButton.compact.margin", "ToggleButton.margin")); + ((AbstractButton) c).setMargin(FineUIUtils.getUIInsets("ToggleButton.compact.margin", "ToggleButton.margin")); } super.paint(g, c); } @@ -134,7 +134,7 @@ public class FineToggleButtonUI extends FlatToggleButtonUI { // paint background Color background; - if(c.isEnabled() && selected) { + if (c.isEnabled() && selected) { background = tabSelectedBackground; } else { Color enabledColor = selected ? clientPropertyColor(c, TAB_BUTTON_SELECTED_BACKGROUND, tabSelectedBackground) : null; @@ -170,9 +170,7 @@ public class FineToggleButtonUI extends FlatToggleButtonUI { float focusWidth = FlatUIUtils.getBorderFocusWidth(c); FlatUIUtils.paintComponentBackground(g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, 0); } else { - float arc = FlatUIUtils.getBorderArc( c ) / 2; - Shape path2D = getGroupButtonPath2D(c, position, arc); - g2.fill(path2D); + g2.fill(getGroupButtonPath2D(c, position, FlatUIUtils.getBorderArc(c))); } } finally { g2.dispose(); @@ -209,7 +207,7 @@ public class FineToggleButtonUI extends FlatToggleButtonUI { @Override protected Color getForeground(JComponent c) { - if (isGroupButton(c) && ((AbstractButton)c).isSelected()) { + if (isGroupButton(c) && ((AbstractButton) c).isSelected()) { return groupSelectedForeground; } return super.getForeground(c); @@ -218,7 +216,7 @@ public class FineToggleButtonUI extends FlatToggleButtonUI { @Override protected Color getBackground(JComponent c) { if (isGroupButton(c)) { - return ((AbstractButton)c).isSelected() ? groupSelectedBackground : groupBackground; + return ((AbstractButton) c).isSelected() ? groupSelectedBackground : groupBackground; } return super.getBackground(c); } diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java index fdf9b4cbe2..6ccf630ed2 100644 --- a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java +++ b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java @@ -186,10 +186,10 @@ public class FineUIUtils { * @param background 背景色 * @param width 宽度 * @param height 高度 - * @param radius 圆角 + * @param arc 圆角 */ public static void paintWithComposite(Graphics g, Composite composite, Color background, - int width, int height, int radius) { + int width, int height, int arc) { Graphics2D g2d = (Graphics2D) g; FlatUIUtils.setRenderingHints(g2d); @@ -197,7 +197,7 @@ public class FineUIUtils { g2d.setComposite(composite); g2d.setColor(background); - g2d.fill(new RoundRectangle2D.Float(0, 0, width, height, radius, radius)); + g2d.fill(new RoundRectangle2D.Float(0, 0, width, height, arc, arc)); g2d.setComposite(oldComposite); } @@ -247,14 +247,14 @@ public class FineUIUtils { case LEFT: { path2D.append(createLeftRoundRectangle(x, y, width, height, arc), false); path2D.append(createLeftRoundRectangle(x + t, y + t, - width - (closedPath ? t2x : t), height - t2x, arc - t), false); + width - (closedPath ? t2x : t), height - t2x, arc - t2x), false); break; } case RIGHT: default: { path2D.append(createRightRoundRectangle(x, y, width, height, arc), false); path2D.append(createRightRoundRectangle(x + (closedPath ? t : 0), y + t, - width - (closedPath ? t2x : t), height - t2x, arc - t), false); + width - (closedPath ? t2x : t), height - t2x, arc - t2x), false); break; } } @@ -280,12 +280,18 @@ public class FineUIUtils { float t2x = t * 2; Path2D path2D = new Path2D.Float(Path2D.WIND_EVEN_ODD); path2D.append(createTopRoundRectangle(x, y, width, height, arc), false); - path2D.append(createTopRoundRectangle(x + t, y + t, width - t2x, height - t, arc - t), false); + path2D.append(createTopRoundRectangle(x + t, y + t, width - t2x, height - t, arc - t2x), false); g2.fill(path2D); } /** * 创建一个部分圆角的矩形路径 + *

+ * 注意: + * 在swing中,UI的样式的 arc 数值是直径,而 css 中 border-radius 为半径, + * 因此我们配置的 arc 全部为 border-radius 的2倍。但是使用 Path2D 绘制时, + * 绘制方式其实是使用半径来进行计算的,为了保持调用一致,对外 API 还是以 arc + * 的形式,因此方法内部需要对 arc 进行取半处理, * * @param x x坐标 * @param y y坐标 @@ -299,16 +305,20 @@ public class FineUIUtils { */ public static Path2D createPartRoundRectangle(double x, double y, double width, double height, double arcTopLeft, double arcTopRight, double arcBottomRight, double arcBottomLeft) { - Path2D path = new Path2D.Double(Path2D.WIND_EVEN_ODD, 7); - path.moveTo(x + arcTopLeft, y); - path.lineTo(x + width - arcTopRight, y); - path.quadTo(x + width, y, x + width, y + arcTopRight); - path.lineTo(x + width, y + height - arcBottomRight); - path.quadTo(x + width, y + height, x + width - arcBottomRight, y + height); - path.lineTo(x + arcBottomLeft, y + height); - path.quadTo(x, y + height, x, y + height - arcBottomLeft); - path.lineTo(x, y + arcTopLeft); - path.quadTo(x, y, x + arcTopLeft, y); + double radiusTopLeft = arcTopLeft / 2; + double radiusTopRight = arcTopRight / 2; + double radiusBottomLeft = arcBottomLeft / 2; + double radiusBottomRight = arcBottomRight / 2; + Path2D path = new Path2D.Double(Path2D.WIND_EVEN_ODD, 10); + path.moveTo(x + radiusTopLeft, y); + path.lineTo(x + width - radiusTopRight, y); + path.quadTo(x + width, y, x + width, y + radiusTopRight); + path.lineTo(x + width, y + height - radiusBottomRight); + path.quadTo(x + width, y + height, x + width - radiusBottomRight, y + height); + path.lineTo(x + radiusBottomLeft, y + height); + path.quadTo(x, y + height, x, y + height - radiusBottomLeft); + path.lineTo(x, y + radiusTopLeft); + path.quadTo(x, y, x + radiusTopLeft, y); path.closePath(); return path; } diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UICombinationButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UICombinationButton.java index 70f229d2a3..ad9151fdbc 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UICombinationButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UICombinationButton.java @@ -1,10 +1,7 @@ package com.fr.design.gui.ibutton; -import com.fr.design.utils.gui.GUICoreUtils; - import javax.swing.Icon; import javax.swing.JPanel; -import javax.swing.JPopupMenu; import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -148,8 +145,4 @@ public class UICombinationButton extends JPanel { rightButton.putClientProperty(BUTTON_TYPE, BUTTON_TYPE_TOOLBAR_BUTTON); setStyle(rightButton, IN_TOOLBAR_RIGHT); } - - protected void showPopWindow(JPopupMenu menu) { - GUICoreUtils.showPopupMenu(menu, this, 0, getY() + getHeight() - 3); - } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java b/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java index cef7222edf..68fe5b3011 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java @@ -164,7 +164,6 @@ public class JFormSliderPane extends JPanel { } - private void showValFieldChange(int value) { isButtonOrIsTxt = true; showValue = getPreferredValue(value); @@ -172,7 +171,7 @@ public class JFormSliderPane extends JPanel { refreshSlider(); } - private int getPreferredValue(int value){ + private int getPreferredValue(int value) { if (value > FOUR_HUNDRED) { value = FOUR_HUNDRED; } @@ -182,7 +181,7 @@ public class JFormSliderPane extends JPanel { return value; } - private void refreshShowValueFieldText(){ + private void refreshShowValueFieldText() { showValField.setValue(showValue); setAdjustButtonStatus(); } @@ -211,7 +210,7 @@ public class JFormSliderPane extends JPanel { slider.setValue(calSliderValue(showValue)); } - private void setAdjustButtonStatus(){ + private void setAdjustButtonStatus() { this.downButton.setEnabled(this.showValue > TEN); this.upButton.setEnabled(this.showValue < FOUR_HUNDRED); } @@ -230,8 +229,10 @@ public class JFormSliderPane extends JPanel { @Override public void paintComponent(Graphics g) { - int arc = FineUIUtils.getAndScaleInt("Center.arc", 10) / 2; - Path2D roundedPath = FineUIUtils.createPartRoundRectangle(0, 0, this.getWidth(), this.getHeight(), 0, 0, arc, 0); + int arc = FineUIUtils.getAndScaleInt("Center.arc", 8); + Path2D roundedPath = FineUIUtils.createPartRoundRectangle(0, 0, + this.getWidth(), this.getHeight(), + 0, 0, arc, 0); FlatUIUtils.setRenderingHints(g); Graphics2D g2 = (Graphics2D) g; g2.setColor(getBackground()); @@ -293,7 +294,7 @@ public class JFormSliderPane extends JPanel { } - public void addValueChangeListener(ChangeListener changeListener){ + public void addValueChangeListener(ChangeListener changeListener) { this.slider.addChangeListener(changeListener); } diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageConstants.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageConstants.java index 2dab229850..20d5f85ca6 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageConstants.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageConstants.java @@ -1,29 +1,17 @@ package com.fr.startup.ui; -import java.awt.Color; - /** * created by Harrison on 2022/07/07 **/ public class StartupPageConstants { /** - * 圆弧长度 + * 圆角直径 */ - public static final int ARC_DIAMETER = 10; + public static final int ARC_DIAMETER = 16; /** * 内容宽度 */ public static final int CONTENT_WIDTH = 850; - - /** - * 边框的颜色 - */ - public static final Color BORDER_COLOR = Color.WHITE; - - /** - * 透明的颜色 - */ - public static final Color TRANSPARENT_COLOR = new Color(0, 0, 0, 0); } diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java index 45c955b12b..3100c064ae 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java @@ -292,7 +292,8 @@ public class StartupPageWindow extends JFrame { Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setColor(color); - g2d.fillRoundRect(0, 0, getWidth(), getHeight(), 2 * StartupPageConstants.ARC_DIAMETER, 2 * StartupPageConstants.ARC_DIAMETER); + g2d.fillRoundRect(0, 0, getWidth(), getHeight(), + StartupPageConstants.ARC_DIAMETER, StartupPageConstants.ARC_DIAMETER); } }; recentOpenPanel.setLayout(new BorderLayout()); diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties index aafdbdf666..c58cfad65c 100644 --- a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties +++ b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties @@ -230,7 +230,7 @@ CombinationButton.arc = $Button.arc #---- CheckBox ---- -CheckBox.arc = 4 +CheckBox.arc = $Component.arc CheckBox.margin = 2,0,2,0 CheckBox.iconTextGap = 4 CheckBox.rollover = true @@ -330,7 +330,7 @@ Component.focusWidth = 0 Component.innerFocusWidth = 0.5 Component.innerOutlineWidth = 1 Component.borderWidth = 1 -Component.arc = 5 +Component.arc = 6 Component.minimumWidth = 64 # allowed values: chevron or triangle Component.arrowType = chevron @@ -580,7 +580,7 @@ PopupMenu.background=$background.normal PopupMenu.scrollArrowColor = @buttonArrowColor PopupMenu.borderColor=$border.divider PopupMenu.hoverScrollArrowBackground = darken(@background,5%) -PopupMenu.arc=10 +PopupMenu.arc=8 #---- PopupMenuSeparator ---- PopupMenuSeparator.height=5 @@ -887,7 +887,7 @@ TemplateTabPane.borderColor = $border.divider TemplateTabPane.closeHoverBackground = $hover.deep TemplateTabPane.tabInsets = 4,6,4,6 TemplateTabPane.borderWidth = 1 -TemplateTabPane.tabArc = 5 +TemplateTabPane.tabArc = 8 TemplateTabPane.separatorHeight = 14 TemplateTabPane.icon.hoverBackground = #B8BFCB @@ -1206,7 +1206,7 @@ Center.GridColumnRowEditedColor=#e9ecf1 Center.GridCornerFill=fade(#0A1C38, 47%) Center.SpaceColor = #FFF Center.border = 0, 10, 10, 10 -Center.arc=10 +Center.arc=8 #---- CellOtherSetPane ---- CellOtherSetPane.height=$Component.defaultHeight diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java b/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java index 304639ec5c..4ab7827d44 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java @@ -201,8 +201,9 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti } } }); - listener = new ComponentAdapter(){ - @Override public void componentResized(ComponentEvent e) { + listener = new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { for (int i = 0; i < lastOneIndex * NUM; i++) { moveLeft(); } @@ -277,7 +278,7 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti * @param oldIndex */ protected void doBeforeChange(int oldIndex) { - reportComposite.doBeforeChange(oldIndex); + reportComposite.doBeforeChange(oldIndex); } /** @@ -286,7 +287,7 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti * @param newIndex */ protected void doAfterChange(int newIndex) { - reportComposite.doAfterChange(newIndex); + reportComposite.doAfterChange(newIndex); } /** @@ -328,10 +329,11 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti /** * 抽出来方便OEM + * * @return */ - public Icon getAddWorkSheet(){ - return ADD_WORK_SHEET; + public Icon getAddWorkSheet() { + return ADD_WORK_SHEET; } /** @@ -368,8 +370,10 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti private void paintBackgroundAndLine(Graphics2D g2d, double textHeight, double maxWidth, int charWidth, int textAscent) { - int arc = FineUIUtils.getAndScaleInt("Center.arc", 10) / 2; - Path2D roundedPath = FineUIUtils.createPartRoundRectangle(0, 0, this.getWidth(), this.getHeight(), 0, 0, 0, arc); + int arc = FineUIUtils.getAndScaleInt("Center.arc", 8); + Path2D roundedPath = FineUIUtils.createPartRoundRectangle(0, 0, + this.getWidth(), this.getHeight(), + 0, 0, 0, arc); FlatUIUtils.setRenderingHints(g2d); g2d.setColor(getBackground()); g2d.fill(roundedPath); @@ -415,8 +419,8 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti paintAddButton(g2d); } - protected void paintAddButton(Graphics2D g2d){ - getAddWorkSheet().paintIcon(this, g2d, iconLocation, 3); + protected void paintAddButton(Graphics2D g2d) { + getAddWorkSheet().paintIcon(this, g2d, iconLocation, 3); ADD_POLY_SHEET.paintIcon(this, g2d, iconLocation + getAddWorkSheet().getIconWidth() + iconSepDistance, 3); } @@ -559,41 +563,41 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti } if (SwingUtilities.isLeftMouseButton(evt)) { - processLeftMouseButton(evtX); + processLeftMouseButton(evtX); } if (isBlank) { return; } if (SwingUtilities.isRightMouseButton(evt) && !isAuthorityEditing) { - processRightMouseButton(evtX, evtY); + processRightMouseButton(evtX, evtY); } } - private void processRightMouseButton(int evtX, int evtY){ + private void processRightMouseButton(int evtX, int evtY) { MenuDef def = new MenuDef(); addInsertGridShortCut(def); - def.addShortCut(new PolyReportInsertAction(), SeparatorDef.DEFAULT, new RemoveSheetAction(), new RenameSheetAction(), - new CopySheetAction()); + def.addShortCut(new PolyReportInsertAction(), SeparatorDef.DEFAULT, new RemoveSheetAction(), new RenameSheetAction(), + new CopySheetAction()); JPopupMenu tabPop = def.createJMenu().getPopupMenu(); def.updateMenu(); GUICoreUtils.showPopupMenu(tabPop, this, evtX - 1, evtY - 1); } - private void processLeftMouseButton(int evtX){ + private void processLeftMouseButton(int evtX) { if (evtX > iconLocation && evtX < iconLocation + scale(GRID_TOSHEET_RIGHT)) { - firstInsertActionPerformed(); + firstInsertActionPerformed(); } else if (evtX > iconLocation + scale(POLY_TOSHEET_LEFT) && evtX < iconLocation + scale(POLY_TOSHEET_RIGHT)) { new PolyReportInsertAction().actionPerformed(null); } } - protected void addInsertGridShortCut(MenuDef def){ - def.addShortCut(new GridReportInsertAction()); + protected void addInsertGridShortCut(MenuDef def) { + def.addShortCut(new GridReportInsertAction()); } - protected void firstInsertActionPerformed(){ - new GridReportInsertAction().actionPerformed(null); + protected void firstInsertActionPerformed() { + new GridReportInsertAction().actionPerformed(null); } @@ -645,7 +649,7 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti * 右移动 * * @param moveRighttDistance 右侧移动距离 - * @param si 宽度坐标 + * @param si 宽度坐标 */ private void move2Right(int moveRighttDistance, int si) { int reportcount = reportComposite.getEditingWorkBook().getReportCount(); @@ -671,7 +675,7 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti * 左移动 * * @param moveLeftDistance 左侧距离 - * @param si 宽度坐标 + * @param si 宽度坐标 */ private void move2Left(int moveLeftDistance, int si) { if (selectedIndex > 0) { @@ -746,7 +750,7 @@ public class SheetNameTabPane extends JPanel implements MouseListener, MouseMoti scrollIndex++; } - JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); + JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); TemplateTheme theme = template.getTemplateTheme(); TemplateReport templateReport = newTemplateReport(); From c2c49fb7835b0c8800b47d3e0e05835d934fb23b Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 12 Sep 2024 19:29:42 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E6=97=A0jira=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/mainframe/JFormSliderPane.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java b/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java index 68fe5b3011..ce399c954d 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java @@ -293,7 +293,11 @@ public class JFormSliderPane extends JPanel { showValFieldChange(value); } - + /** + * 添加值变化监听器 + * + * @param changeListener 变化监听器 + */ public void addValueChangeListener(ChangeListener changeListener) { this.slider.addChangeListener(changeListener); } From b641c84a2adf2b633d664c92f46fe64ecb313086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levy=2EXie-=E8=A7=A3=E5=AE=89=E6=A3=AE?= Date: Thu, 12 Sep 2024 20:03:18 +0800 Subject: [PATCH 10/20] =?UTF-8?q?REPORT-132393=20fix:=20=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E5=B8=83=E5=B1=80=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../condition/ConditionAttributesPane.java | 4 +-- .../design/condition/SingleConditionPane.java | 5 +--- .../gui/style/series/UIColorPickerPane.java | 28 +++++++++++-------- .../column/VanChartColumnConditionPane.java | 3 +- .../AbstractNormalMultiLineConditionPane.java | 10 ++++--- .../axis/radar/RadarTableContentPane.java | 21 ++++---------- .../axis/radar/VanChartRadarYAxisPane.java | 5 ++-- 7 files changed, 36 insertions(+), 40 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java b/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java index bc2eca9fd1..62882fd028 100644 --- a/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java +++ b/designer-base/src/main/java/com/fr/design/condition/ConditionAttributesPane.java @@ -84,7 +84,7 @@ public abstract class ConditionAttributesPane extends BasicBeanPane { selectedItemPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_S_Pane(); - // 选中的添加Itempane + // 选中的添加ItemPane selectedItemScrollPane.setViewportView(selectedItemPane); selectedItemScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); @@ -93,7 +93,7 @@ public abstract class ConditionAttributesPane extends BasicBeanPane { this.add(FineUIUtils.wrapComponentWithTitle(column( 10, row(cell(addItemPane), flex()), - cell(selectedItemScrollPane).with(it -> it.setBorder(new FineRoundBorder())), + cell(selectedItemScrollPane).weight(1).with(it -> it.setBorder(new FineRoundBorder())), fix(10) ).getComponent(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Property")), BorderLayout.NORTH); } diff --git a/designer-base/src/main/java/com/fr/design/condition/SingleConditionPane.java b/designer-base/src/main/java/com/fr/design/condition/SingleConditionPane.java index 48c23bab51..cc98b6500c 100644 --- a/designer-base/src/main/java/com/fr/design/condition/SingleConditionPane.java +++ b/designer-base/src/main/java/com/fr/design/condition/SingleConditionPane.java @@ -7,8 +7,6 @@ import java.awt.event.ActionListener; import com.fine.theme.icon.LazyIcon; import com.formdev.flatlaf.ui.FlatUIUtils; -import com.formdev.flatlaf.util.ScaledEmptyBorder; -import com.fr.base.BaseUtils; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicPane; @@ -31,9 +29,8 @@ public abstract class SingleConditionPane extends BasicPane { cancel = new UIButton(new LazyIcon("remove")); cancel.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Action_Remove")); cancel.addActionListener(cancleListener); - cancel.setMargin(new Insets(0, 0, 0, 0)); - cancel.setBorder(new ScaledEmptyBorder(0, 0, 0, 10)); cancel.setBackground(FlatUIUtils.getUIColor("default.background", new Color(246, 248, 250, 255))); + cancel.setBorder(null); } addCancel(); } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java index c8fdc1adce..ff86054a96 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java @@ -47,16 +47,15 @@ import java.util.List; import static com.fine.theme.utils.FineUIScale.scale; public class UIColorPickerPane extends BasicPane implements UIObserver { - private static final int MARGIN_TOP = scale(7); - private static final int MARGIN_LEFT = scale(5); + private static final int MARGIN_TOP = scale(10); private static final int COLORGROUP_MARGIN_LEFT = scale(15); - private static final int OFF_HEIGHT = scale(6); + private static final int OFF_HEIGHT = scale(10); private static final int COLOR_REC_HEIGHT = scale(40); private static final int COLOR_REC_WIDTH = scale(30); protected static final int TEXTFIELD_HEIGHT = scale(20); protected static final int TEXTFIELD_WIDTH = scale(130); protected static final int UPCONTROLPANE_WIDTH = scale(224); - private static final int LAYOUR_DET = scale(6); + private static final int LAYOUR_DET = scale(10); public static final double VALUE = 100; @@ -610,10 +609,14 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { @Override public void layoutContainer(Container parent) { - upControlPane.setBounds(getBoundX(), getBoundY(), UPCONTROLPANE_WIDTH, upControlPane.getPreferredSize().height + MARGIN_TOP); - stagePanel.setBounds(getBoundX(), upControlPane.getPreferredSize().height + scale(8) + getBoundY(), UPCONTROLPANE_WIDTH, stagePanel.getPreferredSize().height); - colorGroup.setBounds( getColorgroupMarginLeft (), 2 * getBoundY() + upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET, colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); - textGroup.setBounds(colorGroup.getPreferredSize().width + getColorgroupMarginLeft (), upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET + getBoundY(), textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); + upControlPane.setBounds(getBoundX(), getBoundY(), + getParent().getWidth(), upControlPane.getPreferredSize().height + LAYOUR_DET); + stagePanel.setBounds(getBoundX(), upControlPane.getPreferredSize().height + LAYOUR_DET + getBoundY(), + getParent().getWidth(), stagePanel.getPreferredSize().height); + colorGroup.setBounds( getColorgroupMarginLeft(), 2 * getBoundY() + upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET, + colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); + textGroup.setBounds(colorGroup.getPreferredSize().width + getColorgroupMarginLeft(), upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET + getBoundY(), + textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); } @Override @@ -640,9 +643,12 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { @Override public void layoutContainer(Container parent) { - upControlPane.setBounds(getBoundX(), getBoundY(), getBoundWidth(), upControlPane.getPreferredSize().height); - colorGroup.setBounds(COLORGROUP_MARGIN_LEFT, 2 * MARGIN_TOP + upControlPane.getPreferredSize().height + LAYOUR_DET, colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); - textGroup.setBounds(colorGroup.getPreferredSize().width + COLORGROUP_MARGIN_LEFT, MARGIN_TOP + upControlPane.getPreferredSize().height + LAYOUR_DET, textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); + upControlPane.setBounds(getBoundX(), getBoundY(), getParent().getWidth(), + upControlPane.getPreferredSize().height); + colorGroup.setBounds(COLORGROUP_MARGIN_LEFT, 2 * MARGIN_TOP + upControlPane.getPreferredSize().height + LAYOUR_DET, + colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); + textGroup.setBounds(colorGroup.getPreferredSize().width + COLORGROUP_MARGIN_LEFT, MARGIN_TOP + upControlPane.getPreferredSize().height + LAYOUR_DET, + textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); } @Override diff --git a/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnConditionPane.java b/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnConditionPane.java index c4184f3b17..0a1fa3118a 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnConditionPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnConditionPane.java @@ -1,5 +1,6 @@ package com.fr.van.chart.column; +import com.fine.theme.utils.FineUIScale; import com.fr.chart.base.AttrAlpha; import com.fr.chart.base.AttrBackground; import com.fr.chart.base.AttrBorder; @@ -41,7 +42,7 @@ public class VanChartColumnConditionPane extends DataSeriesConditionPane{ protected void initComponents() { super.initComponents(); //添加全部条件属性后被遮挡 - liteConditionPane.setPreferredSize(new Dimension(300, 400)); + liteConditionPane.setPreferredSize(FineUIScale.scale(new Dimension(300, 400))); } @Override diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/other/condition/item/AbstractNormalMultiLineConditionPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/other/condition/item/AbstractNormalMultiLineConditionPane.java index 3c2734bba8..f48f4ef061 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/other/condition/item/AbstractNormalMultiLineConditionPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/other/condition/item/AbstractNormalMultiLineConditionPane.java @@ -45,15 +45,17 @@ public abstract class AbstractNormalMultiLineConditionPane extends ConditionAttr JPanel pane = FRGUIPaneFactory.createBorderLayout_S_Pane(); pane.add(initContentPane()); - this.add(row(column(cell(nameLabel), flex()).weight(0.2), - row(cell(initContentPane()).weight(1), flex()).weight(0.8)).with(it -> it.setBorder(new ScaledEmptyBorder(5, 5, 5, 0))).getComponent()); - + this.add(row( + column(cell(nameLabel), flex()).weight(0.2), + cell(initContentPane()).weight(0.8) + ).with(it -> it.setBorder(new ScaledEmptyBorder(5, 5, 5, 5)) + ).getComponent(), BorderLayout.CENTER); } /** * 添加删除按钮 */ public void addCancel() { - this.add(column(fix(5), cell(cancel), flex()).getComponent(), BorderLayout.EAST); + this.add(column(cell(cancel), flex()).getComponent(), BorderLayout.EAST); } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/RadarTableContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/RadarTableContentPane.java index fa77258537..07645e3251 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/RadarTableContentPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/RadarTableContentPane.java @@ -1,19 +1,16 @@ package com.fr.van.chart.designer.style.axis.radar; +import com.fine.theme.utils.FineLayoutBuilder; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; import com.fr.plugin.chart.radar.data.RadarYAxisTableDefinition; import javax.swing.JPanel; -import javax.swing.SwingConstants; import java.awt.BorderLayout; import java.awt.Component; -import java.awt.Dimension; import java.util.List; public class RadarTableContentPane extends AbstractTableDataContentPane { @@ -29,13 +26,10 @@ public class RadarTableContentPane extends AbstractTableDataContentPane { private void initAllComponent() { categoryNameComboBox = new UIComboBox(); - categoryNameComboBox.setPreferredSize(new Dimension(100, 20)); minValueComboBox = new UIComboBox(); - minValueComboBox.setPreferredSize(new Dimension(100, 20)); maxValueComboBox = new UIComboBox(); - maxValueComboBox.setPreferredSize(new Dimension(100, 20)); addAutoItem(); @@ -47,18 +41,13 @@ public class RadarTableContentPane extends AbstractTableDataContentPane { } private JPanel getContentPane() { - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] row = {p, p, p}; - double[] col = {p, f}; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Category") + ":", SwingConstants.RIGHT), categoryNameComboBox}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Min_Value") + ":", SwingConstants.RIGHT), minValueComboBox}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Max_Value") + ":", SwingConstants.RIGHT), maxValueComboBox} + new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Category")), categoryNameComboBox}, + new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Min_Value")), minValueComboBox}, + new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Max_Value")), maxValueComboBox} }; - return TableLayoutHelper.createTableLayoutPane(components, row, col); + return FineLayoutBuilder.commonLeftRightLayout(components); } @Override diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/VanChartRadarYAxisPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/VanChartRadarYAxisPane.java index 635d04fa40..694f2de372 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/VanChartRadarYAxisPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/radar/VanChartRadarYAxisPane.java @@ -6,6 +6,7 @@ import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.icombobox.LineComboBox; import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; +import com.fr.design.layout.FRGUIPaneFactory; import com.fr.plugin.chart.attr.axis.VanChartAxis; import com.fr.plugin.chart.attr.axis.VanChartValueAxis; import com.fr.stable.CoreConstants; @@ -38,7 +39,7 @@ public class VanChartRadarYAxisPane extends VanChartValueAxisPane { new Component[]{createValueStylePane(), null}, }; - return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3}); + return FineLayoutBuilder.compatibleTableLayout(0, components, new double[]{1, 0}); } protected LineComboBox createLineComboBox() { @@ -57,7 +58,7 @@ public class VanChartRadarYAxisPane extends VanChartValueAxisPane { centerPane.add(commenPane, Toolkit.i18nText("Fine-Design_Chart_Axis_Unified_Count")); centerPane.add(tableDataPane, Toolkit.i18nText("Fine-Design_Chart_Respectively_Specified")); - JPanel contentPane = new JPanel(new BorderLayout()); + JPanel contentPane = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10)); contentPane.add(valueStyle, BorderLayout.NORTH); contentPane.add(centerPane, BorderLayout.CENTER); valueStyle.addActionListener(new ActionListener() { From 1fec193a8dad1954e2c4ae33ac4f92a6296efcf6 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 12 Sep 2024 20:46:39 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=E6=97=A0jira=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DGridRow=E4=B8=AD=E5=AD=97=E7=AC=A6=E5=81=8F?= =?UTF-8?q?=E4=B8=8A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/grid/GridRowUI.java | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/grid/GridRowUI.java b/designer-realize/src/main/java/com/fr/grid/GridRowUI.java index d2b7391f84..e979aa9950 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridRowUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridRowUI.java @@ -24,6 +24,7 @@ import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.font.FontRenderContext; +import java.awt.font.TextLayout; import java.awt.geom.Rectangle2D; /** @@ -31,15 +32,14 @@ import java.awt.geom.Rectangle2D; * @since 2012-3-22下午5:54:21 */ public class GridRowUI extends ComponentUI { - private Color detailsBackground = UIManager.getColor("Center.GridColumnRowColor"); protected Color editedBackground = UIManager.getColor("Center.GridColumnRowEditedColor"); protected Color selectedBackground = UIManager.getColor("Center.GridColumnRowSelectedColor"); - private int resolution ; + private final int resolution; - GridRowUI(int resolution){ - if (resolution == 0){ - resolution = DesignerUIModeConfig.getInstance().getScreenResolution(); + GridRowUI(int resolution) { + if (resolution == 0) { + resolution = DesignerUIModeConfig.getInstance().getScreenResolution(); } this.resolution = resolution; } @@ -49,12 +49,12 @@ public class GridRowUI extends ComponentUI { if (!(c instanceof GridRow)) { throw new IllegalArgumentException("The component c to paint must be a GridColumn!"); } - Graphics2D g2d = (Graphics2D) g; + Graphics2D g2d = (Graphics2D) g.create(); GridRow gridRow = (GridRow) c; ElementCasePane reportPane = gridRow.getElementCasePane(); // size Dimension size = gridRow.getSize(); - float time = (float)resolution/DesignerUIModeConfig.getInstance().getScreenResolution(); + float time = (float) resolution / DesignerUIModeConfig.getInstance().getScreenResolution(); g2d.setFont(gridRow.getFont().deriveFont(gridRow.getFont().getSize2D() * time)); ElementCase elementCase = reportPane.getEditingElementCase(); @@ -135,7 +135,7 @@ public class GridRowUI extends ComponentUI { paintText += "(F)"; } } - drawNormalContent(i, g2d, gridRow, paintText, tmpIncreaseHeight, isSelectedBounds, elementCase, size, tmpHeight1); + drawNormalContent(g2d, gridRow, paintText, tmpIncreaseHeight, isSelectedBounds, size, tmpHeight1); } } @@ -154,16 +154,19 @@ public class GridRowUI extends ComponentUI { } - private void drawNormalContent(int i, Graphics2D g2d, GridRow gridRow, String paintText, double tmpIncreaseHeight, boolean isSelectedBounds - , ElementCase elementCase, Dimension size, double tmpHeight1) { + private void drawNormalContent(Graphics2D g2d, GridRow gridRow, String paintText, + double increaseHeight, boolean isSelectedBounds, + Dimension size, double y) { // FontMetrics FontRenderContext fontRenderContext = g2d.getFontRenderContext(); - float time = (float)resolution/DesignerUIModeConfig.getInstance().getScreenResolution(); - float fmAscent = GraphHelper.getFontMetrics(gridRow.getFont()).getAscent() * time; + float time = (float) resolution / DesignerUIModeConfig.getInstance().getScreenResolution(); + double stringWidth = gridRow.getFont().getStringBounds(paintText, fontRenderContext).getWidth() * time; - double stringHeight = gridRow.getFont().getStringBounds(paintText, fontRenderContext).getHeight() * time; + // 为了居中获取可视边界 + Rectangle2D bounds = new TextLayout(paintText, gridRow.getFont(), fontRenderContext).getBounds(); + double stringHeight = bounds.getHeight() * time; // 如果高度太小了就不画了 - if (stringHeight <= tmpIncreaseHeight + 2) { + if (stringHeight <= increaseHeight + 2) { if (isSelectedBounds) { g2d.setColor(gridRow.getSelectedForeground()); } else { @@ -175,8 +178,10 @@ public class GridRowUI extends ComponentUI { } } - GraphHelper.drawString(g2d, paintText, (size.width - stringWidth) / 2, tmpHeight1 + (tmpIncreaseHeight - stringHeight) / 2 + GridHeader.SIZE_ADJUST / 2 + fmAscent - 2); + GraphHelper.drawString(g2d, paintText, + (size.width - stringWidth) / 2, + y + (increaseHeight - stringHeight) / 2.0 + stringHeight); } } -} \ No newline at end of file +} From b42207570a581c8f082e06042a9f633f4d0a004c Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 12 Sep 2024 20:48:53 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E6=97=A0jira=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer-realize/src/main/java/com/fr/grid/GridRowUI.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/grid/GridRowUI.java b/designer-realize/src/main/java/com/fr/grid/GridRowUI.java index e979aa9950..5a7f0bf420 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridRowUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridRowUI.java @@ -32,6 +32,7 @@ import java.awt.geom.Rectangle2D; * @since 2012-3-22下午5:54:21 */ public class GridRowUI extends ComponentUI { + private static final int OFFSET = 2; protected Color editedBackground = UIManager.getColor("Center.GridColumnRowEditedColor"); protected Color selectedBackground = UIManager.getColor("Center.GridColumnRowSelectedColor"); @@ -166,7 +167,7 @@ public class GridRowUI extends ComponentUI { Rectangle2D bounds = new TextLayout(paintText, gridRow.getFont(), fontRenderContext).getBounds(); double stringHeight = bounds.getHeight() * time; // 如果高度太小了就不画了 - if (stringHeight <= increaseHeight + 2) { + if (stringHeight <= increaseHeight + OFFSET) { if (isSelectedBounds) { g2d.setColor(gridRow.getSelectedForeground()); } else { From 32d1d64ff00f3e62cbc635c4cc6d5ee42444b000 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Thu, 12 Sep 2024 23:26:02 +0800 Subject: [PATCH 13/20] =?UTF-8?q?REPORT-134561=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E3=80=90=E6=95=B0=E6=8D=AE=E9=9B=86=E3=80=91?= =?UTF-8?q?fbp=E8=AE=BE=E8=AE=A1=E5=99=A8=20=E5=AD=98=E5=82=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E9=A2=84=E8=A7=88=E6=8A=A5=E9=94=99=E3=80=81?= =?UTF-8?q?=E9=A2=84=E8=A7=88UI=E6=95=88=E6=9E=9C=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fanruan/boot/init/DesignWorkContextComponent.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/designer-realize/src/main/java/com/fanruan/boot/init/DesignWorkContextComponent.java b/designer-realize/src/main/java/com/fanruan/boot/init/DesignWorkContextComponent.java index 6124f3b06c..3120c9ef53 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/init/DesignWorkContextComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/init/DesignWorkContextComponent.java @@ -11,6 +11,7 @@ import com.fanruan.workplace.conetxt.CompatiblePool; import com.fanruan.workplace.http.HttpConstants; import com.fanruan.workplace.http.RepositoryManager; import com.fanruan.workplace.http.WorkspaceHeartBeatShell; +import com.fanruan.workplace.http.exception.DefaultRemoteExceptionHandler; import com.fr.report.UnLockedHandler; import com.fr.workspace.engine.exception.RemoteDesignLoginLockHandler; import com.fr.workspace.engine.exception.RemoteDesignNoAuthHandler; @@ -50,6 +51,7 @@ import com.fr.workspace.engine.base.FineObjectPool; import com.fr.workspace.engine.client.heartbeart.FineWorkspaceHeartbeat; import com.fr.workspace.engine.client.heartbeart.WorkspaceHeartbeat; import com.fr.workspace.engine.exception.RemoteDriverUnExistHandler; +import com.fr.workspace.engine.exception.RemoteProcedureErrorHandler; import com.fr.workspace.engine.resource.FineWorkResource; import com.fr.workspace.engine.resource.FineWorkResourceAdaptor; import com.fr.workspace.pool.WorkRPCRegister; @@ -81,6 +83,7 @@ import com.fr.workspace.server.repository.widget.ShareRepository; public class DesignWorkContextComponent { private static final String VERSION_NUM = "01"; + private static final String ERROR_CODE = "11300024"; /** @@ -155,6 +158,7 @@ public class DesignWorkContextComponent { RemoteExceptionConvert.registerException(HttpConstants.LOGIN_LOCK, new RemoteDesignLoginLockHandler()); RemoteExceptionConvert.registerException(HttpConstants.TPL_HAS_BEAN_UNLOCK, new UnLockedHandler()); RemoteExceptionConvert.registerException(HttpConstants.DRIVER_NOT_EXIST, new RemoteDriverUnExistHandler()); + DefaultRemoteExceptionHandler.getInstance().registerMatchMsg(ERROR_CODE, new RemoteProcedureErrorHandler()); } private void supplementalCommon() { From 32a3020bc50f3da14537d42cbcf1c77e3e88a1a7 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 13 Sep 2024 00:43:55 +0800 Subject: [PATCH 14/20] =?UTF-8?q?REPORT-134262=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91js=E7=BC=96=E8=BE=91-=E5=BC=95=E7=94=A8js-82?= =?UTF-8?q?=E7=8E=AF=E5=A2=83-=E5=BC=95=E7=94=A8=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/webattr/WebCssPane.java | 4 ++-- .../src/main/java/com/fr/design/webattr/WebJsPane.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java index 01226abb5b..d211a0fdd5 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java @@ -80,8 +80,8 @@ public class WebCssPane extends BasicPane { @Override public void actionPerformed(ActionEvent e) { - FILEChooserPane fileChooser = FILEChooserPane.getInstance(false, false, true, - new ChooseFileFilter("css", "css" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File"))); + FILEChooserPane fileChooser = FILEChooserPane.getInstanceWithDesignatePath(ProjectConstants.RESOURCES_NAME, + new ChooseFileFilter("css", "css" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File")), ProjectConstants.RESOURCES_NAME); if (fileChooser.showOpenDialog(DesignerContext.getDesignerFrame()) == FILEChooserPane.OK_OPTION) { final FILE file = fileChooser.getSelectedFILE(); diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java index 6d05c9e550..f855f5c5b9 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java @@ -158,8 +158,8 @@ public class WebJsPane extends BasicPane { private ActionListener chooseFileListener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - FILEChooserPane fileChooser = FILEChooserPane.getInstance(false, false, true, - new ChooseFileFilter("js", "javascript" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File"))); + FILEChooserPane fileChooser = FILEChooserPane.getInstanceWithDesignatePath(ProjectConstants.RESOURCES_NAME , + new ChooseFileFilter("js", "javascript" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File")), ProjectConstants.RESOURCES_NAME); if (fileChooser.showOpenDialog(DesignerContext.getDesignerFrame()) == FILEChooserPane.OK_OPTION) { final FILE file = fileChooser.getSelectedFILE(); From 27dc144c654e102d1f388f649c70a077b60f37d3 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 13 Sep 2024 11:43:49 +0800 Subject: [PATCH 15/20] =?UTF-8?q?REPORT-121536=20=E5=9B=9E=E5=BD=92-FR-?= =?UTF-8?q?=E6=A8=A1=E6=9D=BFweb=E5=B1=9E=E6=80=A7-=E5=BC=95=E7=94=A8?= =?UTF-8?q?=E7=9A=84css=E6=9C=AA=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/webattr/WebCssPane.java | 4 ++-- .../src/main/java/com/fr/design/webattr/WebJsPane.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java index d211a0fdd5..01226abb5b 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java @@ -80,8 +80,8 @@ public class WebCssPane extends BasicPane { @Override public void actionPerformed(ActionEvent e) { - FILEChooserPane fileChooser = FILEChooserPane.getInstanceWithDesignatePath(ProjectConstants.RESOURCES_NAME, - new ChooseFileFilter("css", "css" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File")), ProjectConstants.RESOURCES_NAME); + FILEChooserPane fileChooser = FILEChooserPane.getInstance(false, false, true, + new ChooseFileFilter("css", "css" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File"))); if (fileChooser.showOpenDialog(DesignerContext.getDesignerFrame()) == FILEChooserPane.OK_OPTION) { final FILE file = fileChooser.getSelectedFILE(); diff --git a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java index f855f5c5b9..6d05c9e550 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java @@ -158,8 +158,8 @@ public class WebJsPane extends BasicPane { private ActionListener chooseFileListener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - FILEChooserPane fileChooser = FILEChooserPane.getInstanceWithDesignatePath(ProjectConstants.RESOURCES_NAME , - new ChooseFileFilter("js", "javascript" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File")), ProjectConstants.RESOURCES_NAME); + FILEChooserPane fileChooser = FILEChooserPane.getInstance(false, false, true, + new ChooseFileFilter("js", "javascript" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File"))); if (fileChooser.showOpenDialog(DesignerContext.getDesignerFrame()) == FILEChooserPane.OK_OPTION) { final FILE file = fileChooser.getSelectedFILE(); From f03d73a4ef9317c80d51d599ad457a794d327e74 Mon Sep 17 00:00:00 2001 From: "Richard.Fang" Date: Fri, 13 Sep 2024 11:50:50 +0800 Subject: [PATCH 16/20] =?UTF-8?q?REPORT-134341=20&=20REPORT-134374=20&=20R?= =?UTF-8?q?EPORT-134128=20&=20REPORT-133990=20&=20REPORT-131838=E3=80=90ne?= =?UTF-8?q?wUI=E3=80=91fix:fbp=E5=9B=9E=E5=BD=92=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datapane/connect/JDBCDefPane.java | 4 +- .../com/fr/design/mainframe/DecodeDialog.java | 23 ++++--- .../com/fine/theme/icon/chart/icon_area.svg | 7 ++ .../com/fine/theme/icon/chart/icon_bubble.svg | 7 ++ .../com/fine/theme/icon/chart/icon_column.svg | 7 ++ .../fine/theme/icon/chart/icon_cuvette.svg | 15 +++++ .../theme/icon/chart/icon_different_pie.svg | 6 ++ .../com/fine/theme/icon/chart/icon_line.svg | 6 ++ .../com/fine/theme/icon/chart/icon_pie.svg | 10 +++ .../theme/icon/chart/icon_pointer_180.svg | 35 ++++++++++ .../theme/icon/chart/icon_pointer_360.svg | 35 ++++++++++ .../com/fine/theme/icon/chart/icon_radar.svg | 7 ++ .../com/fine/theme/icon/chart/icon_ring.svg | 13 ++++ .../fine/theme/icon/chart/icon_same_pie.svg | 6 ++ .../fine/theme/icon/chart/icon_scatter.svg | 9 +++ .../com/fine/theme/icon/chart/icon_slot.svg | 18 +++++ .../theme/icon/chart/icon_stack_radar.svg | 46 +++++++++++++ .../fine/theme/light/ui/fine_light.icon.json | 15 +++++ .../component/ChartImageCheckOutPane.java | 45 ++++++++----- .../VanChartCustomPlotSelectPane.java | 14 ---- .../design/sort/common/SortColumnRowPane.java | 20 +----- .../fr/design/sort/header/HeaderAreaPane.java | 65 +++++-------------- .../fr/design/webattr/DragToolBarPane.java | 2 +- 23 files changed, 303 insertions(+), 112 deletions(-) create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_area.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_bubble.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_column.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_cuvette.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_different_pie.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_line.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pie.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_180.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_360.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_radar.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_ring.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_same_pie.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_scatter.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_slot.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/chart/icon_stack_radar.svg diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java index a9322f33fc..0cb12a8315 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -247,10 +247,10 @@ public class JDBCDefPane extends JPanel { cell(driverComboBox).weight(3), flex(2) ).getComponent()) .addSupplier("odbc", () -> row( - cell(driverComboBox).weight(3), flex(0.2), cell(odbcTipsLink).weight(1.8) + cell(driverComboBox).weight(3), flex(0.2), row(cell(odbcTipsLink)).weight(1.8) ).getComponent()) .addSupplier("define", () -> row( - cell(driverLoaderBox).weight(3), flex(0.2), cell(driverManageLabel).weight(1.8) + cell(driverLoaderBox).weight(3), flex(0.2), row(cell(driverManageLabel)).weight(1.8) ).getComponent()); changeDriverRow(); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java index 88b126e07b..017b971876 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java @@ -1,7 +1,7 @@ package com.fr.design.mainframe; +import com.fr.design.constants.LayoutConstants; import java.awt.BorderLayout; -import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -25,6 +25,7 @@ import com.fr.design.utils.gui.GUICoreUtils; 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; public class DecodeDialog { @@ -37,20 +38,26 @@ public class DecodeDialog { public DecodeDialog(final FILE file) { this.file = file; - + jd = new JDialog(); jd.setLayout(new BorderLayout()); - UILabel newNameLable = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ECP_Input_Pwd")); + JPanel contentPanel = new JPanel(); + contentPanel.setLayout(new BorderLayout()); + // 密码输入 + UILabel newNameLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ECP_Input_Pwd")); jt = new UITextField(StringUtils.EMPTY); jt.selectAll(); - jd.add(row(20, cell(newNameLable), cell(jt)).getComponent(), BorderLayout.NORTH); - + // 提示文本 hintsLabel = new UILabel(); - hintsLabel.setForeground(Color.RED); + FineUIStyle.setStyle(hintsLabel, FineUIStyle.LABEL_WARNING_TIP); hintsLabel.setVisible(false); + contentPanel.add(column(LayoutConstants.VERTICAL_GAP, + row(20, cell(newNameLabel), cell(jt).weight(1)), + cell(hintsLabel) + ).getComponent()); + contentPanel.setBorder(new ScaledEmptyBorder(30, 20, 10, 20)); confirmButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Confirm")); - FineUIStyle.setStyle(confirmButton, FineUIStyle.PLAIN_BUTTON); confirmButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String key = jt.getText(); @@ -76,8 +83,8 @@ public class DecodeDialog { JPanel buttonPane = new JPanel(new BorderLayout()); buttonPane.setBorder(new ScaledEmptyBorder(10, 10, 10, 10)); buttonPane.add(row(8, cell(confirmButton), cell(cancelButton)).getComponent(), BorderLayout.EAST); + jd.add(contentPanel,BorderLayout.CENTER); jd.add(buttonPane, BorderLayout.SOUTH); - jd.add(hintsLabel, BorderLayout.CENTER); jd.setSize(340, 180); jd.setModal(true); jd.setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ECP_Decode")); diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_area.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_area.svg new file mode 100644 index 0000000000..8e7a17493a --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_area.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_bubble.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_bubble.svg new file mode 100644 index 0000000000..81eb99dad8 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_bubble.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_column.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_column.svg new file mode 100644 index 0000000000..ddf2ef872e --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_column.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_cuvette.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_cuvette.svg new file mode 100644 index 0000000000..4d68f0943c --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_cuvette.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_different_pie.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_different_pie.svg new file mode 100644 index 0000000000..99f947b8ba --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_different_pie.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_line.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_line.svg new file mode 100644 index 0000000000..9f4013ec9d --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_line.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pie.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pie.svg new file mode 100644 index 0000000000..620f4db03e --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pie.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_180.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_180.svg new file mode 100644 index 0000000000..32f8af8ede --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_180.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_360.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_360.svg new file mode 100644 index 0000000000..1f680fd7a1 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_pointer_360.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_radar.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_radar.svg new file mode 100644 index 0000000000..d1141904ca --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_radar.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_ring.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_ring.svg new file mode 100644 index 0000000000..783652eeea --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_ring.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_same_pie.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_same_pie.svg new file mode 100644 index 0000000000..5f18014891 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_same_pie.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_scatter.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_scatter.svg new file mode 100644 index 0000000000..54b295eafe --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_scatter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_slot.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_slot.svg new file mode 100644 index 0000000000..542a90fa65 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_slot.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_stack_radar.svg b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_stack_radar.svg new file mode 100644 index 0000000000..c278096d54 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/chart/icon_stack_radar.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json index 45971eca90..57d03e4efc 100644 --- a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json +++ b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json @@ -425,6 +425,21 @@ "chart_rectangleTree": "chart/chart_rectangleTree.svg", "chart_wordCloud": "chart/chart_wordCloud.svg", "chart_frame": "chart/chart_frame.svg", + "icon_area": "chart/icon_area.svg", + "icon_bubble": "chart/icon_bubble.svg", + "icon_cuvette": "chart/icon_cuvette.svg", + "icon_different_pie": "chart/icon_different_pie.svg", + "icon_line": "chart/icon_line.svg", + "icon_pie": "chart/icon_pie.svg", + "icon_pointer_180": "chart/icon_pointer_180.svg", + "icon_pointer_360": "chart/icon_pointer_360.svg", + "icon_radar": "chart/icon_radar.svg", + "icon_ring": "chart/icon_ring.svg", + "icon_same_pie": "chart/icon_same_pie.svg", + "icon_scatter": "chart/icon_scatter.svg", + "icon_slot": "chart/icon_slot.svg", + "icon_stack_radar": "chart/icon_stack_radar.svg", + "icon_column": "chart/icon_column.svg", "out": "border/out.svg", "in": "border/in.svg", "bottom": "border/bottom.svg", diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/component/ChartImageCheckOutPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/component/ChartImageCheckOutPane.java index 74bf668f8b..0715be73a4 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/component/ChartImageCheckOutPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/component/ChartImageCheckOutPane.java @@ -1,5 +1,6 @@ package com.fr.van.chart.custom.component; +import com.fine.theme.icon.LazyIcon; import com.fr.design.constants.UIConstants; import com.fr.design.dialog.BasicPane; import com.fr.design.event.UIObserver; @@ -8,21 +9,30 @@ import com.fr.plugin.chart.custom.CustomPlotFactory; import com.fr.plugin.chart.custom.type.CustomPlotType; import javax.swing.BorderFactory; -import javax.swing.ImageIcon; +import javax.swing.Icon; import javax.swing.JCheckBox; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.BorderLayout; +import java.awt.Graphics; +import java.awt.Dimension; import java.util.ArrayList; +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.flex; + /** * Created by Fangjie on 2016/4/19. */ public class ChartImageCheckOutPane extends BasicPane implements UIObserver { private JCheckBox checkBox; - private CustomPlotType customPlotType; - private ArrayList changeListeners = new ArrayList(); + private Icon backgroundIcon; + private final CustomPlotType customPlotType; + private static final int ICON_WIDTH = 56; + private static final int ICON_HEIGHT = 50; + private final ArrayList changeListeners = new ArrayList(); public ChartImageCheckOutPane(CustomPlotType type){ this(type, false); @@ -30,40 +40,40 @@ public class ChartImageCheckOutPane extends BasicPane implements UIObserver { public ChartImageCheckOutPane( CustomPlotType type, boolean isSelected){ this.customPlotType = type; + initComponent(isSelected); + } - initCheckBox(isSelected); - - this.add(checkBox, BorderLayout.CENTER); + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + if (backgroundIcon != null) { + backgroundIcon.paintIcon(this, g, 0, 0); + } } public CustomPlotType getCustomPlotType() { return customPlotType; } - private void initCheckBox(boolean isSelected) { + private void initComponent(boolean isSelected) { this.checkBox = new JCheckBox(); this.checkBox.setSelected(isSelected); //设置提示 this.checkBox.setToolTipText(CustomPlotFactory.getTooltipText(this.customPlotType)); - //背景 - checkBox.setIcon(new ImageIcon(getClass().getResource(getIconPath(customPlotType,isSelected)))); - + //设置背景图标 + this.backgroundIcon = new LazyIcon(getIconId(this.customPlotType), new Dimension(ICON_WIDTH, ICON_HEIGHT)); this.setLayout(new BorderLayout()); + this.add(row(flex(), cell(checkBox)).getComponent(), BorderLayout.NORTH); } - private String getIconPath(CustomPlotType customPlotType, boolean isSelected) { - return isSelected ? CustomPlotFactory.getTypeIconPath(customPlotType)[0] : CustomPlotFactory.getTypeIconPath(customPlotType)[1]; + private String getIconId(CustomPlotType customPlotType) { + return CustomPlotFactory.getTypeIconId(customPlotType); } - public JCheckBox getCheckBox() { return checkBox; } - public void checkIconImage(){ - checkBox.setIcon(new ImageIcon(getClass().getResource(getIconPath(customPlotType, checkBox.isSelected())))); - } - public void setPaneBorder(boolean isRightLine, boolean isBottomLine){ this.setBorder(BorderFactory.createMatteBorder(1, 1, isBottomLine ? 1 : 0, isRightLine ? 1 : 0, UIConstants.LINE_COLOR)); } @@ -77,7 +87,6 @@ public class ChartImageCheckOutPane extends BasicPane implements UIObserver { } - @Override protected String title4PopupWindow() { return null; diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartCustomPlotSelectPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartCustomPlotSelectPane.java index f73d23671b..296abc5601 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartCustomPlotSelectPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartCustomPlotSelectPane.java @@ -65,8 +65,6 @@ public class VanChartCustomPlotSelectPane extends BasicBeanPane { updateOldSelectedList(); addCheckBoxListener(); - - checkoutSelected(); } private void updateOldSelectedList() { @@ -76,13 +74,6 @@ public class VanChartCustomPlotSelectPane extends BasicBeanPane { } } - private void checkoutSelected() { - for (int i = 0; i < customTypeList.size(); i++){ - //根据是否选中重置背景 - customTypeList.get(i).checkIconImage(); - } - } - private void initContentPane() { content = FRGUIPaneFactory.createNColumnGridInnerContainer_Pane(CUSTOM_TYPE_NUM, 0, 0); @@ -124,9 +115,6 @@ public class VanChartCustomPlotSelectPane extends BasicBeanPane { //点击后更新已选顺序 checkoutSelectedPlotTypeList(); - //点击后,更新背景 - checkoutSelected(); - //响应观察者事件,以便更新chart fireDirty(); } @@ -169,8 +157,6 @@ public class VanChartCustomPlotSelectPane extends BasicBeanPane { populateCustomTypeList(customPlot); populateSelectedPlotTypeList(customPlot); - - checkoutSelected(); } private void populateSelectedPlotTypeList(VanChartCustomPlot customPlot) { diff --git a/designer-realize/src/main/java/com/fr/design/sort/common/SortColumnRowPane.java b/designer-realize/src/main/java/com/fr/design/sort/common/SortColumnRowPane.java index bb110c8203..b2d0e6dd08 100644 --- a/designer-realize/src/main/java/com/fr/design/sort/common/SortColumnRowPane.java +++ b/designer-realize/src/main/java/com/fr/design/sort/common/SortColumnRowPane.java @@ -7,7 +7,6 @@ import com.fr.base.background.ColorBackground; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import com.fr.design.file.HistoryTemplateListCache; -import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.ElementCasePane; @@ -26,7 +25,6 @@ import com.fr.stable.ColumnRow; import com.fr.stable.EssentialUtils; import com.fr.stable.StringUtils; -import javax.swing.Icon; import javax.swing.JPanel; import javax.swing.JTextField; import java.awt.BorderLayout; @@ -48,11 +46,8 @@ public class SortColumnRowPane extends JPanel implements UIObserver { private CellSelection oldSelection; private SelectionListener gridSelectionChangeListener; UIObserverListener uiObserverListener; - private final static Icon DISABLED_ICON = new LazyIcon("cellSelect").disabled(); - private final static Icon ENABLE_ICON = new LazyIcon("cellSelect"); private boolean enabled; SelectActionListener selectActionListener; - private AbstractAttrNoScrollPane parent; HeaderAreaPane.CellSelectionManager cellSelectionManager; @@ -65,13 +60,6 @@ public class SortColumnRowPane extends JPanel implements UIObserver { initTextField(); initSelectButton(); initLayout(); - //翻新前AbstractAttrNoScrollPane中递归注册已加载的Pane事件,UI翻新后部分面板未提前加载导致事件未注册,先主动调用下后续再重构 - registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - parent.attributeChanged(); - } - }); } private void initLayout() { @@ -100,7 +88,7 @@ public class SortColumnRowPane extends JPanel implements UIObserver { } void initSelectButton() { - selectButton = new UIButton(ENABLE_ICON); + selectButton = new UIButton(new LazyIcon("cellSelect")); selectActionListener = new SelectActionListener(this); selectButton.addMouseListener(selectActionListener); } @@ -123,12 +111,6 @@ public class SortColumnRowPane extends JPanel implements UIObserver { colJTextField.setText(StringUtils.EMPTY); rowJTextField.setText(StringUtils.EMPTY); } - if (enabled) { - selectButton.setIcon(ENABLE_ICON); - } else { - selectButton.setIcon(DISABLED_ICON); - } - selectButton.setEnabled(false); refresh(); } diff --git a/designer-realize/src/main/java/com/fr/design/sort/header/HeaderAreaPane.java b/designer-realize/src/main/java/com/fr/design/sort/header/HeaderAreaPane.java index bff1c4ec72..cd9c616d26 100644 --- a/designer-realize/src/main/java/com/fr/design/sort/header/HeaderAreaPane.java +++ b/designer-realize/src/main/java/com/fr/design/sort/header/HeaderAreaPane.java @@ -1,7 +1,6 @@ package com.fr.design.sort.header; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.gui.core.ReactiveCardPane; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; @@ -23,6 +22,8 @@ import static com.fine.swing.ui.layout.Layouts.column; 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.flex; +import static com.fr.design.constants.LayoutConstants.LEFT_WEIGHT; +import static com.fr.design.constants.LayoutConstants.RIGHT_WEIGHT; public class HeaderAreaPane extends JPanel { @@ -31,10 +32,8 @@ public class HeaderAreaPane extends JPanel { private CellSelectionManager cellSelectionManager = new CellSelectionManager(); TemplateCellElement cellElement; SortColumnRowPane columnRowPane; - ReactiveCardPane cardPane; UIComboBox uiComboBox; - UILabel headerLabel; - boolean showHeaderArea; + JPanel sortColumnRowPanel; HeaderAreaPane(int headerAreaPaneWidth, int headerAreaPaneRightWidth) { this.headerAreaPaneWidth = headerAreaPaneWidth; @@ -43,59 +42,25 @@ public class HeaderAreaPane extends JPanel { } void initComponents() { - headerLabel = new UILabel(Toolkit.i18nText("Fine-Design_Sort_Header_Area"), SwingConstants.LEFT); uiComboBox = new UIComboBox(new String[]{Toolkit.i18nText("Fine-Design_Basic_None"), Toolkit.i18nText("Fine-Design_Basic_Custom")}); columnRowPane = new SortColumnRowPane(); - initCardPane(); - initChangeListener(); + sortColumnRowPanel = new JPanel(new BorderLayout()); + sortColumnRowPanel.setBorder(new ScaledEmptyBorder(10, 0, 0, 0)); + sortColumnRowPanel.add(row(flex(LEFT_WEIGHT), cell(columnRowPane).weight(RIGHT_WEIGHT)).getComponent()); this.setLayout(new BorderLayout()); - this.add(cardPane); + this.add(column( + row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Sort_Header_Area"))).weight(LEFT_WEIGHT), cell(uiComboBox).weight(RIGHT_WEIGHT)), + cell(sortColumnRowPanel) + ).getComponent()); + uiComboBox.setSelectedIndex(1); + initChangeListener(); } private void initChangeListener() { uiComboBox.addItemListener(e -> { - if ((showHeaderArea ? 1 : 0) != uiComboBox.getSelectedIndex()) { - triggerItemChanged(); - } + sortColumnRowPanel.setVisible(uiComboBox.getSelectedIndex() == 1); }); - uiComboBox.setEnabled(false); - } - - private void triggerItemChanged() { - if (uiComboBox.getSelectedIndex() == 0) { - cardPane.select("none").populate(); - showHeaderArea = false; - cellSelectionManager.removeNotSelectables(columnRowPane.updateBean()); - columnRowPane.cancelSelectState(); - } else { - cardPane.select("custom").populate(); - showHeaderArea = true; - ColumnRow columnRow = columnRowPane.updateBean(); - if (cellSelectionManager.isNotSelectables(columnRow)) { - columnRowPane.setColumnRow(ColumnRow.ERROR); - } else { - cellSelectionManager.addNotSelectables(columnRow); - } - } - } - - private void initCardPane() { - cardPane = ReactiveCardPane.create() - .addSupplier("none", () -> column(LayoutConstants.VERTICAL_GAP, - row( - cell(headerLabel).weight(1.2), cell(uiComboBox).weight(3) - ) - ).getComponent()) - .addSupplier("custom", () -> column(LayoutConstants.VERTICAL_GAP, - row( - cell(headerLabel).weight(1.2), cell(uiComboBox).weight(3) - ), - row( - flex(1.2), cell(columnRowPane).weight(3) - ) - ).getComponent()); - - cardPane.select("none").populate(); + uiComboBox.setSelectedIndex(0); } public void populateBean(ColumnRow columnRow, boolean showHeaderArea, TemplateCellElement cellElement) { diff --git a/designer-realize/src/main/java/com/fr/design/webattr/DragToolBarPane.java b/designer-realize/src/main/java/com/fr/design/webattr/DragToolBarPane.java index 496b368014..28087fd4f9 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/DragToolBarPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/DragToolBarPane.java @@ -112,7 +112,7 @@ public class DragToolBarPane extends WidgetToolBarPane { JPanel movePane = FRGUIPaneFactory.createBorderLayout_S_Pane(); movePane.add(column(1, cell(topToolbarPanel), - cell(toolbarButtonList), + cell(toolbarButtonList).weight(1), cell(bottomToolbarPanel) ).getComponent()); this.add(new JScrollPane(movePane), BorderLayout.CENTER); From 308a30f4d6f8868df86a229e212f783900733249 Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 13 Sep 2024 11:55:58 +0800 Subject: [PATCH 17/20] =?UTF-8?q?REPORT-134361=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E8=B5=B7=E5=A7=8B=E9=A1=B5=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E9=83=A8=E5=88=86=E5=9C=BA=E6=99=AF=E8=BE=B9=E6=A1=86?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java index 35cf86ab94..d91fc544ac 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWorkspacePanel.java @@ -413,7 +413,7 @@ public class StartupPageWorkspacePanel extends JPanel { } selectWorkspacePanel.setPreferredSize(SELECT_WORKSPACE_DIMENSION); - workspaceItemDesc.add(selectWorkspacePanel, BorderLayout.WEST); + workspaceItemDesc.add(selectWorkspacePanel, BorderLayout.CENTER); } private void layoutSelectAndCreatePanel(StartupWorkspaceBean workspaceInfo, JPanel workspaceItemDesc) { From b4bd661172c71eac75477007eb049f6bbdd203f2 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 13 Sep 2024 12:17:29 +0800 Subject: [PATCH 18/20] =?UTF-8?q?REPORT-134702=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E6=9C=80=E6=96=B0=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=EF=BC=8C=E5=88=87=E6=8D=A2=E6=9C=AC=E5=9C=B0=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=8A=A5=E9=94=99=E5=A4=A7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=8D=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/com/fr/env/jarVersion.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/resources/com/fr/env/jarVersion.properties b/designer-base/src/main/resources/com/fr/env/jarVersion.properties index ed456e8ecf..a0fdbbf45d 100644 --- a/designer-base/src/main/resources/com/fr/env/jarVersion.properties +++ b/designer-base/src/main/resources/com/fr/env/jarVersion.properties @@ -1 +1 @@ -report-engine-key=fine-report-engine-1.0.jar \ No newline at end of file +report-engine-key=fine-report-engine-1.0.0.jar \ No newline at end of file From 7b08ede652db115bcd7cc9b6f9da5ce1ca76b10d Mon Sep 17 00:00:00 2001 From: renekton Date: Fri, 13 Sep 2024 12:37:57 +0800 Subject: [PATCH 19/20] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...DBManipulationInWdigetEventNoCellPane.java | 35 +++++++++++++++++++ .../write/submit/DBManipulationPane.java | 6 +++- .../properties/EventPropertyTable.java | 3 +- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java diff --git a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java new file mode 100644 index 0000000000..f5426bd14a --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java @@ -0,0 +1,35 @@ +package com.fr.design.write.submit; + +import com.fine.theme.utils.FineUIScale; +import com.fr.design.editor.editor.Editor; + +import java.awt.BorderLayout; +import java.awt.Dimension; + +import static com.fine.theme.utils.FineUIScale.scale; + +public class DBManipulationInWdigetEventNoCellPane extends DBManipulationPane { + + public DBManipulationInWdigetEventNoCellPane() { + super(); + } + + public DBManipulationInWdigetEventNoCellPane(Editor[] v_Types) { + super(v_Types); + } + + protected Dimension createEditTablePreferredSize() { + return scale(new Dimension(280, 150)); + } + + protected Dimension getPreferredScrollableViewportSize() { + return scale(new Dimension(280, 120)); + } + protected Dimension createControlBtnPanePreferredSize(){ + return FineUIScale.scale(new Dimension(110, 20)); + } + + protected String setControlBtnPanePosition(){ + return BorderLayout.EAST; + } +} diff --git a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java index ee71b66b35..2f14608ec2 100644 --- a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java +++ b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java @@ -175,7 +175,7 @@ public class DBManipulationPane extends BasicBeanPane { keyColumnValuesTable = new KeyColumnNameValueTable(); editTablePane.add(new UIVerticalScrollPane(keyColumnValuesTable), BorderLayout.CENTER); keyColumnValuesTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); - keyColumnValuesTable.setPreferredScrollableViewportSize(scale(new Dimension(280, 150))); + keyColumnValuesTable.setPreferredScrollableViewportSize(getPreferredScrollableViewportSize()); keyColumnValuesTable.setShowHorizontalLines(true); northPane.add(column(10, @@ -200,6 +200,10 @@ public class DBManipulationPane extends BasicBeanPane { addListeners(); } + protected Dimension getPreferredScrollableViewportSize() { + return scale(new Dimension(280, 150)); + } + public void setSubMitName(String subMitName) { this.subMitName = subMitName; } diff --git a/designer-form/src/main/java/com/fr/design/designer/properties/EventPropertyTable.java b/designer-form/src/main/java/com/fr/design/designer/properties/EventPropertyTable.java index 2a3ab3dac2..143b7ee024 100644 --- a/designer-form/src/main/java/com/fr/design/designer/properties/EventPropertyTable.java +++ b/designer-form/src/main/java/com/fr/design/designer/properties/EventPropertyTable.java @@ -7,6 +7,7 @@ import com.fr.design.javascript.EmailPane; import com.fr.design.javascript.JavaScriptActionPane; import com.fr.design.mainframe.FormDesigner; import com.fr.design.widget.EventCreator; +import com.fr.design.write.submit.DBManipulationInWdigetEventNoCellPane; import com.fr.design.write.submit.DBManipulationPane; import com.fr.design.editor.ValueEditorPaneFactory; import com.fr.design.designer.creator.XCreator; @@ -44,7 +45,7 @@ public class EventPropertyTable extends UIListControlPane { return new JavaScriptActionPane() { @Override protected DBManipulationPane createDBManipulationPane() { - return new DBManipulationPane(ValueEditorPaneFactory.formEditors()); + return new DBManipulationInWdigetEventNoCellPane(ValueEditorPaneFactory.formEditors()); } @Override From 14cca0ca4b2ed06adba5a30f207012e5d7393af9 Mon Sep 17 00:00:00 2001 From: renekton Date: Fri, 13 Sep 2024 12:43:27 +0800 Subject: [PATCH 20/20] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../submit/DBManipulationInWdigetEventNoCellPane.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java index f5426bd14a..84ec689c9f 100644 --- a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java +++ b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationInWdigetEventNoCellPane.java @@ -8,14 +8,21 @@ import java.awt.Dimension; import static com.fine.theme.utils.FineUIScale.scale; +/** + * 控件面板添加的控件绑定的提交入库事件面板 + * + * @author Renekton + * @since 11.0 + * Created on 2024/09/13 + */ public class DBManipulationInWdigetEventNoCellPane extends DBManipulationPane { public DBManipulationInWdigetEventNoCellPane() { super(); } - public DBManipulationInWdigetEventNoCellPane(Editor[] v_Types) { - super(v_Types); + public DBManipulationInWdigetEventNoCellPane(Editor[] vTypes) { + super(vTypes); } protected Dimension createEditTablePreferredSize() {