From ee10465133fc2defbf8e57212f42f0afe50ba7ec Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 10 Jul 2018 10:18:18 +0800 Subject: [PATCH 1/7] =?UTF-8?q?REPORT-9543=20=E4=BB=A3=E7=A0=81=E8=B4=A8?= =?UTF-8?q?=E9=87=8F=EF=BC=9A=E5=B0=86=20PrintAttr=20=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=88=B0=20PrintConfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/webattr/EditReportServerParameterPane.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer-realize/src/com/fr/design/webattr/EditReportServerParameterPane.java b/designer-realize/src/com/fr/design/webattr/EditReportServerParameterPane.java index d8c777655..f05ee033a 100644 --- a/designer-realize/src/com/fr/design/webattr/EditReportServerParameterPane.java +++ b/designer-realize/src/com/fr/design/webattr/EditReportServerParameterPane.java @@ -5,6 +5,7 @@ package com.fr.design.webattr; import com.fr.base.ConfigManager; import com.fr.base.print.PrintSettingsAttrMark; +import com.fr.config.PrintConfig; import com.fr.config.ServerPreferenceConfig; import com.fr.design.gui.frpane.LoadingBasicPane; import com.fr.design.gui.frpane.UITabbedPane; @@ -109,7 +110,7 @@ public class EditReportServerParameterPane extends LoadingBasicPane { jsPane.update(webAttr); printSettings = printSettingPane.updateBean(); - (ConfigManager.getProviderInstance()).getPrintAttr().setPrintSettings(printSettings); + PrintConfig.getInstance().setPrintSettings(printSettings); reportServerPreferenceConfig.setErrorTemplate(this.errorTemplatePane.updateBean()); } From 44aac62eb8ff746d71a67f786ceb1d98df98b316 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Tue, 10 Jul 2018 14:04:02 +0800 Subject: [PATCH 2/7] =?UTF-8?q?REPORT-9061=20=E8=AE=B0=E4=BD=8F=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E9=A2=9C=E8=89=B2=E5=8A=9F=E8=83=BDbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/DesignerEnvManager.java | 20 ++++- .../style/color/ColorSelectConfigManager.java | 85 ++++--------------- 2 files changed, 33 insertions(+), 72 deletions(-) diff --git a/designer-base/src/com/fr/design/DesignerEnvManager.java b/designer-base/src/com/fr/design/DesignerEnvManager.java index 30f5507d0..1d88c9443 100644 --- a/designer-base/src/com/fr/design/DesignerEnvManager.java +++ b/designer-base/src/com/fr/design/DesignerEnvManager.java @@ -13,6 +13,7 @@ import com.fr.design.env.DesignerWorkspaceInfo; import com.fr.design.env.DesignerWorkspaceType; import com.fr.design.env.LocalDesignerWorkspaceInfo; import com.fr.design.env.RemoteDesignerWorkspaceInfo; +import com.fr.design.style.color.ColorSelectConfigManager; import com.fr.file.FILEFactory; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogFormatter; @@ -127,7 +128,8 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { //记录当前激活码的在线激活状态. private int activeKeyStatus = -1; private boolean joinProductImprove = true; - + //最近使用的颜色 + private ColorSelectConfigManager configManager = ColorSelectConfigManager.getInstance(); /** * alphafine */ @@ -1293,6 +1295,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } } + private void readRecentColor(XMLableReader reader){ + reader.readXMLObject(this.configManager); + } + /** * Read XML.
* The method will be invoked when read data from XML file.
@@ -1344,7 +1350,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { readHttpsParas(reader); } else if (name.equals("AlphaFineConfigManager")) { readAlphaFineAttr(reader); - } else { + } else if (name.equals("RecentColors")) { + readRecentColor(reader); + } + else { readLayout(reader, name); } } @@ -1536,6 +1545,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { writeActiveStatus(writer); writeHttpsParas(writer); writeAlphaFineAttr(writer); + writeRecentColor(writer); writer.end(); } @@ -1545,6 +1555,12 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } } + private void writeRecentColor(XMLPrintWriter writer) { + if (this.configManager != null) { + this.configManager.writeXML(writer); + } + } + public String getUUID() { return StringUtils.isEmpty(uuid) ? UUID.randomUUID().toString() : uuid; } diff --git a/designer-base/src/com/fr/design/style/color/ColorSelectConfigManager.java b/designer-base/src/com/fr/design/style/color/ColorSelectConfigManager.java index 812160778..a23aa3511 100644 --- a/designer-base/src/com/fr/design/style/color/ColorSelectConfigManager.java +++ b/designer-base/src/com/fr/design/style/color/ColorSelectConfigManager.java @@ -1,16 +1,12 @@ package com.fr.design.style.color; -import com.fr.base.FRContext; -import com.fr.file.XMLFileManager; import com.fr.general.ComparatorUtils; -import com.fr.general.GeneralContext; -import com.fr.stable.EnvChangedListener; import com.fr.stable.xml.XMLPrintWriter; -import com.fr.stable.xml.XMLTools; +import com.fr.stable.xml.XMLReadable; import com.fr.stable.xml.XMLableReader; import java.awt.*; -import java.io.InputStream; + import java.util.ArrayList; import java.util.List; @@ -19,12 +15,11 @@ import java.util.List; * * @author focus */ -public class ColorSelectConfigManager extends XMLFileManager implements ColorSelectConfigManagerProvider { +public class ColorSelectConfigManager implements XMLReadable { // 最近使用的颜色个数 private int colorNums = 20; - private static ColorSelectConfigManagerProvider configManager = null; private static ColorSelectConfigManager colorSelectConfigManager = null; private boolean init = true; // 最近使用颜色 @@ -32,29 +27,9 @@ public class ColorSelectConfigManager extends XMLFileManager implements ColorSel private static final String RECENT_COLOR_TAG = "RecentColors"; private static final String COLOR_TAG = "Color"; - static { - GeneralContext.addEnvChangedListener(new EnvChangedListener() { - public void envChanged() { - ColorSelectConfigManager.envChanged(); - } - }); - } - - private static void envChanged() { - configManager = null; - } public Color[] getColors() { - //初次打开软件时从xml文件中获取历史颜色信息 - if (init) { - ColorSelectConfigManagerProvider manager = ColorSelectConfigManager.getProviderInstance(); - this.colors = manager.getColorsFromFile(); - init = false; - } - if (colors == null) { - colors = new ArrayList(); - } return colors.toArray(new Color[colors.size()]); } @@ -91,52 +66,25 @@ public class ColorSelectConfigManager extends XMLFileManager implements ColorSel /*@author yaohwu*/ //将历史颜色信息保存到xml文件中去 - ColorSelectConfigManagerProvider manager = ColorSelectConfigManager.getProviderInstance(); + ColorSelectConfigManager manager = ColorSelectConfigManager.getInstance(); if (colors != null && !colors.isEmpty()) { manager.setColorsToFile(colors); } } - - /** - * 读取配置文件流 - * - * @param input 流 - * @throws Exception 异常 - */ - @Override - public void readFromInputStream(InputStream input) throws Exception { - ColorSelectConfigManager manager = new ColorSelectConfigManager(); - XMLTools.readInputStreamXML(manager, input); - configManager = manager; - } - - - /** - * 获取配置管理接口 - * - * @return 配置管理接口ConfigManagerProvider - */ - public synchronized static ColorSelectConfigManagerProvider getProviderInstance() { - if (configManager == null) { - configManager = new ColorSelectConfigManager(); - configManager.readXMLFile(); - } - return configManager; - } - - public String fileName() { - return "recentcolors.xml"; - } - public void readXML(XMLableReader reader) { - String name = reader.getTagName(); - if (reader.isChildNode()) { - if (ComparatorUtils.equals(COLOR_TAG, name)) { - Color color = null; - colors.add(reader.getAttrAsColor("colors", color)); + reader.readXMLObject(new XMLReadable() { + @Override + public void readXML(XMLableReader reader) { + String tagName = reader.getTagName(); + if (reader.isChildNode()) { + if (ComparatorUtils.equals(COLOR_TAG, tagName)) { + Color color = null; + colors.add(reader.getAttrAsColor("colors", color)); + } + } } - } + }); } public void writeXML(XMLPrintWriter writer) { @@ -151,9 +99,6 @@ public class ColorSelectConfigManager extends XMLFileManager implements ColorSel writer.end(); } - public List getColorsFromFile() { - return this.colors; - } public void setColorsToFile(List colors) { this.colors = colors; From 2b954a07c5316e53d59ae162e0ede4123a595a9e Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Tue, 10 Jul 2018 14:44:41 +0800 Subject: [PATCH 3/7] =?UTF-8?q?REPORT-9061=20=E8=AE=B0=E4=BD=8F=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E9=A2=9C=E8=89=B2=E5=8A=9F=E8=83=BDbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/DesignerEnvManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 a5f3fbceb..ae8419e0d 100644 --- a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java +++ b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java @@ -131,7 +131,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { private int activeKeyStatus = -1; private boolean joinProductImprove = true; //最近使用的颜色 - private ColorSelectConfigManager configManager = ColorSelectConfigManager.getInstance(); + private ColorSelectConfigManager configManager = new ColorSelectConfigManager(); /** * alphafine */ @@ -1302,7 +1302,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } private void readRecentColor(XMLableReader reader){ - reader.readXMLObject(this.configManager); + reader.readXMLObject(this.configManager.getInstance()); } /** From 636edef2730d0184e6095d804ec2ca05c7c70886 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Tue, 10 Jul 2018 15:01:07 +0800 Subject: [PATCH 4/7] =?UTF-8?q?REPORT-9061=20=E8=AE=B0=E4=BD=8F=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E9=A2=9C=E8=89=B2=E5=8A=9F=E8=83=BDbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/DesignerEnvManager.java | 6 +++++- .../design/style/background/gradient/GradientBar.java | 3 ++- .../design/style/color/ColorSelectConfigManager.java | 10 +--------- .../com/fr/design/style/color/ColorSelectPane.java | 3 ++- .../com/fr/design/style/color/NewColorSelectPane.java | 3 ++- .../java/com/fr/design/style/color/UsedColorPane.java | 5 +++-- .../mainframe/chart/gui/style/ChartAccColorPane.java | 3 ++- .../van/chart/range/component/LegendGradientBar.java | 7 ++++--- 8 files changed, 21 insertions(+), 19 deletions(-) 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 ae8419e0d..856a5a9e1 100644 --- a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java +++ b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java @@ -192,6 +192,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { return designerEnvManager; } + public ColorSelectConfigManager getColorConfigManager(){ + return this.configManager; + } + public static void checkNameEnvMap() { if (designerEnvManager == null || designerEnvManager.nameEnvMap.size() > 0) { return; @@ -1302,7 +1306,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } private void readRecentColor(XMLableReader reader){ - reader.readXMLObject(this.configManager.getInstance()); + reader.readXMLObject(this.configManager); } /** diff --git a/designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java b/designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java index edc622401..2ce1a0bc3 100644 --- a/designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java +++ b/designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java @@ -19,6 +19,7 @@ import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +import com.fr.design.DesignerEnvManager; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import com.fr.design.gui.itextfield.UINumberField; @@ -104,7 +105,7 @@ public class GradientBar extends JComponent implements UIObserver,ColorSelectabl ColorSelectDialog.showDialog(DesignerContext.getDesignerFrame(), pane, Color.WHITE, GradientBar.this); Color color = GradientBar.this.getColor(); if (color != null) { - ColorSelectConfigManager.getInstance().addToColorQueue(color); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(color); list.get(select).setColorInner(color); stateChanged(); GradientBar.this.repaint(); diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorSelectConfigManager.java b/designer-base/src/main/java/com/fr/design/style/color/ColorSelectConfigManager.java index a23aa3511..d4ca574db 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/ColorSelectConfigManager.java +++ b/designer-base/src/main/java/com/fr/design/style/color/ColorSelectConfigManager.java @@ -20,7 +20,6 @@ public class ColorSelectConfigManager implements XMLReadable { // 最近使用的颜色个数 private int colorNums = 20; - private static ColorSelectConfigManager colorSelectConfigManager = null; private boolean init = true; // 最近使用颜色 private List colors = new ArrayList(); @@ -41,12 +40,6 @@ public class ColorSelectConfigManager implements XMLReadable { this.colorNums = colorNums; } - public synchronized static ColorSelectConfigManager getInstance() { - if (colorSelectConfigManager == null) { - colorSelectConfigManager = new ColorSelectConfigManager(); - } - return colorSelectConfigManager; - } /** * 添加颜色到最近使用队列中 @@ -66,9 +59,8 @@ public class ColorSelectConfigManager implements XMLReadable { /*@author yaohwu*/ //将历史颜色信息保存到xml文件中去 - ColorSelectConfigManager manager = ColorSelectConfigManager.getInstance(); if (colors != null && !colors.isEmpty()) { - manager.setColorsToFile(colors); + this.setColorsToFile(colors); } } diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorSelectPane.java b/designer-base/src/main/java/com/fr/design/style/color/ColorSelectPane.java index 649f845d7..610eb89d1 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/ColorSelectPane.java +++ b/designer-base/src/main/java/com/fr/design/style/color/ColorSelectPane.java @@ -3,6 +3,7 @@ */ package com.fr.design.style.color; +import com.fr.design.DesignerEnvManager; import com.fr.design.border.UIRoundedBorder; import com.fr.design.constants.UIConstants; import com.fr.design.gui.ibutton.UIButton; @@ -159,7 +160,7 @@ public class ColorSelectPane extends TransparentPane implements ColorSelectable } } - ColorSelectConfigManager.getInstance().addToColorQueue(color); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(color); this.repaint(); } diff --git a/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java b/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java index dc17541c8..ab33c9caf 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java +++ b/designer-base/src/main/java/com/fr/design/style/color/NewColorSelectPane.java @@ -1,5 +1,6 @@ package com.fr.design.style.color; +import com.fr.design.DesignerEnvManager; import com.fr.design.border.UIRoundedBorder; import com.fr.design.constants.UIConstants; import com.fr.design.dialog.BasicPane; @@ -163,7 +164,7 @@ public class NewColorSelectPane extends BasicPane implements ColorSelectable { this.colorChangeListenerList.get(i).stateChanged(evt); } } - ColorSelectConfigManager.getInstance().addToColorQueue(color); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(color); this.repaint(); } diff --git a/designer-base/src/main/java/com/fr/design/style/color/UsedColorPane.java b/designer-base/src/main/java/com/fr/design/style/color/UsedColorPane.java index b4a11bce5..e2186a90e 100644 --- a/designer-base/src/main/java/com/fr/design/style/color/UsedColorPane.java +++ b/designer-base/src/main/java/com/fr/design/style/color/UsedColorPane.java @@ -1,5 +1,6 @@ package com.fr.design.style.color; +import com.fr.design.DesignerEnvManager; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.ibutton.SpecialUIButton; @@ -66,7 +67,7 @@ public class UsedColorPane extends BasicPane { panel.setLayout(new GridLayout(rows, columns, 1, 1)); panel.setBorder(BorderFactory.createEmptyBorder(8, 8, 0, 8)); //最近使用颜色 - Color[] colors = ColorSelectConfigManager.getInstance().getColors(); + Color[] colors = DesignerEnvManager.getEnvManager().getColorConfigManager().getColors(); int size = colors.length; int i = 0; if (needPickColorButton) { @@ -96,7 +97,7 @@ public class UsedColorPane extends BasicPane { */ public void updateUsedColor() { int total = columns * rows; - Color[] colors = ColorSelectConfigManager.getInstance().getColors(); + Color[] colors = DesignerEnvManager.getEnvManager().getColorConfigManager().getColors(); int size = colors.length; for (int i = this.reserveCells; i < total; i++) { ColorCell cell = (ColorCell) this.pane.getComponent(i); diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartAccColorPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartAccColorPane.java index a3e1758cc..be517cd92 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartAccColorPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartAccColorPane.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe.chart.gui.style; import com.fr.chart.base.ChartConstants; +import com.fr.design.DesignerEnvManager; import com.fr.design.dialog.BasicPane; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; @@ -122,7 +123,7 @@ public class ChartAccColorPane extends BasicPane implements MouseListener, UIObs Color choosedColor = this.getColor(); if (choosedColor != null) { colors[currentIndex] = choosedColor; - ColorSelectConfigManager.getInstance().addToColorQueue(choosedColor); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(choosedColor); ChartAccColorPane.this.stateChanged(); } ChartAccColorPane.this.repaint(); diff --git a/designer-chart/src/main/java/com/fr/van/chart/range/component/LegendGradientBar.java b/designer-chart/src/main/java/com/fr/van/chart/range/component/LegendGradientBar.java index 8b8c07aa5..72ea983fd 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/range/component/LegendGradientBar.java +++ b/designer-chart/src/main/java/com/fr/van/chart/range/component/LegendGradientBar.java @@ -1,6 +1,7 @@ package com.fr.van.chart.range.component; import com.fr.chart.base.ChartBaseUtils; +import com.fr.design.DesignerEnvManager; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import com.fr.design.mainframe.DesignerContext; @@ -263,7 +264,7 @@ public class LegendGradientBar extends JComponent implements ColorSelectable, UI ColorSelectDialog.showDialog(DesignerContext.getDesignerFrame(), pane, Color.WHITE, LegendGradientBar.this); Color color = LegendGradientBar.this.getColor(); if (color != null) { - ColorSelectConfigManager.getInstance().addToColorQueue(color); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(color); selectColorPointBtnList.get(select).setColorInner(color); LegendGradientBar.this.repaint(); @@ -276,7 +277,7 @@ public class LegendGradientBar extends JComponent implements ColorSelectable, UI ColorSelectDialog.showDialog(DesignerContext.getDesignerFrame(), pane, Color.WHITE, LegendGradientBar.this); Color color = LegendGradientBar.this.getColor(); if (color != null) { - ColorSelectConfigManager.getInstance().addToColorQueue(color); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(color); selectColorSlotBtnStart.setColorInner(color); //stateChanged(); LegendGradientBar.this.repaint(); @@ -286,7 +287,7 @@ public class LegendGradientBar extends JComponent implements ColorSelectable, UI ColorSelectDialog.showDialog(DesignerContext.getDesignerFrame(), pane, Color.WHITE, LegendGradientBar.this); Color color = LegendGradientBar.this.getColor(); if (color != null) { - ColorSelectConfigManager.getInstance().addToColorQueue(color); + DesignerEnvManager.getEnvManager().getColorConfigManager().addToColorQueue(color); selectColorSlotBtnEnd.setColorInner(color); //stateChanged(); LegendGradientBar.this.repaint(); From bdaac3381270b7ce8db589aebede53653184e8c2 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 10 Jul 2018 22:18:24 +0800 Subject: [PATCH 5/7] =?UTF-8?q?REPORT-8947=2010.0=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E7=9A=84pdf=EF=BC=8C=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E5=8F=98=E5=B0=8F=E4=B8=94=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E9=94=AF=E9=BD=BF=E4=B8=A5=E9=87=8D=3D>?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E6=A0=A1=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer-form/src/com/fr/design/mainframe/FormDesignerUI.java | 4 ++-- designer-realize/src/com/fr/grid/GridUI.java | 4 ++-- designer-realize/src/com/fr/poly/PolyDesignUI.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java index 959644ec8..e6b3c7fa8 100644 --- a/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java @@ -120,8 +120,8 @@ public class FormDesignerUI extends ComponentUI { private void paintWatermark(Graphics2D g) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(designer.getTarget()); // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { - watermarkPainter = new WatermarkPainter(watermark); + if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, designer.getResolution())) { + watermarkPainter = new WatermarkPainter(watermark, designer.getResolution()); } watermarkPainter.paint(g, 0, designer.getParaHeight(), designer.getArea().getBounds()); } diff --git a/designer-realize/src/com/fr/grid/GridUI.java b/designer-realize/src/com/fr/grid/GridUI.java index 8577212dc..eee49676f 100644 --- a/designer-realize/src/com/fr/grid/GridUI.java +++ b/designer-realize/src/com/fr/grid/GridUI.java @@ -1106,8 +1106,8 @@ public class GridUI extends ComponentUI { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { - watermarkPainter = new WatermarkPainter(watermark); + if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { + watermarkPainter = new WatermarkPainter(watermark, resolution); } watermarkPainter.paint(g2d, gridSize.width, gridSize.height); } diff --git a/designer-realize/src/com/fr/poly/PolyDesignUI.java b/designer-realize/src/com/fr/poly/PolyDesignUI.java index 7b98269ea..d374d955f 100644 --- a/designer-realize/src/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/com/fr/poly/PolyDesignUI.java @@ -114,8 +114,8 @@ public class PolyDesignUI extends ComponentUI { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { - watermarkPainter = new WatermarkPainter(watermark); + if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { + watermarkPainter = new WatermarkPainter(watermark, resolution); } watermarkPainter.paint(g2d, width, height); } From d5a2c7b50524272f85865cf503ce5699d441bac3 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 11 Jul 2018 10:39:19 +0800 Subject: [PATCH 6/7] =?UTF-8?q?REPORT-8947=20=E8=B0=83=E6=95=B4=E6=B0=B4?= =?UTF-8?q?=E5=8D=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/report/WatermarkPreviewPane.java | 3 +- .../fr/design/mainframe/FormDesignerUI.java | 33 ++++++++----------- .../src/main/java/com/fr/grid/GridUI.java | 23 ++++++++----- .../main/java/com/fr/poly/PolyDesignUI.java | 9 ++--- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java b/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java index 3c2d20704..8e9eb853e 100644 --- a/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java @@ -32,6 +32,7 @@ public class WatermarkPreviewPane extends JPanel { super.paint(g); Graphics2D g2d = (Graphics2D)g; g2d.drawImage(UIConstants.WATERMARK_BACKGROUND, 0, 0, this.getWidth(), this.getHeight(), null); - new WatermarkPainter(watermark).paint(g2d, this.getWidth(), this.getHeight()); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark); + painter.paint(g2d, this.getWidth(), this.getHeight()); } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java index e6b3c7fa8..5d9a166a1 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java @@ -1,18 +1,5 @@ package com.fr.design.mainframe; -import java.awt.AlphaComposite; -import java.awt.Component; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Rectangle; -import java.awt.geom.Area; -import java.awt.geom.Rectangle2D; -import java.util.ArrayList; - -import javax.swing.JComponent; -import javax.swing.SwingUtilities; -import javax.swing.plaf.ComponentUI; - import com.fr.base.BaseUtils; import com.fr.base.GraphHelper; import com.fr.base.ScreenResolution; @@ -30,12 +17,23 @@ import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.form.util.XCreatorConstants; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.utils.ComponentUtils; -import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.page.WatermarkPainter; import com.fr.report.core.ReportUtils; import com.fr.stable.ArrayUtils; +import javax.swing.JComponent; +import javax.swing.SwingUtilities; +import javax.swing.plaf.ComponentUI; +import java.awt.AlphaComposite; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.geom.Area; +import java.awt.geom.Rectangle2D; +import java.util.ArrayList; + /** * FormDesigner的UI类,是一个有状态的UI类,它根据FormDesigner的当前状态画出 * 具有所见即所得的设计界面,以及当前设计界面的一些辅助状态,比如选择标识、拖动区域 以及当前正在添加的组件 @@ -119,11 +117,8 @@ public class FormDesignerUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(designer.getTarget()); - // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, designer.getResolution())) { - watermarkPainter = new WatermarkPainter(watermark, designer.getResolution()); - } - watermarkPainter.paint(g, 0, designer.getParaHeight(), designer.getArea().getBounds()); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark, designer.getResolution()); + painter.paint(g, 0, designer.getParaHeight(), designer.getArea().getBounds()); } private int[] getActualLine(int i) { diff --git a/designer-realize/src/main/java/com/fr/grid/GridUI.java b/designer-realize/src/main/java/com/fr/grid/GridUI.java index eee49676f..6c5da1630 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridUI.java @@ -48,9 +48,20 @@ import com.fr.stable.script.CalculatorUtils; import com.fr.stable.unit.FU; import com.fr.third.antlr.ANTLRException; -import javax.swing.*; +import javax.swing.JComponent; +import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; -import java.awt.*; +import java.awt.AlphaComposite; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Composite; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Paint; +import java.awt.Rectangle; +import java.awt.Shape; +import java.awt.Stroke; import java.awt.geom.Area; import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; @@ -1104,12 +1115,8 @@ public class GridUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g2d, FineBook book) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); - - // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { - watermarkPainter = new WatermarkPainter(watermark, resolution); - } - watermarkPainter.paint(g2d, gridSize.width, gridSize.height); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark, resolution); + painter.paint(g2d, gridSize.width, gridSize.height); } diff --git a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java index d374d955f..33058faf8 100644 --- a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java @@ -10,7 +10,6 @@ import com.fr.base.ScreenResolution; import com.fr.base.iofile.attr.WatermarkAttr; import com.fr.design.utils.ComponentUtils; import com.fr.general.Background; -import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.main.FineBook; import com.fr.page.PaperSettingProvider; @@ -112,12 +111,8 @@ public class PolyDesignUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g2d, FineBook book, int width, int height) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); - - // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { - watermarkPainter = new WatermarkPainter(watermark, resolution); - } - watermarkPainter.paint(g2d, width, height); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark, resolution); + painter.paint(g2d, width, height); } private void paintAddedData(Graphics g) { From 9c62a9d3bc04ef8f41724a80af4c48686f0fc3f9 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 11 Jul 2018 10:41:26 +0800 Subject: [PATCH 7/7] =?UTF-8?q?REPORT-8947=20=E8=B0=83=E6=95=B4=E6=B0=B4?= =?UTF-8?q?=E5=8D=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/FormDesignerUI.java | 1 - designer-realize/src/main/java/com/fr/grid/GridUI.java | 1 - designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java | 1 - 3 files changed, 3 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java index 5d9a166a1..5cc2ead91 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java @@ -44,7 +44,6 @@ public class FormDesignerUI extends ComponentUI { private FormDesigner designer; private SelectionModel selectionModel; private Rectangle2D.Double back_or_selection_rect = new Rectangle2D.Double(0, 0, 0, 0); - private WatermarkPainter watermarkPainter; private float time; public FormDesignerUI() { diff --git a/designer-realize/src/main/java/com/fr/grid/GridUI.java b/designer-realize/src/main/java/com/fr/grid/GridUI.java index 6c5da1630..45d8143c8 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridUI.java @@ -109,7 +109,6 @@ public class GridUI extends ComponentUI { protected int resolution; private boolean isAuthority = false; - private WatermarkPainter watermarkPainter; public GridUI(int resolution) { super(); diff --git a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java index 33058faf8..ba6f79e71 100644 --- a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java @@ -55,7 +55,6 @@ public class PolyDesignUI extends ComponentUI { private PolyDesigner designer; private int resolution; private float time; - private WatermarkPainter watermarkPainter; public PolyDesignUI(int resolution) { if (resolution == 0){