package com.fr.widgettheme.util; import com.fr.base.BaseFormula; import com.fr.chart.chartattr.Title; import com.fr.design.i18n.Toolkit; import com.fr.plugin.chart.attr.axis.VanChartAxis; import com.fr.plugin.chart.base.AttrLabel; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.column.VanChartColumnPlot; import com.fr.plugin.chart.type.GradientType; /** * 辅助report和form的控件显示主题预览窗口做初始化工作 * 没有其他的用途,不要用在其他的地方,只是抽一些方法出来,降低复杂度 * * @author obo * @since 11.0 * Created on 2023/11/14 */ public class ThemePreviewPaneInitHelper { private ThemePreviewPaneInitHelper() { } /** * 初始化图表工具 * * @param vanChartTools 图表工具 */ public static void initVanChartsTools(VanChartTools vanChartTools) { vanChartTools.setSort(false); vanChartTools.setExport(false); vanChartTools.setFullScreen(false); } /** * 初始化柱形图绘图区 * * @param plot 绘图区 */ public static void initColumnPlot(VanChartColumnPlot plot) { AttrLabel defaultAttrLabel = plot.getDefaultAttrLabel(); defaultAttrLabel.setEnable(true); defaultAttrLabel.getAttrLabelDetail().getBorder().setBorderStyle(0); defaultAttrLabel.getAttrLabelDetail().getBackground().setBackground(null); plot.getConditionCollection().getDefaultAttr().addDataSeriesCondition(defaultAttrLabel); plot.getGradientStyle().setGradientType(GradientType.NONE); plot.setSeriesOverlapPercent(30); plot.setCategoryIntervalPercent(30); } /** * 初始化图表Y轴 * * @param yAxis 轴 */ public static void initVanChartYAxis(VanChartAxis yAxis) { Title title = new Title(); title.setTextObject(Toolkit.i18nText("Fine-Design_Chart_Axis_Title")); title.getTextAttr().setRotation(-90); title.getTextAttr().setThemed(true); yAxis.setTitle(title); yAxis.setShowAxisTitle(true); yAxis.setCustomMaxValue(true); yAxis.setCustomMinValue(true); yAxis.setCustomMainUnit(true); yAxis.setMaxValue(BaseFormula.createFormulaBuilder().build("=600")); yAxis.setMinValue(BaseFormula.createFormulaBuilder().build("=0")); yAxis.setMainUnit(BaseFormula.createFormulaBuilder().build("=200")); } }