diff --git a/designer_form/src/com/fr/design/designer/creator/XElementCase.java b/designer_form/src/com/fr/design/designer/creator/XElementCase.java index a932548cc..aba6e9e3a 100644 --- a/designer_form/src/com/fr/design/designer/creator/XElementCase.java +++ b/designer_form/src/com/fr/design/designer/creator/XElementCase.java @@ -13,8 +13,6 @@ import com.fr.design.mainframe.*; import com.fr.design.mainframe.widget.editors.BooleanEditor; import com.fr.design.mainframe.widget.editors.PaddingMarginEditor; import com.fr.design.mainframe.widget.editors.WLayoutBorderStyleEditor; -import com.fr.design.mainframe.widget.renderer.LayoutBorderStyleRenderer; -import com.fr.design.mainframe.widget.renderer.PaddingMarginCellRenderer; import com.fr.form.FormElementCaseContainerProvider; import com.fr.form.FormElementCaseProvider; import com.fr.form.FormProvider; @@ -39,8 +37,6 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme private UILabel imageLable; private CoverReportPane coverPanel; private FormDesigner designer; - //缩略图 - private BufferedImage thumbnailImage; private static BufferedImage DEFAULT_BACKGROUND; static{ @@ -176,7 +172,10 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme */ private UILabel initImageBackground(){ UILabel imageLable = new UILabel(); - BufferedImage image = getThumbnailImage(); + BufferedImage image = toData().getECImage(); + if (image == null) { + image = DEFAULT_BACKGROUND; + } setLabelBackground(image, imageLable); return imageLable; @@ -259,18 +258,10 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme } public void setBackground(BufferedImage image){ - setThumbnailImage(image); + toData().setECImage(image); setEditorIcon(image); } - private void setThumbnailImage(BufferedImage image) { - this.thumbnailImage = image; - } - - private BufferedImage getThumbnailImage(){ - return thumbnailImage == null ? DEFAULT_BACKGROUND : thumbnailImage; - } - private void setEditorIcon(BufferedImage image){ setLabelBackground(image, imageLable); } diff --git a/designer_form/src/com/fr/design/mainframe/ElementCaseThumbnail.java b/designer_form/src/com/fr/design/mainframe/ElementCaseThumbnail.java new file mode 100644 index 000000000..2bd68cb23 --- /dev/null +++ b/designer_form/src/com/fr/design/mainframe/ElementCaseThumbnail.java @@ -0,0 +1,22 @@ +package com.fr.design.mainframe; + +import com.fr.form.stable.fun.AbstractECThumbnailProcessor; +import com.fr.general.xml.GeneralXMLTools; +import com.fr.stable.xml.XMLableReader; + +import java.awt.*; + +/** + * 报表块缩略图处理 + * 从xml中读取缩略图 + * Created by zhouping on 2017/2/22. + */ +public class ElementCaseThumbnail extends AbstractECThumbnailProcessor { + public ElementCaseThumbnail(){ + } + + @Override + public Image readThumbnail(XMLableReader reader) { + return GeneralXMLTools.readImage(reader); + } +} diff --git a/designer_form/src/com/fr/design/module/FormDesignerModule.java b/designer_form/src/com/fr/design/module/FormDesignerModule.java index d40ac75fb..1d5c1017a 100644 --- a/designer_form/src/com/fr/design/module/FormDesignerModule.java +++ b/designer_form/src/com/fr/design/module/FormDesignerModule.java @@ -1,7 +1,6 @@ package com.fr.design.module; import com.fr.base.FRContext; -import com.fr.general.ModuleContext; import com.fr.base.io.XMLEncryptUtils; import com.fr.design.DesignerEnvManager; import com.fr.design.bridge.DesignToolbarProvider; @@ -10,12 +9,14 @@ import com.fr.design.mainframe.*; import com.fr.design.mainframe.actions.NewFormAction; import com.fr.design.parameter.FormParameterReader; import com.fr.design.parameter.ParameterPropertyPane; +import com.fr.design.widget.ui.btn.FormSubmitButtonDetailPane; import com.fr.file.FILE; import com.fr.form.main.Form; +import com.fr.form.stable.ElementCaseThumbnailProcessor; import com.fr.general.Inter; +import com.fr.general.ModuleContext; import com.fr.stable.Constants; import com.fr.stable.bridge.StableFactory; -import com.fr.design.widget.ui.btn.FormSubmitButtonDetailPane; import java.util.HashMap; @@ -40,6 +41,8 @@ public class FormDesignerModule extends DesignModule { DesignModuleFactory.registerParameterReader(new FormParameterReader()); registerData4Designer(); + + StableFactory.registerMarkedObject(ElementCaseThumbnailProcessor.MARK_STRING, new ElementCaseThumbnail()); } private void registerData4Designer(){