xiaxiang 8 years ago
parent
commit
aadeb1c051
  1. 36
      designer_form/src/com/fr/design/designer/creator/XElementCase.java

36
designer_form/src/com/fr/design/designer/creator/XElementCase.java

@ -1,5 +1,6 @@
package com.fr.design.designer.creator; package com.fr.design.designer.creator;
import com.fr.base.ConfigManager;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
import com.fr.design.designer.properties.mobile.ElementCasePropertyUI; import com.fr.design.designer.properties.mobile.ElementCasePropertyUI;
import com.fr.design.form.util.XCreatorConstants; import com.fr.design.form.util.XCreatorConstants;
@ -9,7 +10,10 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.mainframe.CoverReportPane; import com.fr.design.mainframe.CoverReportPane;
import com.fr.design.mainframe.EditingMouseListener; import com.fr.design.mainframe.EditingMouseListener;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.widget.editors.*; import com.fr.design.mainframe.WidgetPropertyPane;
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.LayoutBorderStyleRenderer;
import com.fr.design.mainframe.widget.renderer.PaddingMarginCellRenderer; import com.fr.design.mainframe.widget.renderer.PaddingMarginCellRenderer;
import com.fr.form.FormElementCaseContainerProvider; import com.fr.form.FormElementCaseContainerProvider;
@ -18,6 +22,8 @@ import com.fr.form.ui.ElementCaseEditor;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.core.PropertyChangeAdapter; import com.fr.stable.core.PropertyChangeAdapter;
import com.fr.stable.fun.FitProvider;
import com.fr.stable.fun.ReportFitAttrProvider;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
@ -29,13 +35,17 @@ import java.beans.PropertyDescriptor;
public class XElementCase extends XBorderStyleWidgetCreator implements FormElementCaseContainerProvider{ public class XElementCase extends XBorderStyleWidgetCreator implements FormElementCaseContainerProvider{
private UILabel imageLable; private UILabel imageLable;
private JPanel coverPanel; private JPanel coverPanel;
private FormDesigner designer;
public XElementCase(ElementCaseEditor widget, Dimension initSize) { public XElementCase(ElementCaseEditor widget, Dimension initSize) {
super(widget, initSize); super(widget, initSize);
this.designer = WidgetPropertyPane.getInstance().getEditingFormDesigner();
} }
protected void initXCreatorProperties() { protected void initXCreatorProperties() {
super.initXCreatorProperties(); super.initXCreatorProperties();
// 报表块初始化时要加载对应的borderStyle // 报表块初始化时要加载对应的borderStyle
initBorderStyle(); initBorderStyle();
} }
@ -78,13 +88,33 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme
}; };
FormElementCaseEditorProcessor processor = ExtraDesignClassManager.getInstance().getPropertyTableEditor(); FormElementCaseEditorProcessor processor = ExtraDesignClassManager.getInstance().getPropertyTableEditor();
if (processor == null){ PropertyDescriptor[] extraEditor = processor.createPropertyDescriptor(this.data.getClass());
if (processor == null) {
return propertyTableEditor; return propertyTableEditor;
} }
PropertyDescriptor[] extraEditor = processor.createPropertyDescriptor(this.data.getClass()); //新建报表块的自适应属性和表单所设置的自适应属性保持一致
if (this.toData().getReportFitAttr() == null) {
if (getFitAttrProvider().fitStateInPC() != 0) {
this.toData().setFitStateInPC(getFitAttrProvider().fitStateInPC());
} else {
return propertyTableEditor;
}
}
return (CRPropertyDescriptor[]) ArrayUtils.addAll(propertyTableEditor, extraEditor); return (CRPropertyDescriptor[]) ArrayUtils.addAll(propertyTableEditor, extraEditor);
} }
//获取表单保存的自适应属性,如果没有,就用全局保存的自适应属性
private ReportFitAttrProvider getFitAttrProvider () {
FitProvider wbTpl = (FitProvider) designer.getTarget();
ReportFitAttrProvider globalFitAttr = ConfigManager.getProviderInstance().getFitAttrProvider();
ReportFitAttrProvider fitAttr = wbTpl.getFitAttr();
if (fitAttr != null) {
return fitAttr;
}
return globalFitAttr;
}
@Override @Override
protected String getIconName() { protected String getIconName() {

Loading…
Cancel
Save