diff --git a/designer-base/src/main/java/com/fr/design/report/fit/menupane/AbstractFormAdaptiveConfigUI.java b/designer-base/src/main/java/com/fr/design/report/fit/menupane/AbstractFormAdaptiveConfigUI.java new file mode 100644 index 0000000000..bf0822104e --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/report/fit/menupane/AbstractFormAdaptiveConfigUI.java @@ -0,0 +1,18 @@ +package com.fr.design.report.fit.menupane; + + +/** + * Created by kerry on 2020-04-09 + */ +public abstract class AbstractFormAdaptiveConfigUI implements FormAdaptiveConfigUI { + + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } + + @Override + public int layerIndex() { + return DEFAULT_LAYER_INDEX; + } +} diff --git a/designer-base/src/main/java/com/fr/design/report/fit/menupane/FormAdaptiveConfigUI.java b/designer-base/src/main/java/com/fr/design/report/fit/menupane/FormAdaptiveConfigUI.java new file mode 100644 index 0000000000..cd88ec4ece --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/report/fit/menupane/FormAdaptiveConfigUI.java @@ -0,0 +1,26 @@ +package com.fr.design.report.fit.menupane; + +import com.fr.design.beans.BasicBeanPane; +import com.fr.stable.fun.mark.Immutable; + +import javax.swing.JComponent; +import java.awt.Dimension; +import java.awt.image.BufferedImage; + + +/** + * Created by kerry on 2020-04-09 + */ +public interface FormAdaptiveConfigUI extends Immutable { + + String MARK_STRING = "FormAdaptiveConfigUI"; + int CURRENT_LEVEL = 1; + + + BasicBeanPane getConfigPane(); + + BufferedImage getElementCaseImage(Dimension size, JComponent elementCasePane); + + +} + diff --git a/designer-base/src/main/java/com/fr/design/report/fit/menupane/ReportFitAttrAction.java b/designer-base/src/main/java/com/fr/design/report/fit/menupane/ReportFitAttrAction.java index 29a8a7deb6..ebffc98095 100644 --- a/designer-base/src/main/java/com/fr/design/report/fit/menupane/ReportFitAttrAction.java +++ b/designer-base/src/main/java/com/fr/design/report/fit/menupane/ReportFitAttrAction.java @@ -1,5 +1,6 @@ package com.fr.design.report.fit.menupane; +import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.JTemplateAction; import com.fr.design.beans.BasicBeanPane; import com.fr.design.dialog.DialogActionAdapter; @@ -42,6 +43,10 @@ public class ReportFitAttrAction extends JTemplateAction { @Override public String getMenuName() { + FormAdaptiveConfigUI configPane = ExtraDesignClassManager.getInstance().getSingle(FormAdaptiveConfigUI.MARK_STRING); + if (configPane != null) { + return configPane.getConfigPane().getTitle(); + } return com.fr.design.i18n.Toolkit.i18nText("Fine-Designer_Fit-Elementcase"); } @@ -85,7 +90,13 @@ public class ReportFitAttrAction extends JTemplateAction { final TemplateFitAttrPane attrPane = new TemplateFitAttrPane(); showReportFitDialog(fitAttr, jwb, wbTpl, attrPane); } else { - final ReportFitAttrPane attrPane = new ReportFitAttrPane(); + BasicBeanPane attrPane = null; + FormAdaptiveConfigUI configPane = ExtraDesignClassManager.getInstance().getSingle(FormAdaptiveConfigUI.MARK_STRING); + if (configPane != null) { + attrPane = configPane.getConfigPane(); + }else{ + attrPane = new ReportFitAttrPane(); + } showReportFitDialog(fitAttr, jwb, wbTpl, attrPane); } } @@ -102,4 +113,4 @@ public class ReportFitAttrAction extends JTemplateAction { dialog.setVisible(true); } -} \ No newline at end of file +} diff --git a/designer-base/src/main/java/com/fr/design/unit/ReportLengthUnitProcessor.java b/designer-base/src/main/java/com/fr/design/unit/ReportLengthUnitProcessor.java index f496d69dba..4adffd28c9 100644 --- a/designer-base/src/main/java/com/fr/design/unit/ReportLengthUnitProcessor.java +++ b/designer-base/src/main/java/com/fr/design/unit/ReportLengthUnitProcessor.java @@ -9,6 +9,6 @@ public interface ReportLengthUnitProcessor extends Immutable { String MARK_STRING = "ReportLengthUnitProcessor"; int CURRENT_LEVEL = 1; - ReportLengthUNIT getReportLengthUNIT(); + ReportLengthUNIT getReportLengthUNIT(int unitType); } diff --git a/designer-base/src/main/java/com/fr/design/unit/UnitConvertUtil.java b/designer-base/src/main/java/com/fr/design/unit/UnitConvertUtil.java index 80d35d83b4..fee1cccd78 100644 --- a/designer-base/src/main/java/com/fr/design/unit/UnitConvertUtil.java +++ b/designer-base/src/main/java/com/fr/design/unit/UnitConvertUtil.java @@ -30,7 +30,7 @@ public class UnitConvertUtil { public static ReportLengthUNIT parseLengthUNIT(int unitType) { ReportLengthUnitProcessor lengthUnitProcessor = ExtraDesignClassManager.getInstance().getSingle(ReportLengthUnitProcessor.MARK_STRING); if (lengthUnitProcessor != null) { - return lengthUnitProcessor.getReportLengthUNIT(); + return lengthUnitProcessor.getReportLengthUNIT(unitType); } for (ReportLengthUNIT lengthUNIT : lengthUNITList) { if (unitType == lengthUNIT.unitType()) { diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCaseDesigner.java b/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCaseDesigner.java index 07954c796e..ae4221dcec 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCaseDesigner.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCaseDesigner.java @@ -5,6 +5,7 @@ package com.fr.design.mainframe.form; import com.fr.base.vcs.DesignerMode; import com.fr.design.DesignState; +import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.AllowAuthorityEditAction; import com.fr.design.actions.ExitAuthorityEditAction; import com.fr.design.base.mode.DesignModeContext; @@ -25,6 +26,7 @@ import com.fr.design.menu.NameSeparator; import com.fr.design.menu.ShortCut; import com.fr.design.menu.ToolBarDef; import com.fr.design.present.ConditionAttributesGroupPane; +import com.fr.design.report.fit.menupane.FormAdaptiveConfigUI; import com.fr.design.selection.SelectableElement; import com.fr.design.selection.Selectedable; import com.fr.design.selection.SelectionListener; @@ -123,6 +125,10 @@ public class FormElementCaseDesigner */ @Override public BufferedImage getElementCaseImage(Dimension size) { + FormAdaptiveConfigUI adaptiveConfigUI = ExtraDesignClassManager.getInstance().getSingle(FormAdaptiveConfigUI.MARK_STRING); + if (adaptiveConfigUI != null) { + return adaptiveConfigUI.getElementCaseImage(size, this.elementCasePane); + } BufferedImage image = null; try { image = new java.awt.image.BufferedImage(size.width, size.height, @@ -351,4 +357,4 @@ public class FormElementCaseDesigner public FormElementCaseProvider getEditingElementCase() { return this.getEditingElementCasePane().getTarget(); } -} \ No newline at end of file +}