|
|
|
@ -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; |
|
|
|
|
|
|
|
|
|