Browse Source

完善散点图、箱型图数据点提示

feature/big-screen
Qinghui.Liu 4 years ago
parent
commit
41eee70b34
  1. 142
      designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
  2. 63
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
  3. 33
      designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterRefreshTooltipContentPane.java
  4. 34
      designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterTooltipContentPane.java

142
designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java

@ -1,14 +1,20 @@
package com.fr.van.chart.box;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
import com.fr.plugin.chart.box.attr.AttrBoxTooltipContent;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.SeriesNameFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.SeriesNameFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.VanChartFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.VanChartFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@ -27,6 +33,14 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
private VanChartFormatPaneWithCheckBox min;
private VanChartFormatPaneWithCheckBox outlier;
private VanChartFormatPaneWithoutCheckBox richTextNumber;
private VanChartFormatPaneWithoutCheckBox richTextMax;
private VanChartFormatPaneWithoutCheckBox richTextQ3;
private VanChartFormatPaneWithoutCheckBox richTextMedian;
private VanChartFormatPaneWithoutCheckBox richTextQ1;
private VanChartFormatPaneWithoutCheckBox richTextMin;
private VanChartFormatPaneWithoutCheckBox richTextOutlier;
private JPanel dataNumberPane;
private JPanel dataOutlierPane;
@ -76,6 +90,47 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
};
}
protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
setRichTextCategoryNameFormatPane(new CategoryNameFormatPaneWithoutCheckBox(parent, showOnPane));
setRichTextSeriesNameFormatPane(new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane));
richTextNumber = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Data_Number");
}
};
richTextMax = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Max_Value");
}
};
richTextQ3 = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Data_Q3");
}
};
richTextMedian = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Data_Median");
}
};
richTextQ1 = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Data_Q1");
}
};
richTextMin = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Min_Value");
}
};
richTextOutlier = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Outlier_Value");
}
};
}
protected JPanel createCommonFormatPanel() {
JPanel commonPanel = new JPanel(new BorderLayout());
@ -86,6 +141,20 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
return commonPanel;
}
protected Component[][] getRichTextComponents() {
return new Component[][]{
new Component[]{getRichTextCategoryNameFormatPane(), null},
new Component[]{getRichTextSeriesNameFormatPane(), null},
new Component[]{richTextNumber, null},
new Component[]{richTextMax, null},
new Component[]{richTextQ3, null},
new Component[]{richTextMedian, null},
new Component[]{richTextQ1, null},
new Component[]{richTextMin, null},
new Component[]{richTextOutlier, null}
};
}
protected double[] getRowSize(double p) {
return new double[]{p, p, p, p, p, p, p, p, p, p, p, p};
}
@ -93,13 +162,15 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
private JPanel createCateAndSeriesPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, p};
double[] rowSize = {p, p};
double[] columnSize = {f, e};
double[] rowSize = {p, p, p};
Component[][] cateAndSeries = new Component[][]{
new Component[]{getCategoryNameFormatPane(), null},
new Component[]{getSeriesNameFormatPane(), null}
new Component[]{null, null},
new Component[]{null, getCategoryNameFormatPane()},
new Component[]{null, getSeriesNameFormatPane()}
};
return TableLayoutHelper.createTableLayoutPane(cateAndSeries, rowSize, columnSize);
@ -108,13 +179,14 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
private JPanel createDataNumberPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, p};
double[] columnSize = {f, e};
double[] rowSize = {p, p};
Component[][] dataNumber = new Component[][]{
new Component[]{null, null},
new Component[]{number, null},
new Component[]{null, number},
};
dataNumberPane = TableLayoutHelper.createTableLayoutPane(dataNumber, rowSize, columnSize);
@ -125,22 +197,24 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
private JPanel createDataDetailPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {f, p};
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e};
JPanel detailPane = new JPanel(new BorderLayout());
Component[][] dataDetail = new Component[][]{
new Component[]{null, null},
new Component[]{max, null},
new Component[]{q3, null},
new Component[]{median, null},
new Component[]{q1, null},
new Component[]{min, null}
new Component[]{null, max},
new Component[]{new UILabel(getLabelContentTitle()), q3},
new Component[]{null, median},
new Component[]{null, q1},
new Component[]{null, min}
};
Component[][] dataOutlier = new Component[][]{
new Component[]{null, null},
new Component[]{outlier, null},
new Component[]{null, outlier},
};
dataOutlierPane = TableLayoutHelper.createTableLayoutPane(dataOutlier, new double[]{p, p}, columnSize);
@ -198,6 +272,31 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
}
protected void populateRichEditor(AttrTooltipContent attrTooltipContent) {
if (attrTooltipContent instanceof AttrBoxTooltipContent) {
AttrBoxTooltipContent boxTooltipContent = (AttrBoxTooltipContent) attrTooltipContent;
VanChartFormatPaneWithoutCheckBox[] formatPaneGroup = new VanChartFormatPaneWithoutCheckBox[]{
richTextNumber, richTextMax, richTextQ3, richTextMedian,
richTextQ1, richTextMin, richTextOutlier
};
AttrTooltipFormat[] formatGroup = new AttrTooltipFormat[]{
boxTooltipContent.getRichTextNumber(),
boxTooltipContent.getRichTextMax(),
boxTooltipContent.getRichTextQ3(),
boxTooltipContent.getRichTextMedian(),
boxTooltipContent.getRichTextQ1(),
boxTooltipContent.getRichTextMin(),
boxTooltipContent.getRichTextOutlier()
};
populateRichTextFormat(formatPaneGroup, formatGroup);
populateRichText(attrTooltipContent.getRichTextAttr());
}
}
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
getCategoryNameFormatPane().update(attrTooltipContent.getCategoryFormat());
getSeriesNameFormatPane().update(attrTooltipContent.getSeriesFormat());
@ -217,6 +316,23 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
}
protected void updateRichEditor(AttrTooltipContent attrTooltipContent) {
getRichTextCategoryNameFormatPane().update(attrTooltipContent.getRichTextCategoryFormat());
getRichTextSeriesNameFormatPane().update(attrTooltipContent.getRichTextSeriesFormat());
if (attrTooltipContent instanceof AttrBoxTooltipContent) {
AttrBoxTooltipContent boxTooltipContent = (AttrBoxTooltipContent) attrTooltipContent;
richTextNumber.update(boxTooltipContent.getRichTextNumber());
richTextMax.update(boxTooltipContent.getRichTextMax());
richTextQ3.update(boxTooltipContent.getRichTextQ3());
richTextMedian.update(boxTooltipContent.getRichTextMedian());
richTextQ1.update(boxTooltipContent.getRichTextQ1());
richTextMin.update(boxTooltipContent.getRichTextMin());
richTextOutlier.update(boxTooltipContent.getRichTextOutlier());
}
}
public void checkFormatVisible(boolean detailed) {
this.detailed = detailed;

63
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java

@ -232,7 +232,7 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
centerPanel.add(htmlPanel, Toolkit.i18nText("Fine-Design_Chart_Custom"));
}
protected String getLabelContentTitle () {
protected String getLabelContentTitle() {
return Toolkit.i18nText("Fine-Design_Report_Text");
}
@ -406,7 +406,7 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
return new VanChartHtmlLabelPaneWithOutWidthAndHeight();
}
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane){
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane);
seriesNameFormatPane = new SeriesNameFormatPaneWithCheckBox(parent, showOnPane);
valueFormatPane = new ValueFormatPaneWithCheckBox(parent, showOnPane);
@ -428,12 +428,12 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
return new double[]{p,p,p,p};
}
protected Component[][] getPaneComponents(){
protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{categoryNameFormatPane,null},
new Component[]{seriesNameFormatPane,null},
new Component[]{valueFormatPane,null},
new Component[]{percentFormatPane,null},
new Component[]{categoryNameFormatPane, null},
new Component[]{seriesNameFormatPane, null},
new Component[]{valueFormatPane, null},
new Component[]{percentFormatPane, null},
};
}
@ -499,30 +499,6 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
}
}
protected VanChartFormatPaneWithCheckBox[] getCommonFormatPaneGroup() {
return new VanChartFormatPaneWithCheckBox[]{
categoryNameFormatPane,
seriesNameFormatPane,
valueFormatPane,
percentFormatPane,
changedValueFormatPane,
changedPercentFormatPane
};
}
protected VanChartFormatPaneWithoutCheckBox[] getRichTextFormatPaneGroup() {
return new VanChartFormatPaneWithoutCheckBox[]{
richTextCategoryNameFormatPane,
richTextSeriesNameFormatPane,
richTextValueFormatPane,
richTextPercentFormatPane,
richTextChangedValueFormatPane,
richTextChangedPercentFormatPane
};
}
@Override
protected String title4PopupWindow() {
return "";
@ -564,7 +540,14 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
}
protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
VanChartFormatPaneWithCheckBox[] formatPaneGroup = getCommonFormatPaneGroup();
VanChartFormatPaneWithCheckBox[] formatPaneGroup = new VanChartFormatPaneWithCheckBox[]{
categoryNameFormatPane,
seriesNameFormatPane,
valueFormatPane,
percentFormatPane,
changedValueFormatPane,
changedPercentFormatPane
};
AttrTooltipFormat[] formatGroup = new AttrTooltipFormat[]{
attrTooltipContent.getCategoryFormat(),
@ -586,7 +569,14 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
}
protected void populateRichEditor(AttrTooltipContent attrTooltipContent) {
VanChartFormatPaneWithoutCheckBox[] formatPaneGroup = getRichTextFormatPaneGroup();
VanChartFormatPaneWithoutCheckBox[] formatPaneGroup = new VanChartFormatPaneWithoutCheckBox[]{
richTextCategoryNameFormatPane,
richTextSeriesNameFormatPane,
richTextValueFormatPane,
richTextPercentFormatPane,
richTextChangedValueFormatPane,
richTextChangedPercentFormatPane
};
AttrTooltipFormat[] formatGroup = new AttrTooltipFormat[]{
attrTooltipContent.getRichTextCategoryFormat(),
@ -597,6 +587,11 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
attrTooltipContent.getRichTextChangedPercentFormat()
};
populateRichTextFormat(formatPaneGroup, formatGroup);
populateRichText(attrTooltipContent.getRichTextAttr());
}
protected void populateRichTextFormat(VanChartFormatPaneWithCheckBox[] formatPaneGroup, AttrTooltipFormat[] formatGroup) {
for (int i = 0, len = formatPaneGroup.length; i < len; i++) {
VanChartFormatPaneWithCheckBox formatPane = formatPaneGroup[i];
AttrTooltipFormat format = formatGroup[i];
@ -608,8 +603,6 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
formatPane.updateFormatParams(richText.getParams(), format.getJs());
}
}
populateRichText(attrTooltipContent.getRichTextAttr());
}
protected void populateRichText(AttrTooltipRichText tooltipRichText) {

33
designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterRefreshTooltipContentPane.java

@ -1,11 +1,13 @@
package com.fr.van.chart.scatter;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
import com.fr.plugin.chart.scatter.attr.ScatterAttrTooltipContent;
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.component.format.VanChartFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@ -78,6 +80,27 @@ public class VanChartScatterRefreshTooltipContentPane extends VanChartScatterToo
}
}
protected void populateRichEditor(AttrTooltipContent attrTooltipContent) {
super.populateRichEditor(attrTooltipContent);
if (attrTooltipContent instanceof ScatterAttrTooltipContent) {
ScatterAttrTooltipContent scatterAttrTooltipContent = (ScatterAttrTooltipContent) attrTooltipContent;
VanChartFormatPaneWithoutCheckBox[] formatPaneGroup = new VanChartFormatPaneWithoutCheckBox[]{
richTextChangedSizeFormatPane,
getRichTextChangedPercentFormatPane()
};
AttrTooltipFormat[] formatGroup = new AttrTooltipFormat[]{
scatterAttrTooltipContent.getRichTextChangeSizeFormat(),
scatterAttrTooltipContent.getRichTextChangedSizePercentFormat()
};
populateRichTextFormat(formatPaneGroup, formatGroup);
populateRichText(attrTooltipContent.getRichTextAttr());
}
}
@Override
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
super.updateFormatPane(attrTooltipContent);
@ -88,6 +111,16 @@ public class VanChartScatterRefreshTooltipContentPane extends VanChartScatterToo
}
}
protected void updateRichEditor(AttrTooltipContent attrTooltipContent) {
super.updateRichEditor(attrTooltipContent);
if (attrTooltipContent instanceof ScatterAttrTooltipContent) {
ScatterAttrTooltipContent scatterAttrTooltipContent = (ScatterAttrTooltipContent) attrTooltipContent;
richTextChangedSizeFormatPane.update(scatterAttrTooltipContent.getRichTextChangeSizeFormat());
getRichTextChangedPercentFormatPane().update(scatterAttrTooltipContent.getRichTextChangedSizePercentFormat());
}
}
@Override
public void setDirty(boolean isDirty) {
super.setDirty(isDirty);

34
designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterTooltipContentPane.java

@ -1,10 +1,12 @@
package com.fr.van.chart.scatter;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
import com.fr.plugin.chart.scatter.attr.ScatterAttrTooltipContent;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.VanChartFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.XFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.XFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.YFormatPaneWithCheckBox;
@ -104,6 +106,27 @@ public class VanChartScatterTooltipContentPane extends VanChartTooltipContentPa
}
}
protected void populateRichEditor(AttrTooltipContent attrTooltipContent) {
super.populateRichEditor(attrTooltipContent);
if (attrTooltipContent instanceof ScatterAttrTooltipContent) {
ScatterAttrTooltipContent scatterAttrTooltipContent = (ScatterAttrTooltipContent) attrTooltipContent;
VanChartFormatPaneWithoutCheckBox[] formatPaneGroup = new VanChartFormatPaneWithoutCheckBox[]{
richTextXFormatPane, richTextYFormatPane, richTextSizeFormatPane
};
AttrTooltipFormat[] formatGroup = new AttrTooltipFormat[]{
scatterAttrTooltipContent.getRichTextXFormat(),
scatterAttrTooltipContent.getRichTextYFormat(),
scatterAttrTooltipContent.getRichTextSizeFormat()
};
populateRichTextFormat(formatPaneGroup, formatGroup);
populateRichText(attrTooltipContent.getRichTextAttr());
}
}
@Override
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
super.updateFormatPane(attrTooltipContent);
@ -115,6 +138,17 @@ public class VanChartScatterTooltipContentPane extends VanChartTooltipContentPa
}
}
protected void updateRichEditor(AttrTooltipContent attrTooltipContent) {
super.updateRichEditor(attrTooltipContent);
if (attrTooltipContent instanceof ScatterAttrTooltipContent) {
ScatterAttrTooltipContent scatterAttrTooltipContent = (ScatterAttrTooltipContent) attrTooltipContent;
richTextXFormatPane.update(scatterAttrTooltipContent.getRichTextXFormat());
richTextYFormatPane.update(scatterAttrTooltipContent.getRichTextYFormat());
richTextSizeFormatPane.update(scatterAttrTooltipContent.getRichTextSizeFormat());
}
}
@Override
public void setDirty(boolean isDirty) {
xFormatPane.setDirty(isDirty);

Loading…
Cancel
Save