Browse Source

Merge pull request #729 in BA/design from ~ZHOUPING/design:9.0 to 9.0

* commit 'c604d42924f37ace7cde463b8c058c2647ff345c':
  REPORT-891 表单打开时即显示缩略图
  REPORT-891 表单打开时即显示缩略图
master
superman 7 years ago
parent
commit
a4c8a7efd3
  1. 19
      designer_form/src/com/fr/design/designer/creator/XElementCase.java
  2. 22
      designer_form/src/com/fr/design/mainframe/ElementCaseThumbnail.java
  3. 7
      designer_form/src/com/fr/design/module/FormDesignerModule.java

19
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.BooleanEditor;
import com.fr.design.mainframe.widget.editors.PaddingMarginEditor; import com.fr.design.mainframe.widget.editors.PaddingMarginEditor;
import com.fr.design.mainframe.widget.editors.WLayoutBorderStyleEditor; 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.FormElementCaseContainerProvider;
import com.fr.form.FormElementCaseProvider; import com.fr.form.FormElementCaseProvider;
import com.fr.form.FormProvider; import com.fr.form.FormProvider;
@ -39,8 +37,6 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme
private UILabel imageLable; private UILabel imageLable;
private CoverReportPane coverPanel; private CoverReportPane coverPanel;
private FormDesigner designer; private FormDesigner designer;
//缩略图
private BufferedImage thumbnailImage;
private static BufferedImage DEFAULT_BACKGROUND; private static BufferedImage DEFAULT_BACKGROUND;
static{ static{
@ -176,7 +172,10 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme
*/ */
private UILabel initImageBackground(){ private UILabel initImageBackground(){
UILabel imageLable = new UILabel(); UILabel imageLable = new UILabel();
BufferedImage image = getThumbnailImage(); BufferedImage image = toData().getECImage();
if (image == null) {
image = DEFAULT_BACKGROUND;
}
setLabelBackground(image, imageLable); setLabelBackground(image, imageLable);
return imageLable; return imageLable;
@ -259,18 +258,10 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme
} }
public void setBackground(BufferedImage image){ public void setBackground(BufferedImage image){
setThumbnailImage(image); toData().setECImage(image);
setEditorIcon(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){ private void setEditorIcon(BufferedImage image){
setLabelBackground(image, imageLable); setLabelBackground(image, imageLable);
} }

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

7
designer_form/src/com/fr/design/module/FormDesignerModule.java

@ -1,7 +1,6 @@
package com.fr.design.module; package com.fr.design.module;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.general.ModuleContext;
import com.fr.base.io.XMLEncryptUtils; import com.fr.base.io.XMLEncryptUtils;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.bridge.DesignToolbarProvider; 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.mainframe.actions.NewFormAction;
import com.fr.design.parameter.FormParameterReader; import com.fr.design.parameter.FormParameterReader;
import com.fr.design.parameter.ParameterPropertyPane; import com.fr.design.parameter.ParameterPropertyPane;
import com.fr.design.widget.ui.btn.FormSubmitButtonDetailPane;
import com.fr.file.FILE; import com.fr.file.FILE;
import com.fr.form.main.Form; import com.fr.form.main.Form;
import com.fr.form.stable.ElementCaseThumbnailProcessor;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.general.ModuleContext;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.stable.bridge.StableFactory; import com.fr.stable.bridge.StableFactory;
import com.fr.design.widget.ui.btn.FormSubmitButtonDetailPane;
import java.util.HashMap; import java.util.HashMap;
@ -40,6 +41,8 @@ public class FormDesignerModule extends DesignModule {
DesignModuleFactory.registerParameterReader(new FormParameterReader()); DesignModuleFactory.registerParameterReader(new FormParameterReader());
registerData4Designer(); registerData4Designer();
StableFactory.registerMarkedObject(ElementCaseThumbnailProcessor.MARK_STRING, new ElementCaseThumbnail());
} }
private void registerData4Designer(){ private void registerData4Designer(){

Loading…
Cancel
Save