You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.3 KiB
68 lines
2.3 KiB
package com.fr.design.widgettheme; |
|
|
|
import com.fr.widgettheme.theme.widget.style.FontStyle; |
|
import com.fr.design.widgettheme.common.NormalButtonSettingPane; |
|
import com.fr.form.ui.FreeButton; |
|
import com.fr.form.ui.Widget; |
|
import com.fr.general.FRFont; |
|
import com.fr.widgettheme.theme.widget.theme.ParaNormalButtonTheme; |
|
import com.fr.widgettheme.theme.widget.theme.cell.NormalButtonTheme; |
|
|
|
import java.util.Arrays; |
|
|
|
/** |
|
* 参数面板常规按钮设置窗口 |
|
* |
|
* @author obo |
|
* @since 11.0 |
|
* Created on 2023/11/13 |
|
*/ |
|
public class ParaNormalButtonSettingPane<T extends Widget> extends NormalButtonSettingPane<T> { |
|
|
|
public ParaNormalButtonSettingPane() { |
|
super(Arrays.asList( |
|
StyleSetting.BTN_BACKGROUND, |
|
StyleSetting.LINE_TYPE, |
|
StyleSetting.BORDER_RADIUS, |
|
StyleSetting.FONT |
|
)); |
|
} |
|
|
|
@Override |
|
protected void assignFontPane(NormalButtonTheme normalButtonTheme) { |
|
ParaNormalButtonTheme paraNormalButtonTheme = (ParaNormalButtonTheme) normalButtonTheme; |
|
frFontPane.populateBean(paraNormalButtonTheme.getFontStyle().getFont()); |
|
|
|
} |
|
|
|
@Override |
|
protected void initCustomStyle(FreeButton freeButton, NormalButtonTheme widgetTheme) { |
|
super.initCustomStyle(freeButton, widgetTheme); |
|
FRFont font = freeButton.getFont(); |
|
((ParaNormalButtonTheme) widgetTheme).setFontStyle(new FontStyle(font)); |
|
} |
|
|
|
@Override |
|
protected void updateCustomStyle(FreeButton freeButton, NormalButtonTheme widgetTheme) { |
|
super.updateCustomStyle(freeButton, widgetTheme); |
|
FontStyle fontStyle = ((ParaNormalButtonTheme) widgetTheme).getFontStyle(); |
|
freeButton.setFont(fontStyle.getFont()); |
|
} |
|
|
|
@Override |
|
protected void assignFontStyle(NormalButtonTheme normalButtonTheme) { |
|
ParaNormalButtonTheme paraNormalButtonTheme = (ParaNormalButtonTheme) normalButtonTheme; |
|
if (paraNormalButtonTheme.isFollowTheme()) { |
|
paraNormalButtonTheme.setFontStyle(new FontStyle()); |
|
assignFontPane(normalButtonTheme); |
|
} else { |
|
paraNormalButtonTheme.setFontStyle(new FontStyle(frFontPane.update(paraNormalButtonTheme.getFontStyle().getFont()))); |
|
} |
|
} |
|
|
|
@Override |
|
protected NormalButtonTheme getDefaultNormalButtonTheme() { |
|
return new ParaNormalButtonTheme(); |
|
} |
|
} |
|
|
|
|