From c7aabf51f929b80d5ca1e7383d660f2e02de28eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B2=B3?= <445798420@qq.com> Date: Thu, 8 Apr 2021 15:02:08 +0800 Subject: [PATCH] =?UTF-8?q?=09CHART-18761=20=E4=BB=AA=E8=A1=A8=E7=9B=98?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=A2=9E=E5=8A=A0=E7=9B=AE=E6=A0=87=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TargetValueFormatPaneWithCheckBox.java | 22 +++++ .../label/LabelContentPaneWithCateValue.java | 64 ++++++++++++-- ...efreshTooltipContentPaneWithOutSeries.java | 19 ++--- .../TooltipContentPaneWithOutSeries.java | 85 +++++++++++++++++-- .../VanChartFieldListPaneWithOutSeries.java | 35 ++++++++ 5 files changed, 201 insertions(+), 24 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/TargetValueFormatPaneWithCheckBox.java diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/format/TargetValueFormatPaneWithCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/format/TargetValueFormatPaneWithCheckBox.java new file mode 100644 index 000000000..469fcb33b --- /dev/null +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/format/TargetValueFormatPaneWithCheckBox.java @@ -0,0 +1,22 @@ +package com.fr.van.chart.designer.component.format; + +import com.fr.van.chart.designer.style.VanChartStylePane; + +import javax.swing.JPanel; + +/** + * @author Bjorn + * @version 10.0 + * Created by Bjorn on 2021-04-06 + */ +public class TargetValueFormatPaneWithCheckBox extends VanChartFormatPaneWithCheckBox { + + public TargetValueFormatPaneWithCheckBox(VanChartStylePane parent, JPanel showOnPane) { + super(parent, showOnPane); + } + + @Override + protected String getCheckBoxText() { + return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Target_Value"); + } +} diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/label/LabelContentPaneWithCateValue.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/label/LabelContentPaneWithCateValue.java index 4b8f8013d..21fc0c0bf 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/label/LabelContentPaneWithCateValue.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/label/LabelContentPaneWithCateValue.java @@ -1,6 +1,11 @@ package com.fr.van.chart.designer.component.label; +import com.fr.design.i18n.Toolkit; +import com.fr.plugin.chart.base.AttrTooltipContent; +import com.fr.plugin.chart.gauge.attr.GaugeValueTooltipContent; import com.fr.van.chart.designer.TableLayout4VanChartHelper; +import com.fr.van.chart.designer.component.format.TargetValueFormatPaneWithCheckBox; +import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox; import com.fr.van.chart.designer.style.VanChartStylePane; import javax.swing.JPanel; @@ -11,9 +16,11 @@ import java.awt.Component; */ public class LabelContentPaneWithCateValue extends GaugeLabelContentPane { + private TargetValueFormatPaneWithCheckBox targetValueFormatPane; + private static final long serialVersionUID = -8286902939543416431L; - public LabelContentPaneWithCateValue(VanChartStylePane parent, JPanel showOnPane){ + public LabelContentPaneWithCateValue(VanChartStylePane parent, JPanel showOnPane) { super(parent, showOnPane); } @@ -21,14 +28,59 @@ public class LabelContentPaneWithCateValue extends GaugeLabelContentPane { return TableLayout4VanChartHelper.createTableLayoutPaneWithSmallTitle(title, panel); } - protected double[] getRowSize(double p){ - return new double[]{p,p}; + @Override + protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) { + super.initFormatPane(parent, showOnPane); + setValueFormatPane(new ValueFormatPaneWithCheckBox(parent, showOnPane) { + @Override + protected String getCheckBoxText() { + return Toolkit.i18nText("Fine-Design_Chart_Value_Pointer"); + } + }); + this.targetValueFormatPane = new TargetValueFormatPaneWithCheckBox(parent, showOnPane); + } + + protected double[] getRowSize(double p) { + return new double[]{p, p, p}; } - protected Component[][] getPaneComponents(){ + protected Component[][] getPaneComponents() { return new Component[][]{ - new Component[]{getCategoryNameFormatPane(),null}, - new Component[]{getValueFormatPane(),null}, + new Component[]{getCategoryNameFormatPane(), null}, + new Component[]{getValueFormatPane(), null}, + new Component[]{targetValueFormatPane, null}, }; } + + @Override + protected void populateFormatPane(AttrTooltipContent attrTooltipContent) { + super.populateFormatPane(attrTooltipContent); + if (attrTooltipContent instanceof GaugeValueTooltipContent) { + GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent; + targetValueFormatPane.populate(gaugeValueTooltipContent.getTargetValueFormat()); + } + } + + @Override + protected void updateFormatPane(AttrTooltipContent attrTooltipContent) { + super.updateFormatPane(attrTooltipContent); + GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent; + targetValueFormatPane.update(gaugeValueTooltipContent.getTargetValueFormat()); + } + + @Override + public void setDirty(boolean isDirty) { + super.setDirty(isDirty); + targetValueFormatPane.setDirty(isDirty); + } + + + @Override + public boolean isDirty() { + return super.isDirty() || targetValueFormatPane.isDirty(); + } + + protected AttrTooltipContent createAttrTooltip() { + return new GaugeValueTooltipContent(); + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/RefreshTooltipContentPaneWithOutSeries.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/RefreshTooltipContentPaneWithOutSeries.java index 48d2e55cb..810b4235d 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/RefreshTooltipContentPaneWithOutSeries.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/RefreshTooltipContentPaneWithOutSeries.java @@ -1,9 +1,7 @@ package com.fr.van.chart.designer.component.tooltip; import com.fr.van.chart.designer.component.format.ChangedPercentFormatPaneWithCheckBox; -import com.fr.van.chart.designer.component.format.ChangedPercentFormatPaneWithoutCheckBox; import com.fr.van.chart.designer.component.format.ChangedValueFormatPaneWithCheckBox; -import com.fr.van.chart.designer.component.format.ChangedValueFormatPaneWithoutCheckBox; import com.fr.van.chart.designer.style.VanChartStylePane; import javax.swing.JPanel; @@ -29,17 +27,18 @@ public class RefreshTooltipContentPaneWithOutSeries extends TooltipContentPaneWi setChangedPercentFormatPane(new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane)); } - protected double[] getRowSize(double p){ - return new double[]{p,p,p,p,p}; + protected double[] getRowSize(double p) { + return new double[]{p, p, p, p, p, p}; } - protected Component[][] getPaneComponents(){ + protected Component[][] getPaneComponents() { return new Component[][]{ - new Component[]{getCategoryNameFormatPane(),null}, - new Component[]{getValueFormatPane(),null}, - new Component[]{getChangedValueFormatPane(),null}, - new Component[]{getPercentFormatPane(),null}, - new Component[]{getChangedPercentFormatPane(),null}, + new Component[]{getCategoryNameFormatPane(), null}, + new Component[]{getValueFormatPane(), null}, + new Component[]{getTargetValueFormatPane(), null}, + new Component[]{getChangedValueFormatPane(), null}, + new Component[]{getPercentFormatPane(), null}, + new Component[]{getChangedPercentFormatPane(), null}, }; } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/TooltipContentPaneWithOutSeries.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/TooltipContentPaneWithOutSeries.java index ab2f0a179..f8d238d3a 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/TooltipContentPaneWithOutSeries.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/TooltipContentPaneWithOutSeries.java @@ -6,8 +6,12 @@ import com.fr.plugin.chart.base.AttrTooltipContent; import com.fr.plugin.chart.base.format.AttrTooltipCategoryFormat; import com.fr.plugin.chart.base.format.AttrTooltipFormat; import com.fr.plugin.chart.base.format.AttrTooltipPercentFormat; +import com.fr.plugin.chart.base.format.AttrTooltipTargetValueFormat; import com.fr.plugin.chart.base.format.AttrTooltipValueFormat; +import com.fr.plugin.chart.gauge.attr.GaugeValueTooltipContent; import com.fr.van.chart.designer.component.VanChartTooltipContentPane; +import com.fr.van.chart.designer.component.format.TargetValueFormatPaneWithCheckBox; +import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox; import com.fr.van.chart.designer.component.richText.VanChartFieldAttrPane; import com.fr.van.chart.designer.component.richText.VanChartFieldListPane; import com.fr.van.chart.designer.component.richText.VanChartRichEditorModel; @@ -24,19 +28,38 @@ public class TooltipContentPaneWithOutSeries extends VanChartTooltipContentPane private static final long serialVersionUID = -1973565663365672717L; - public TooltipContentPaneWithOutSeries(VanChartStylePane parent, JPanel showOnPane){ + private TargetValueFormatPaneWithCheckBox targetValueFormatPane; + + public TooltipContentPaneWithOutSeries(VanChartStylePane parent, JPanel showOnPane) { super(parent, showOnPane); } - protected double[] getRowSize(double p){ - return new double[]{p,p,p}; + public TargetValueFormatPaneWithCheckBox getTargetValueFormatPane() { + return targetValueFormatPane; + } + + @Override + protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) { + super.initFormatPane(parent, showOnPane); + setValueFormatPane(new ValueFormatPaneWithCheckBox(parent, showOnPane) { + @Override + protected String getCheckBoxText() { + return Toolkit.i18nText("Fine-Design_Chart_Value_Pointer"); + } + }); + this.targetValueFormatPane = new TargetValueFormatPaneWithCheckBox(parent, showOnPane); + } + + protected double[] getRowSize(double p) { + return new double[]{p, p, p, p}; } - protected Component[][] getPaneComponents(){ + protected Component[][] getPaneComponents() { return new Component[][]{ - new Component[]{getCategoryNameFormatPane(),null}, - new Component[]{getValueFormatPane(),null}, - new Component[]{getPercentFormatPane(),null}, + new Component[]{getCategoryNameFormatPane(), null}, + new Component[]{getValueFormatPane(), null}, + new Component[]{targetValueFormatPane, null}, + new Component[]{getPercentFormatPane(), null} }; } @@ -57,7 +80,8 @@ public class TooltipContentPaneWithOutSeries extends VanChartTooltipContentPane protected String[] getRichTextFieldNames() { return new String[]{ Toolkit.i18nText("Fine-Design_Chart_Category_Use_Name"), - Toolkit.i18nText("Fine-Design_Chart_Use_Value"), + Toolkit.i18nText("Fine-Design_Chart_Value_Pointer"), + Toolkit.i18nText("Fine-Design_Chart_Target_Value"), Toolkit.i18nText("Fine-Design_Chart_Use_Percent") }; } @@ -66,7 +90,52 @@ public class TooltipContentPaneWithOutSeries extends VanChartTooltipContentPane return new AttrTooltipFormat[]{ new AttrTooltipCategoryFormat(), new AttrTooltipValueFormat(), + new AttrTooltipTargetValueFormat(), new AttrTooltipPercentFormat() }; } + + @Override + protected void populateFormatPane(AttrTooltipContent attrTooltipContent) { + super.populateFormatPane(attrTooltipContent); + if (attrTooltipContent instanceof GaugeValueTooltipContent) { + GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent; + targetValueFormatPane.populate(gaugeValueTooltipContent.getTargetValueFormat()); + } + } + + @Override + protected void updateFormatPane(AttrTooltipContent attrTooltipContent) { + super.updateFormatPane(attrTooltipContent); + GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent; + targetValueFormatPane.update(gaugeValueTooltipContent.getTargetValueFormat()); + } + + protected void updateTooltipFormat(AttrTooltipContent target, AttrTooltipContent source) { + super.updateTooltipFormat(target, source); + + if (target instanceof GaugeValueTooltipContent && source instanceof GaugeValueTooltipContent) { + GaugeValueTooltipContent targetGauge = (GaugeValueTooltipContent) target; + GaugeValueTooltipContent sourceGauge = (GaugeValueTooltipContent) source; + targetGauge.setRichTextTargetValueFormat(sourceGauge.getRichTextTargetValueFormat()); + } + } + + @Override + public void setDirty(boolean isDirty) { + super.setDirty(isDirty); + targetValueFormatPane.setDirty(isDirty); + } + + @Override + public boolean isDirty() { + return super.isDirty() || targetValueFormatPane.isDirty(); + } + + protected AttrTooltipContent createAttrTooltip() { + GaugeValueTooltipContent gaugeValueTooltipContent = new GaugeValueTooltipContent(); + gaugeValueTooltipContent.getTargetValueFormat().setEnable(true); + gaugeValueTooltipContent.getRichTextTargetValueFormat().setEnable(true); + return gaugeValueTooltipContent; + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/VanChartFieldListPaneWithOutSeries.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/VanChartFieldListPaneWithOutSeries.java index c651dbf89..7e67886ac 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/VanChartFieldListPaneWithOutSeries.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/VanChartFieldListPaneWithOutSeries.java @@ -1,9 +1,15 @@ package com.fr.van.chart.designer.component.tooltip; +import com.fr.design.i18n.Toolkit; import com.fr.design.ui.ModernUIPane; +import com.fr.plugin.chart.base.AttrTooltipContent; +import com.fr.plugin.chart.base.format.AttrTooltipTargetValueFormat; +import com.fr.plugin.chart.base.format.AttrTooltipValueFormat; +import com.fr.plugin.chart.gauge.attr.GaugeValueTooltipContent; import com.fr.van.chart.designer.component.richText.VanChartFieldAttrPane; import com.fr.van.chart.designer.component.richText.VanChartFieldButton; import com.fr.van.chart.designer.component.richText.VanChartFieldListPane; +import com.fr.van.chart.designer.component.richText.VanChartFieldListener; import com.fr.van.chart.designer.component.richText.VanChartRichEditorModel; import javax.swing.JPanel; @@ -12,13 +18,26 @@ import java.util.List; public class VanChartFieldListPaneWithOutSeries extends VanChartFieldListPane { + private VanChartFieldButton targetValueButton; + public VanChartFieldListPaneWithOutSeries(VanChartFieldAttrPane fieldAttrPane, ModernUIPane richEditorPane) { super(fieldAttrPane, richEditorPane); } + protected void initDefaultFieldButton() { + super.initDefaultFieldButton(); + + VanChartFieldListener listener = getFieldListener(); + setValueButton(new VanChartFieldButton(Toolkit.i18nText("Fine-Design_Chart_Value_Pointer"), + new AttrTooltipValueFormat(), false, listener)); + targetValueButton = new VanChartFieldButton(Toolkit.i18nText("Fine-Design_Chart_Target_Value"), + new AttrTooltipTargetValueFormat(), false, listener); + } + protected void addDefaultFieldButton(JPanel fieldPane) { fieldPane.add(getCategoryNameButton()); fieldPane.add(getValueButton()); + fieldPane.add(targetValueButton); fieldPane.add(getPercentButton()); } @@ -27,8 +46,24 @@ public class VanChartFieldListPaneWithOutSeries extends VanChartFieldListPane { fieldButtonList.add(getCategoryNameButton()); fieldButtonList.add(getValueButton()); + fieldButtonList.add(targetValueButton); fieldButtonList.add(getPercentButton()); return fieldButtonList; } + + public void populateDefaultField(AttrTooltipContent tooltipContent) { + super.populateDefaultField(tooltipContent); + + if (tooltipContent instanceof GaugeValueTooltipContent) { + GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) tooltipContent; + populateButtonFormat(targetValueButton, gaugeValueTooltipContent.getRichTextTargetValueFormat()); + } + } + + public void updateDefaultField(AttrTooltipContent tooltipContent) { + super.updateDefaultField(tooltipContent); + GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) tooltipContent; + updateButtonFormat(targetValueButton, gaugeValueTooltipContent.getRichTextTargetValueFormat()); + } }