diff --git a/designer-base/src/main/java/com/fr/design/report/WatermarkSettingPane.java b/designer-base/src/main/java/com/fr/design/report/WatermarkSettingPane.java new file mode 100644 index 000000000..e5f54ed67 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/report/WatermarkSettingPane.java @@ -0,0 +1,52 @@ +package com.fr.design.report; + +import com.fr.base.iofile.attr.WatermarkAttr; +import com.fr.design.dialog.AbstractTemplateServerSettingPane; +import com.fr.report.core.ReportUtils; + +import javax.swing.JPanel; + +/** + * Created by plough on 2018/11/7. + */ +public class WatermarkSettingPane extends AbstractTemplateServerSettingPane { + private WatermarkPane watermarkPane; + + @Override + protected JPanel getContentPane() { + if (watermarkPane == null) { + watermarkPane = new WatermarkPane(); + } + return watermarkPane; + } + + @Override + protected void populateServerSettings() { + WatermarkAttr watermarkAttr = ReportUtils.getWatermarkAttrFromServerConfig(); + watermarkPane.populate(watermarkAttr); + } + + @Override + protected String title4PopupWindow() { + return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_WaterMark"); + } + + public void populate(WatermarkAttr watermark) { + if (!watermark.isValid()) { + chooseComboBox.setSelectedIndex(SERVER_SET); + populateServerSettings(); + return; + } + chooseComboBox.setSelectedIndex(SINGLE_SET); + watermarkPane.populate(watermark); + } + + + public WatermarkAttr update() { + WatermarkAttr watermark = watermarkPane.update(); + if (isUsingServerSettings()) { + watermark.setValid(false); + } + return watermark; + } +} 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 9ddee0b5c..6e8419f72 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 @@ -18,6 +18,7 @@ import com.fr.design.form.util.XCreatorConstants; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.utils.ComponentUtils; +import com.fr.form.main.parameter.FormParameterUI; import com.fr.page.WatermarkPainter; import com.fr.report.core.ReportUtils; import com.fr.stable.ArrayUtils; @@ -113,7 +114,10 @@ public class FormDesignerUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g) { - WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(designer.getTarget()); + if (designer.getTarget() instanceof FormParameterUI) { // cpt 的参数面板 + return; + } + WatermarkAttr watermark = ReportUtils.getWatermarkAttrFromTemplateAndGlobal(designer.getTarget()); WatermarkPainter painter = WatermarkPainter.createPainter(watermark, designer.getResolution()); painter.paint(g, 0, 0, designer.getArea().getBounds()); } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java index a0567bad1..f15292ed1 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java @@ -7,6 +7,7 @@ import com.fr.design.mainframe.widget.editors.ITextComponent; import com.fr.design.mainframe.widget.renderer.WatermarkRenderer; import com.fr.design.mainframe.widget.wrappers.WatermarkWrapper; import com.fr.design.report.WatermarkPane; +import com.fr.design.report.WatermarkSettingPane; import com.fr.intelli.record.Focus; import com.fr.intelli.record.Original; import com.fr.record.analyzer.EnableMetrics; @@ -20,7 +21,7 @@ import java.awt.*; @EnableMetrics public class AccessibleBodyWatermarkEditor extends UneditableAccessibleEditor { - private WatermarkPane watermarkPane; + private WatermarkSettingPane watermarkPane; public AccessibleBodyWatermarkEditor() { super(new WatermarkWrapper()); @@ -34,7 +35,7 @@ public class AccessibleBodyWatermarkEditor extends UneditableAccessibleEditor { @Override protected void showEditorPane() { if (watermarkPane == null) { - watermarkPane = new WatermarkPane(); + watermarkPane = new WatermarkSettingPane(); watermarkPane.setPreferredSize(new Dimension(600, 400)); } BasicDialog dlg = watermarkPane.showWindow(SwingUtilities.getWindowAncestor(this)); diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRAbsoluteBodyLayoutDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRAbsoluteBodyLayoutDefinePane.java index 04c33f35b..bd29cb5cc 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRAbsoluteBodyLayoutDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRAbsoluteBodyLayoutDefinePane.java @@ -107,8 +107,7 @@ public class FRAbsoluteBodyLayoutDefinePane extends FRAbsoluteLayoutDefinePane { layoutCombox.setSelectedIndex(1); borderStyleEditor.setValue(ob.getBorderStyle()); boundPane.populate(); - watermarkEditor.setValue(ReportUtils.getWatermarkFromAttrMarkFile(getCurrentIOFile())); - + watermarkEditor.setValue(ReportUtils.getWatermarkAttrFromTemplate(getCurrentIOFile())); } public WAbsoluteBodyLayout updateSubPane() { diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java index 35c8ddee9..0f3e0aba0 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java @@ -151,7 +151,7 @@ public class FRFitLayoutDefinePane extends AbstractDataModify { adaptComboBox.setSelectedIndex(ob.getCompState()); componentIntervel.setValue(ob.getCompInterval()); stylePane.setValue(ob.getBorderStyle()); - watermarkEditor.setValue(ReportUtils.getWatermarkFromAttrMarkFile(getCurrentIOFile())); + watermarkEditor.setValue(ReportUtils.getWatermarkAttrFromTemplate(getCurrentIOFile())); } private XLayoutContainer selectedBodyLayout(FormDesigner formDesigner) { diff --git a/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java b/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java index a07df219f..075e7c0cf 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java @@ -8,6 +8,7 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.JWorkBook; import com.fr.design.menu.KeySetUtils; import com.fr.design.report.WatermarkPane; +import com.fr.design.report.WatermarkSettingPane; import com.fr.intelli.record.Focus; import com.fr.intelli.record.Original; import com.fr.main.impl.WorkBook; @@ -37,9 +38,8 @@ public class ReportWatermarkAction extends JWorkBookAction { return; } final WorkBook wbTpl = jwb.getTarget(); - WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(wbTpl); - - final WatermarkPane watermarkPane = new WatermarkPane(); + WatermarkAttr watermark = ReportUtils.getWatermarkAttrFromTemplate(wbTpl); + final WatermarkSettingPane watermarkPane = new WatermarkSettingPane(); watermarkPane.populate(watermark); watermarkPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { @Override diff --git a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/ReportPrintSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/ReportPrintSettingPane.java index 014b20cb3..88a5a679d 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/ReportPrintSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/ReportPrintSettingPane.java @@ -47,7 +47,7 @@ public class ReportPrintSettingPane extends AbstractTemplateServerSettingPane { public PrintSettingsAttrMark updateBean() { PrintSettingsAttrMark printSettings = printSettingPane.updateBean(); - if (chooseComboBox.getSelectedIndex() == SERVER_SET) { + if (isUsingServerSettings()) { printSettings.setValid(false); } return printSettings; 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 f64fa0864..21cb157e1 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridUI.java @@ -1114,7 +1114,7 @@ public class GridUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g2d, FineBook book) { - WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); + WatermarkAttr watermark = ReportUtils.getWatermarkAttrFromTemplateAndGlobal(book); 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 7270f868b..2bf55e5a0 100644 --- a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java @@ -109,7 +109,7 @@ public class PolyDesignUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g2d, FineBook book, int width, int height) { - WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); + WatermarkAttr watermark = ReportUtils.getWatermarkAttrFromTemplateAndGlobal(book); WatermarkPainter painter = WatermarkPainter.createPainter(watermark, resolution); painter.paint(g2d, width, height); }