diff --git a/designer-form/src/main/java/com/fr/design/widgettheme/processor/WidgetThemeParaCreatorPaneAdder.java b/designer-form/src/main/java/com/fr/design/widgettheme/processor/WidgetThemeParaCreatorPaneAdder.java index ebd268f79f..dc85057839 100644 --- a/designer-form/src/main/java/com/fr/design/widgettheme/processor/WidgetThemeParaCreatorPaneAdder.java +++ b/designer-form/src/main/java/com/fr/design/widgettheme/processor/WidgetThemeParaCreatorPaneAdder.java @@ -1,5 +1,6 @@ package com.fr.design.widgettheme.processor; +import com.fr.design.widgettheme.ParaNormalButtonSettingPane; import com.fr.design.widgettheme.ParaSelectEditorSettingPane; import com.fr.widgettheme.util.WidgetThemeDesignerUtils; import com.fr.design.beans.BasicBeanPane; @@ -21,7 +22,6 @@ import com.fr.design.widgettheme.ParaButtonSettingPane; import com.fr.design.widgettheme.ParaEditorSettingPane; import com.fr.design.widgettheme.ParaTreeEditorSettingPane; import com.fr.widgettheme.ParameterBackgroundStyleSettingPane; -import com.fr.design.widgettheme.common.NormalButtonSettingPane; import com.fr.widgettheme.utils.WidgetThemeServerUtils; import java.util.List; @@ -102,7 +102,7 @@ public class WidgetThemeParaCreatorPaneAdder { private static void acceptNormal(XCreator creator, List> extraPaneList) { boolean accept = creator instanceof XButton; if (accept) { - insertShortCut(extraPaneList, new NormalButtonSettingPane<>()); + insertShortCut(extraPaneList, new ParaNormalButtonSettingPane<>()); } } diff --git a/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java b/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java index 4e8a9d5e99..3921c9ad10 100644 --- a/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java +++ b/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java @@ -3,6 +3,7 @@ package com.fr.design.widget.ui.btn; import java.awt.Component; import com.fr.form.ui.FreeButton; +import com.fr.widgettheme.util.WidgetThemeDesignerUtils; /** * 自定义按钮 @@ -12,33 +13,49 @@ import com.fr.form.ui.FreeButton; * Created on 2023/4/19 */ public class FreeButtonDetailPane extends AbstractExtraButtonPane { - private ButtonSytleDefinedPane buttonSytleDefinedPane; - - @Override - protected Component createCenterPane() { - buttonSytleDefinedPane = new ButtonSytleDefinedPane(); - return createExtraPane(buttonSytleDefinedPane); - } - - @Override - public FreeButton createButton() { - return new FreeButton(); - } - - public void populate(FreeButton button) { - super.populate(button); - buttonSytleDefinedPane.populate(button); - } + private ButtonSytleDefinedPane buttonSytleDefinedPane; + + @Override + protected Component createCenterPane() { + buttonSytleDefinedPane = creatButtonSytleDefinedPane(); + return createExtraPane(buttonSytleDefinedPane); + } + + @Override + public FreeButton createButton() { + return new FreeButton(); + } + + /** + * 填充button配置面板 + */ + public void populate(FreeButton button) { + super.populate(button); + if (buttonSytleDefinedPane != null) { + buttonSytleDefinedPane.populate(button); + } + } @Override public FreeButton update() { FreeButton button = super.update(); - buttonSytleDefinedPane.update(button); + if (buttonSytleDefinedPane != null) { + buttonSytleDefinedPane.update(button); + } return button; } - @Override - public Class classType() { - return FreeButton.class; - } + @Override + public Class classType() { + return FreeButton.class; + } + + /** + * 自定义按钮控件开启控件显示增强时,原有的buttonSytleDefinedPane会被保留 + * 内容和控件增强的pane重复,且不生效。其他控件目前不存在这种情况,因此要在实现这里做个判断 + * 如果开启控件增强,原有的ButtonSytleDefinedPane不展示,创建时返回null + */ + private ButtonSytleDefinedPane creatButtonSytleDefinedPane() { + return WidgetThemeDesignerUtils.enableWidgetEnhance() ? null : new ButtonSytleDefinedPane(); + } } \ No newline at end of file