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.
98 lines
3.8 KiB
98 lines
3.8 KiB
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); |
|
} |
|
} |
|
}
|
|
|