Browse Source

Merge pull request #13339 in DESIGN/design from bugfix/11.0 to feature/x

* commit '7c4089b260dab1c50d846feef67e1b248b153eb9':
  补充注释
  REPORT-107652 【最强控件】单元格的按钮控件,设置自定义后关闭开启显示增强,配置项显示异常
  REPORT-109728 【控件显示增强代码内置】按钮控件-字体配置部分丢失
feature/x
superman 11 months ago
parent
commit
6a02dbdbc4
  1. 4
      designer-form/src/main/java/com/fr/design/widgettheme/processor/WidgetThemeParaCreatorPaneAdder.java
  2. 61
      designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java

4
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 <T> void acceptNormal(XCreator creator, List<BasicBeanPane<T>> extraPaneList) {
boolean accept = creator instanceof XButton;
if (accept) {
insertShortCut(extraPaneList, new NormalButtonSettingPane<>());
insertShortCut(extraPaneList, new ParaNormalButtonSettingPane<>());
}
}

61
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<FreeButton> {
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();
}
}
Loading…
Cancel
Save