diff --git a/designer-base/src/main/java/com/fr/design/report/fit/menupane/BrowserFitAttrPane.java b/designer-base/src/main/java/com/fr/design/report/fit/menupane/BrowserFitAttrPane.java index da495c54d..b17a0cd31 100644 --- a/designer-base/src/main/java/com/fr/design/report/fit/menupane/BrowserFitAttrPane.java +++ b/designer-base/src/main/java/com/fr/design/report/fit/menupane/BrowserFitAttrPane.java @@ -1,6 +1,6 @@ package com.fr.design.report.fit.menupane; -import com.fr.design.report.fit.FitType; +import com.fr.config.Configuration; import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIRadioButton; @@ -9,9 +9,11 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; -import com.fr.log.FineLoggerFactory; +import com.fr.design.report.fit.FitType; import com.fr.report.fit.ReportFitAttr; import com.fr.report.fit.ReportFitConfig; +import com.fr.transaction.Configurations; +import com.fr.transaction.Worker; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; @@ -220,12 +222,19 @@ public class BrowserFitAttrPane extends BasicBeanPane { return attr; } - private void updateGlobalConfig(ReportFitAttr attr) { - try { - ReportFitConfig manager = ReportFitConfig.getInstance(); - manager.setFrmFitAttr(attr); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage()); - } + private void updateGlobalConfig(final ReportFitAttr attr) { + + Configurations.update(new Worker() { + @Override + public void run() { + ReportFitConfig manager = ReportFitConfig.getInstance(); + manager.setFrmFitAttr(attr); + } + + @Override + public Class[] targets() { + return new Class[]{ReportFitConfig.class}; + } + }); } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/report/fit/menupane/TemplateBrowserFitAttrPane.java b/designer-base/src/main/java/com/fr/design/report/fit/menupane/TemplateBrowserFitAttrPane.java index 664fa2471..95a876d1d 100644 --- a/designer-base/src/main/java/com/fr/design/report/fit/menupane/TemplateBrowserFitAttrPane.java +++ b/designer-base/src/main/java/com/fr/design/report/fit/menupane/TemplateBrowserFitAttrPane.java @@ -1,9 +1,11 @@ package com.fr.design.report.fit.menupane; +import com.fr.config.Configuration; import com.fr.design.gui.ilable.UILabel; -import com.fr.log.FineLoggerFactory; import com.fr.report.fit.ReportFitAttr; import com.fr.report.fit.ReportFitConfig; +import com.fr.transaction.Configurations; +import com.fr.transaction.Worker; import java.awt.Component; @@ -65,12 +67,19 @@ public class TemplateBrowserFitAttrPane extends BrowserFitAttrPane { return attr; } - private void updateGlobalConfig(ReportFitAttr attr) { - try { - ReportFitConfig manager = ReportFitConfig.getInstance(); - manager.setCptFitAttr(attr); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage()); - } + private void updateGlobalConfig(final ReportFitAttr attr) { + + Configurations.update(new Worker() { + @Override + public void run() { + ReportFitConfig manager = ReportFitConfig.getInstance(); + manager.setCptFitAttr(attr); + } + + @Override + public Class[] targets() { + return new Class[]{ReportFitConfig.class}; + } + }); } } diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XElementCase.java b/designer-form/src/main/java/com/fr/design/designer/creator/XElementCase.java index da36cd8ba..480412287 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XElementCase.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XElementCase.java @@ -114,7 +114,11 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme public CRPropertyDescriptor[] getExtraTableEditor(){ CRPropertyDescriptor[] extraTableEditor = resolveCompatible(); - return ArrayUtils.addAll(extraTableEditor, new CRPropertyDescriptor[] {getReportFitEditor()}); + CRPropertyDescriptor reportFitEditor = getReportFitEditor(); + if (reportFitEditor == null) { + return extraTableEditor; + } + return ArrayUtils.add(extraTableEditor, reportFitEditor); } private CRPropertyDescriptor getReportFitEditor() {