|
|
|
package com.fr.design.mainframe.theme;
|
|
|
|
|
|
|
|
import com.fr.base.theme.FormTheme;
|
|
|
|
import com.fr.base.theme.TemplateThemeConfig;
|
|
|
|
import com.fr.base.theme.settings.ThemedComponentStyle;
|
|
|
|
import com.fr.base.theme.settings.ThemedFormBodyStyle;
|
|
|
|
import com.fr.design.ExtraDesignClassManager;
|
|
|
|
import com.fr.design.i18n.Toolkit;
|
|
|
|
import com.fr.design.layout.FRGUIPaneFactory;
|
|
|
|
import com.fr.design.mainframe.theme.edit.ChartStyleFormEditPane;
|
|
|
|
import com.fr.design.mainframe.theme.edit.ComponentStyleEditPane;
|
|
|
|
import com.fr.design.mainframe.theme.edit.FormBodyStyleEditPane;
|
|
|
|
import com.fr.design.mainframe.theme.processor.ThemePreviewPaneProcessor;
|
|
|
|
import com.fr.widgettheme.theme.panel.WidgetDisplayFormThemePreviewPane;
|
|
|
|
|
|
|
|
import javax.swing.JPanel;
|
|
|
|
|
|
|
|
import static com.fr.design.i18n.Toolkit.i18nText;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Starryi
|
|
|
|
* @version 1.0
|
|
|
|
* Created by Starryi on 2021/8/13
|
|
|
|
*/
|
|
|
|
public class FormThemeProfilePane extends TemplateThemeProfilePane<FormTheme> {
|
|
|
|
public static final int LABEL_WIDTH = 60;
|
|
|
|
|
|
|
|
private FormBodyStyleEditPane formBodyStyleSettingPane;
|
|
|
|
private ComponentStyleEditPane componentStyleSettingPane;
|
|
|
|
|
|
|
|
public FormThemeProfilePane(TemplateThemeConfig<FormTheme> config) {
|
|
|
|
super(config);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public TemplateThemePreviewPane<FormTheme> createThemePreviewPane() {
|
|
|
|
ThemePreviewPaneProcessor processor = ExtraDesignClassManager.getInstance().getSingle(ThemePreviewPaneProcessor.XML_TAG);
|
|
|
|
if (processor != null) {
|
|
|
|
return processor.createFormThemePreviewPane();
|
|
|
|
}
|
|
|
|
return new WidgetDisplayFormThemePreviewPane();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public TemplateThemeEditorPane<FormTheme> createThemeEditorPane() {
|
|
|
|
return new FormThemeEditorPane(config);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String title4PopupWindow() {
|
|
|
|
return Toolkit.i18nText("Fine-Design_Basic_Form_Theme_Profile_Dialog_Title");
|
|
|
|
}
|
|
|
|
|
|
|
|
private static class FormThemeEditorPane extends TemplateThemeEditorPane<FormTheme> {
|
|
|
|
|
|
|
|
private final FormBodyStyleEditPane formBodyStyleSettingPane;
|
|
|
|
private final ComponentStyleEditPane componentStyleSettingPane;
|
|
|
|
|
|
|
|
public FormThemeEditorPane(TemplateThemeConfig<FormTheme> config) {
|
|
|
|
super(config);
|
|
|
|
formBodyStyleSettingPane = new FormBodyStyleEditPane();
|
|
|
|
addCustomEditorPane(i18nText("Fine-Design_Predefined_Template_Background"), formBodyStyleSettingPane);
|
|
|
|
|
|
|
|
addCustomEditorPane(i18nText("Fine-Design_Predefined_Cell_Style"), createCellStyleSettingPane());
|
|
|
|
addCustomEditorPane(i18nText("Fine-Design_Predefined_Chart_Style"), createChartStyleSettingPane());
|
|
|
|
|
|
|
|
|
|
|
|
componentStyleSettingPane = new ComponentStyleEditPane();
|
|
|
|
addCustomEditorPane(i18nText("Fine-Design_Predefined_Component_Style"), componentStyleSettingPane);
|
|
|
|
refreshExtraAdvancedPane();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected JPanel createChartStyleSettingPane() {
|
|
|
|
JPanel container = FRGUIPaneFactory.createBorderLayout_S_Pane();
|
|
|
|
chartStyleSettingPane = new ChartStyleFormEditPane();
|
|
|
|
container.add(chartStyleSettingPane);
|
|
|
|
return container;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void populateBean4CustomEditors(FormTheme theme) {
|
|
|
|
super.populateBean4CustomEditors(theme);
|
|
|
|
formBodyStyleSettingPane.populateBean(theme.getBodyStyle());
|
|
|
|
componentStyleSettingPane.populateBean(theme.getComponentStyle());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void updateBean4CustomEditors(FormTheme theme) {
|
|
|
|
super.updateBean4CustomEditors(theme);
|
|
|
|
ThemedFormBodyStyle formBodyStyle = formBodyStyleSettingPane.updateBean();
|
|
|
|
theme.setBodyStyle(formBodyStyle);
|
|
|
|
|
|
|
|
ThemedComponentStyle componentStyle = componentStyleSettingPane.updateBean();
|
|
|
|
theme.setComponentStyle(componentStyle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|