From d1cce51256d5339b30b9a3458048ee41f7abb682 Mon Sep 17 00:00:00 2001
From: "Qinghui.Liu"
Date: Fri, 18 Sep 2020 16:22:37 +0800
Subject: [PATCH 01/13] =?UTF-8?q?CHART-15510=20=E8=B0=83=E6=95=B4=E5=AF=8C?=
=?UTF-8?q?=E6=96=87=E6=9C=AC=E6=A0=87=E7=AD=BE=E5=92=8C=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E7=82=B9=E6=8F=90=E7=A4=BA=E7=95=8C=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../box/VanChartBoxTooltipContentPane.java | 2 +-
.../VanChartRefreshTooltipContentPane.java | 21 +
.../component/VanChartRichEditorPane.java | 20 -
.../component/VanChartTooltipContentPane.java | 406 ++++++++-----
...CategoryNameFormatPaneWithoutCheckBox.java | 17 +
...angedPercentFormatPaneWithoutCheckBox.java | 21 +
...ChangedValueFormatPaneWithoutCheckBox.java | 17 +
.../MapAreaNameFormatPaneWithoutCheckBox.java | 17 +
.../PercentFormatPaneWithoutCheckBox.java | 21 +
.../SeriesNameFormatPaneWithoutCheckBox.java | 17 +
.../ValueFormatPaneWithoutCheckBox.java | 17 +
.../VanChartFormatPaneWithCheckBox.java | 57 +-
.../VanChartFormatPaneWithoutCheckBox.java | 16 +
.../format/XFormatPaneWithoutCheckBox.java | 16 +
.../format/YFormatPaneWithoutCheckBox.java | 16 +
...efreshTooltipContentPaneWithOutSeries.java | 20 +
.../TooltipContentPaneWithOutSeries.java | 8 +
.../label/VanChartGaugeLabelDetailPane.java | 24 +-
.../label/VanChartPlotLabelDetailPane.java | 50 +-
.../VanChartPlotRefreshTooltipPane.java | 1 -
.../tooltip/VanChartPlotTooltipPane.java | 49 --
...unnelPercentFormatPaneWithoutCheckBox.java | 18 +
.../style/VanChartFunnelLabelContentPane.java | 19 +
...nChartFunnelRefreshTooltipContentPane.java | 20 +
.../VanChartFunnelTooltipContentPane.java | 19 +
.../label/VanChartMapLabelContentPane.java | 12 +
.../VanChartMapRefreshTooltipContentPane.java | 22 +
.../VanChartMapTooltipContentPane.java | 12 +
...rtAndEndNameFormatPaneWithoutCheckBox.java | 17 +
.../VanChartLineMapTooltipContentPane.java | 12 +
...PieLevelNameFormatPaneWithoutCheckBox.java | 18 +
...ieSeriesNameFormatPaneWithoutCheckBox.java | 18 +
.../VanChartMultiPieLabelContentPane.java | 9 +
.../VanChartMultiPieTooltipContentPane.java | 9 +
...ChartMutiPieRefreshTooltipContentPane.java | 21 +
...ChartScatterRefreshTooltipContentPane.java | 26 +-
.../VanChartScatterTooltipContentPane.java | 42 +-
...artStructureRefreshTooltipContentPane.java | 20 +
.../VanChartStructureTooltipContentPane.java | 33 +-
...hartWordCloudRefreshTootipContentPane.java | 28 +-
.../VanChartWordCloudTooltipContentPane.java | 30 +-
.../com/fr/design/editor/rich_editor.html | 103 ++++
.../design/editor/script/editor.constant.js | 6 +
.../com/fr/design/editor/script/editor.js | 241 ++++++++
.../fr/design/editor/script/editor.model.js | 53 ++
.../fr/design/editor/script/editor.service.js | 562 ++++++++++++++++++
.../script/insertcombo/combo.insert_param.js | 114 ++++
.../insertcombo/combo.insert_param.model.js | 40 ++
.../editor/script/insertcombo/item/item.js | 38 ++
.../script/toolbar/disabled_bar_wrapper.js | 22 +
.../design/editor/script/toolbar/toolbar.js | 124 ++++
.../editor/script/toolbar/toolbar.model.js | 12 +
52 files changed, 2261 insertions(+), 292 deletions(-)
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/CategoryNameFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/ChangedPercentFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/ChangedValueFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/MapAreaNameFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/PercentFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/SeriesNameFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/ValueFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/VanChartFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/XFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/format/YFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/FunnelPercentFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/map/line/StartAndEndNameFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieLevelNameFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieSeriesNameFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/rich_editor.html
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/editor.constant.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/editor.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/editor.model.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/editor.service.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.model.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/item/item.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/disabled_bar_wrapper.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.js
create mode 100644 designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.model.js
diff --git a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
index 77b16b499..98dbbbb6e 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
@@ -76,7 +76,7 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
};
}
- protected JPanel createCommonPanel() {
+ protected JPanel createCommonFormatPanel() {
JPanel commonPanel = new JPanel(new BorderLayout());
commonPanel.add(createCateAndSeriesPane(), BorderLayout.NORTH);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java
index 0c3b5a454..18f50e143 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java
@@ -1,7 +1,9 @@
package com.fr.van.chart.designer.component;
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;
@@ -28,6 +30,14 @@ public class VanChartRefreshTooltipContentPane extends VanChartTooltipContentPan
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected Component[][] getPaneComponents(){
return new Component[][]{
new Component[]{categoryNameFormatPane,null},
@@ -39,4 +49,15 @@ public class VanChartRefreshTooltipContentPane extends VanChartTooltipContentPan
};
}
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextCategoryNameFormatPane, null},
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextChangedValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
+
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRichEditorPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRichEditorPane.java
index 4dfd250a1..d1f294e41 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRichEditorPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRichEditorPane.java
@@ -8,9 +8,6 @@ import com.teamdev.jxbrowser.chromium.JSValue;
import com.teamdev.jxbrowser.chromium.events.ScriptContextAdapter;
import com.teamdev.jxbrowser.chromium.events.ScriptContextEvent;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Map;
public class VanChartRichEditorPane {
@@ -75,23 +72,6 @@ public class VanChartRichEditorPane {
return new RichEditorModel(richText.getContent(), richText.isAuto(), paramsStr.toString());
}
- public static List richParamsParser(String content, Map paramsMap) {
- if (content == null || paramsMap == null) {
- return null;
- }
-
- List result = new ArrayList<>();
-
- for (Map.Entry entry : paramsMap.entrySet()) {
- String param = entry.getValue();
- if (content.contains(URLEncoder.encode(param))) {
- result.add(param);
- }
- }
-
- return result;
- }
-
public static class RichEditorModel {
private String content;
private boolean auto;
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
index a5aafc79a..e8825f246 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
@@ -9,19 +9,26 @@ 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.design.mainframe.chart.gui.style.ChartTextAttrPane;
import com.fr.design.ui.ModernUIPane;
-import com.fr.general.ComparatorUtils;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.AttrTooltipRichText;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
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.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.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
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.JComponent;
@@ -36,28 +43,38 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-import java.util.List;
/**
- * 内容界面 。数据点提示
+ * 数据点提示内容界面,含有通用设置、富文本编辑器、自定义JS界面
*/
public class VanChartTooltipContentPane extends BasicBeanPane {
private static final long serialVersionUID = 8825929000117843641L;
protected UIButtonGroup content;
- protected ValueFormatPaneWithCheckBox valueFormatPane;
- protected PercentFormatPaneWithCheckBox percentFormatPane;
+
protected CategoryNameFormatPaneWithCheckBox categoryNameFormatPane;
protected SeriesNameFormatPaneWithCheckBox seriesNameFormatPane;
+ protected ValueFormatPaneWithCheckBox valueFormatPane;
+ protected PercentFormatPaneWithCheckBox percentFormatPane;
//监控刷新时,自动数据点提示使用
protected ChangedValueFormatPaneWithCheckBox changedValueFormatPane;
protected ChangedPercentFormatPaneWithCheckBox changedPercentFormatPane;
- private JPanel centerPane;
+ protected CategoryNameFormatPaneWithoutCheckBox richTextCategoryNameFormatPane;
+ protected SeriesNameFormatPaneWithoutCheckBox richTextSeriesNameFormatPane;
+ protected ValueFormatPaneWithoutCheckBox richTextValueFormatPane;
+ protected PercentFormatPaneWithoutCheckBox richTextPercentFormatPane;
+ protected ChangedValueFormatPaneWithoutCheckBox richTextChangedValueFormatPane;
+ protected ChangedPercentFormatPaneWithoutCheckBox richTextChangedPercentFormatPane;
+
+ private JPanel centerPanel;
private JPanel commonPanel;
- private JPanel editorPane;
+ private JPanel editorPanel;
+ private JPanel htmlPanel;
+ private UIButtonGroup styleButton;
+ private ChartTextAttrPane textAttrPane;
private VanChartHtmlLabelPane htmlLabelPane;
private VanChartStylePane parent;
@@ -75,55 +92,44 @@ public class VanChartTooltipContentPane extends BasicBeanPane(new String[]{
- Toolkit.i18nText("Fine-Design_Chart_Common"),
- Toolkit.i18nText("Fine-Design_Chart_Custom")
- });
-
initFormatPane(parent, showOnPane);
+ initRichTextFormatPane(parent, showOnPane);
- double p = TableLayout.PREFERRED;
- double f = TableLayout.FILL;
- double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
+ initDetailPane();
+ initCenterPane();
+
+ JPanel content = new JPanel(new BorderLayout());
+
+ content.add(createButtonPane(), BorderLayout.NORTH);
+ content.add(centerPanel, BorderLayout.CENTER);
+
+ initContentListener();
+
+ return getLabelContentPane(content);
+ }
+ private void initDetailPane() {
commonPanel = createCommonPanel();
- htmlLabelPane = createHtmlLabelPane();
- htmlLabelPane.setParent(parent);
+ editorPanel = createRichEditorPanel();
+ htmlPanel = createHtmlPane();
+ }
- centerPane = new JPanel(new CardLayout()){
- @Override
+ private void initCenterPane() {
+ centerPanel = new JPanel(new CardLayout()) {
public Dimension getPreferredSize() {
- if(content.getSelectedIndex() == 0){
+ if (content.getSelectedIndex() == 0) {
return commonPanel.getPreferredSize();
+ } else if (content.getSelectedIndex() == 1) {
+ return editorPanel.getPreferredSize();
} else {
- return new Dimension(commonPanel.getPreferredSize().width,htmlLabelPane.getPreferredSize().height);
+ return htmlPanel.getPreferredSize();
}
}
};
- centerPane.add(htmlLabelPane, Toolkit.i18nText("Fine-Design_Chart_Custom"));
- centerPane.add(commonPanel, Toolkit.i18nText("Fine-Design_Chart_Common"));
-
- double[] column = {f, e};
- double[] row = {p,p,p};
- Component[][] components = new Component[][]{
- new Component[]{null,null},
- new Component[]{new UILabel(getLabelContentTitle()),content},
- new Component[]{null,centerPane},
- };
-
- JPanel contentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, column);
-
- // editorPane = createRichEditorPanel();
-
- JPanel panel = new JPanel();
- panel.setLayout(new BorderLayout());
- panel.add(contentPane, BorderLayout.CENTER);
- // panel.add(editorPane, BorderLayout.SOUTH);
-
- initContentListener();
-
- return getLabelContentPane(panel);
+ centerPanel.add(commonPanel, Toolkit.i18nText("Fine-Design_Chart_Common"));
+ centerPanel.add(editorPanel, Toolkit.i18nText("Fine-Design_Chart_Rich_Text"));
+ centerPanel.add(htmlPanel, Toolkit.i18nText("Fine-Design_Chart_Custom"));
}
protected String getLabelContentTitle () {
@@ -134,18 +140,88 @@ public class VanChartTooltipContentPane extends BasicBeanPane(new String[]{
+ Toolkit.i18nText("Fine-Design_Chart_Common"),
+ Toolkit.i18nText("Fine-Design_Chart_Rich_Text"),
+ Toolkit.i18nText("Fine-Design_Chart_Custom")
+ });
+
+ Component[][] components = new Component[][]{
+ new Component[]{null, null},
+ new Component[]{content, null}
+ };
+
+ return TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, column);
+ }
+
+ private JPanel createCommonPanel() {
+ JPanel common = new JPanel(new BorderLayout());
+
+ common.add(createCommonFormatPanel(), BorderLayout.CENTER);
+ common.add(createCommonStylePane(), BorderLayout.SOUTH);
+
+ return common;
}
- protected JPanel createCommonPanel() {
+ protected JPanel createCommonFormatPanel() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
+ double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
- double[] columnSize = {f, p};
- double[] rowSize = getRowSize(p);
+ JPanel formatContent = TableLayoutHelper.createTableLayoutPane(getPaneComponents(), getRowSize(p), new double[]{f, p});
+
+ Component[][] components = new Component[][]{
+ new Component[]{null, null},
+ new Component[]{new UILabel(getLabelContentTitle()), formatContent}
+ };
- return TableLayoutHelper.createTableLayoutPane(getPaneComponents(), rowSize, columnSize);
+ return TableLayoutHelper.createTableLayoutPane(components, new double[]{p, p}, new double[]{f, e});
+ }
+
+ private JPanel createCommonStylePane() {
+ styleButton = new UIButtonGroup<>(new String[]{
+ Toolkit.i18nText("Fine-Design_Chart_Automatic"),
+ Toolkit.i18nText("Fine-Design_Chart_Custom")
+ });
+
+ textAttrPane = new ChartTextAttrPane() {
+ protected Component[][] getComponents(JPanel buttonPane) {
+ return new Component[][]{
+ new Component[]{null, null},
+ new Component[]{null, getFontNameComboBox()},
+ new Component[]{null, buttonPane}
+ };
+ }
+ };
+
+ JPanel buttonPane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), styleButton);
+
+ JPanel stylePanel = new JPanel(new BorderLayout());
+ stylePanel.add(buttonPane, BorderLayout.CENTER);
+ stylePanel.add(textAttrPane, BorderLayout.SOUTH);
+
+ initStyleButtonListener();
+
+ return stylePanel;
+ }
+
+ private void initStyleButtonListener() {
+ styleButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ checkStylePane();
+ }
+ });
+ }
+
+ private void checkStylePane() {
+ textAttrPane.setVisible(styleButton.getSelectedIndex() == 1);
}
private JPanel createRichEditorPanel() {
@@ -154,18 +230,21 @@ public class VanChartTooltipContentPane extends BasicBeanPane params = VanChartRichEditorPane.richParamsParser(content, richText.getParams());
- populateFormatParams(params);
updateLocalRichText(content, model.isAuto());
SwingUtilities.getWindowAncestor(pane).setVisible(false);
@@ -207,6 +284,28 @@ public class VanChartTooltipContentPane extends BasicBeanPane",
- "",
- "",
- "",
- "",
- ""
+ return new VanChartFormatPaneWithoutCheckBox[]{
+ richTextCategoryNameFormatPane,
+ richTextSeriesNameFormatPane,
+ richTextValueFormatPane,
+ richTextPercentFormatPane,
+ richTextChangedValueFormatPane,
+ richTextChangedPercentFormatPane
};
-
- StringBuilder result = new StringBuilder("");
-
- for (int i = 0, len = formatPaneGroup.length; i < len; i++) {
- VanChartFormatPaneWithCheckBox formatPane = formatPaneGroup[i];
- String paramRichText = richTextGroup[i];
-
- if (formatPane != null && formatPane.isSelected()) {
- result.append(paramRichText);
- }
- }
-
- result.append("
");
-
- return result.toString();
}
@Override
@@ -346,19 +435,36 @@ public class VanChartTooltipContentPane extends BasicBeanPane params) {
- if (params == null) {
- return;
- }
+ for (int i = 0, len = formatPaneGroup.length; i < len; i++) {
+ VanChartFormatPaneWithCheckBox formatPane = formatPaneGroup[i];
+ AttrTooltipFormat format = formatGroup[i];
- VanChartFormatPaneWithCheckBox[] formatPaneGroup = getFormatPaneGroup();
+ if (formatPane != null && format != null) {
+ formatPane.populate(format);
- for (VanChartFormatPaneWithCheckBox formatPane : formatPaneGroup) {
- if (formatPane != null) {
- formatPane.setSelected(false);
+ // 填充面板时,更新富文本编辑器参数
+ formatPane.updateFormatParams(richText.getParams(), format.getJs());
}
}
- for (String param : params) {
- VanChartFormatPaneWithCheckBox formatPane = getTargetFormatPane(param);
+ AttrTooltipRichText tooltipRichText = attrTooltipContent.getRichTextAttr();
- if (formatPane != null) {
- formatPane.setSelected(true);
- }
+ if (tooltipRichText != null) {
+ updateLocalRichText(tooltipRichText.getContent(), tooltipRichText.isAuto());
+ setDirty(false);
}
}
public AttrTooltipContent updateBean() {
AttrTooltipContent attrTooltipContent = createAttrTooltip();
- boolean isCommon = content.getSelectedIndex() == 0;
-
- attrTooltipContent.setCommon(isCommon);
- if (isDirty() && isCommon) {
- updateLocalRichText(getParamsRichText(), false);
- setDirty(false);
- }
+ attrTooltipContent.setCommon(content.getSelectedIndex() == 0);
+ attrTooltipContent.setRichText(content.getSelectedIndex() == 1);
+ attrTooltipContent.setCustom(styleButton.getSelectedIndex() == 1);
+ attrTooltipContent.setTextAttr(this.textAttrPane.update());
updateFormatPane(attrTooltipContent);
+ updateRichEditor(attrTooltipContent);
updateTooltipRichText(attrTooltipContent);
updateFormatsWithPaneWidth(attrTooltipContent);
@@ -449,6 +553,20 @@ public class VanChartTooltipContentPane extends BasicBeanPane align;
private JPanel alignPane;
private Integer[] oldAlignValues;
+ protected UIButtonGroup style;
+ protected ChartTextAttrPane textFontPane;
public VanChartGaugeLabelDetailPane(Plot plot, VanChartStylePane parent) {
super(plot, parent);
@@ -63,6 +67,15 @@ public class VanChartGaugeLabelDetailPane extends VanChartPlotLabelDetailPane {
return TableLayoutHelper.createTableLayoutPane(getLabelStyleComponents(plot), row, col);
}
+ protected void initStyleListener() {
+ style.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ checkStyleUse();
+ }
+ });
+ }
+
protected boolean isFontSizeAuto() {
return false;
}
@@ -120,7 +133,10 @@ public class VanChartGaugeLabelDetailPane extends VanChartPlotLabelDetailPane {
};
} else {
- return super.getLabelPaneComponents(plot, p, columnSize);
+ return new Component[][]{
+ new Component[]{dataLabelContentPane, null},
+ new Component[]{createLabelStylePane(getLabelStyleRowSize(p), columnSize, plot), null},
+ };
}
}
@@ -210,15 +226,21 @@ public class VanChartGaugeLabelDetailPane extends VanChartPlotLabelDetailPane {
super.populate(detail);
style.setSelectedIndex(1);
+ textFontPane.populate(detail.getTextAttr());
if (hasLabelAlign(this.getPlot()) && align != null) {
align.setSelectedItem(detail.getAlign());
}
+
+ checkStyleUse();
}
public void update(AttrLabelDetail detail) {
super.update(detail);
detail.setCustom(true);
+ if (textFontPane != null) {
+ detail.setTextAttr(textFontPane.update());
+ }
if (align != null) {
if (align.getSelectedItem() != null) {
detail.setAlign(align.getSelectedItem());
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelDetailPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelDetailPane.java
index c506d89ea..b5d36b07a 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelDetailPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelDetailPane.java
@@ -44,9 +44,6 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
protected UIButtonGroup autoAdjust;
protected UIToggleButton tractionLine;
- protected UIButtonGroup style;
- protected ChartTextAttrPane textFontPane;
-
protected ColorSelectBox backgroundColor;
private JPanel tractionLinePane;
@@ -93,13 +90,11 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
if(hasLabelPosition(plot)){
return new Component[][]{
new Component[]{dataLabelContentPane,null},
- new Component[]{createLabelPositionPane(Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), plot), null},
- new Component[]{createLabelStylePane(getLabelStyleRowSize(p), columnSize, plot),null},
+ new Component[]{createLabelPositionPane(Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), plot), null}
};
} else {
return new Component[][]{
- new Component[]{dataLabelContentPane,null},
- new Component[]{createLabelStylePane(getLabelStyleRowSize(p), columnSize, plot),null},
+ new Component[]{dataLabelContentPane,null}
};
}
}
@@ -214,17 +209,6 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
});
}
- protected JPanel createLabelStylePane(double[] row, double[] col, Plot plot) {
- style = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Automatic"),
- Toolkit.i18nText("Fine-Design_Chart_Custom")});
- textFontPane =initTextFontPane();
-
- initStyleListener();
-
- JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(getLabelStyleComponents(plot),row,col);
- return createTableLayoutPaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel);
- }
-
protected ChartTextAttrPane initTextFontPane () {
return new ChartTextAttrPane(){
protected Component[][] getComponents(JPanel buttonPane) {
@@ -237,24 +221,6 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
};
}
- protected Component[][] getLabelStyleComponents(Plot plot) {
- UILabel text = new UILabel(Toolkit.i18nText("Fine-Design_Chart_Character"), SwingConstants.LEFT);
- return new Component[][]{
- new Component[]{null,null},
- new Component[]{text,style},
- new Component[]{textFontPane,null},
- };
- }
-
- protected void initStyleListener() {
- style.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- checkStyleUse();
- }
- });
- }
-
protected JPanel createBackgroundColorPane() {
backgroundColor = new ColorSelectBox(100);
return createTableLayoutPaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Background"), backgroundColor);
@@ -265,18 +231,12 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
}
private void checkAllUse() {
- checkStyleUse();
if(tractionLine == null){
return;
}
checkPositionEnabled();
}
- protected void checkStyleUse() {
- textFontPane.setVisible(style.getSelectedIndex() == 1);
- textFontPane.setPreferredSize(style.getSelectedIndex() == 1 ? new Dimension(0, 60) : new Dimension(0, 0));
- }
-
private void checkPosition() {
tractionLine.setSelected(position.getSelectedItem() == Constants.OUTSIDE);
checkPositionEnabled();
@@ -301,8 +261,6 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
if(autoAdjust != null){
autoAdjust.setSelectedIndex(detail.isAutoAdjust() == true ? 0 : 1);
}
- style.setSelectedIndex(detail.isCustom() ? 1 : 0);
- textFontPane.populate(detail.getTextAttr());
if(backgroundColor != null){
backgroundColor.setSelectObject(detail.getBackgroundColor());
@@ -327,10 +285,6 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
if(tractionLine != null){
detail.setShowGuidLine(tractionLine.isSelected() && detail.getPosition() == Constants.OUTSIDE);
}
- detail.setCustom(style.getSelectedIndex() == 1);
- if(textFontPane != null){
- detail.setTextAttr(textFontPane.update());
- }
if(backgroundColor != null){
detail.setBackgroundColor(backgroundColor.getSelectObject());
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotRefreshTooltipPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotRefreshTooltipPane.java
index ade1d85bd..0f71c9de6 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotRefreshTooltipPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotRefreshTooltipPane.java
@@ -72,7 +72,6 @@ public class VanChartPlotRefreshTooltipPane extends VanChartPlotTooltipNoCheckPa
Component[][] components = new Component[][]{
new Component[]{refreshTooltipContentPane,null},
new Component[]{initDurationPane(),null},
- new Component[]{createLabelStylePane(),null},
new Component[]{TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Border"),borderPane),null},
new Component[]{TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Background"), backgroundPane),null},
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java
index 1c3ed4aa5..bb5b46b63 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java
@@ -7,8 +7,6 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
-import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane;
-
import com.fr.design.utils.gui.UIComponentUtils;
import com.fr.design.widget.FRWidgetFactory;
import com.fr.plugin.chart.base.AttrTooltip;
@@ -32,9 +30,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
protected VanChartTooltipContentPane tooltipContentPane;
- protected UIButtonGroup style;
- protected ChartTextAttrPane textFontPane;
-
protected VanChartBorderWithRadiusPane borderPane;
protected VanChartBackgroundWithOutImagePane backgroundPane;
@@ -95,7 +90,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
protected Component[][] createComponents(Plot plot) {
Component[][] components = new Component[][]{
new Component[]{tooltipContentPane,null},
- new Component[]{createLabelStylePane(),null},
new Component[]{TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Border"),borderPane),null},
new Component[]{TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Background"), backgroundPane),null},
new Component[]{createDisplayStrategy(plot),null},
@@ -108,38 +102,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
tooltipContentPane = PlotFactory.createPlotTooltipContentPane(plot, parent, VanChartPlotTooltipPane.this);
}
- protected JPanel createLabelStylePane() {
- style = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Automatic"),Toolkit.i18nText("Fine-Design_Chart_Custom")});
- textFontPane = new ChartTextAttrPane() {
- protected Component[][] getComponents(JPanel buttonPane) {
- return new Component[][]{
- new Component[]{null, null},
- new Component[]{null, getFontNameComboBox()},
- new Component[]{null, buttonPane}
- };
- }
- };
-
- JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Character"), style);
- JPanel panel1 = new JPanel(new BorderLayout());
- panel1.add(panel, BorderLayout.CENTER);
- panel1.add(textFontPane, BorderLayout.SOUTH);
-
- initStyleListener();
-
- return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel1);
- }
-
-
- private void initStyleListener() {
- style.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- checkStyleUse();
- }
- });
- }
-
protected JPanel createDisplayStrategy(Plot plot) {
showAllSeries = new UICheckBox(getShowAllSeriesLabelText());
followMouse = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Follow_Mouse"),
@@ -175,7 +137,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
private void checkAllUse() {
checkBoxUse();
- checkStyleUse();
}
/**
* 检查box使用.
@@ -184,10 +145,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
tooltipPane.setVisible(isTooltipShow.isSelected());
}
- private void checkStyleUse() {
- textFontPane.setVisible(style.getSelectedIndex() == 1);
- }
-
protected AttrTooltip getAttrTooltip() {
return new AttrTooltip();
}
@@ -202,8 +159,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
tooltipContentPane.populateBean(attr.getContent());
}
- style.setSelectedIndex(attr.isCustom() ? 1 : 0);
- textFontPane.populate(attr.getTextAttr());
borderPane.populate(attr.getGeneralInfo());
backgroundPane.populate(attr.getGeneralInfo());
if(showAllSeries != null) {
@@ -224,10 +179,6 @@ public class VanChartPlotTooltipPane extends BasicPane {
attrTooltip.setContent(tooltipContentPane.updateBean());
}
- attrTooltip.setCustom(style.getSelectedIndex() == 1);
- if(textFontPane != null){
- attrTooltip.setTextAttr(textFontPane.update());
- }
borderPane.update(attrTooltip.getGeneralInfo());
backgroundPane.update(attrTooltip.getGeneralInfo());
if(showAllSeries != null) {
diff --git a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/FunnelPercentFormatPaneWithoutCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/FunnelPercentFormatPaneWithoutCheckBox.java
new file mode 100644
index 000000000..5495131b3
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/FunnelPercentFormatPaneWithoutCheckBox.java
@@ -0,0 +1,18 @@
+package com.fr.van.chart.funnel.designer.style;
+
+import com.fr.design.i18n.Toolkit;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+
+public class FunnelPercentFormatPaneWithoutCheckBox extends PercentFormatPaneWithoutCheckBox {
+
+ public FunnelPercentFormatPaneWithoutCheckBox(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Value_Conversion");
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelLabelContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelLabelContentPane.java
index e2382c685..20451e343 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelLabelContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelLabelContentPane.java
@@ -4,8 +4,12 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipNameFormat;
import com.fr.van.chart.designer.component.VanChartLabelContentPane;
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.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -31,6 +35,14 @@ public class VanChartFunnelLabelContentPane extends VanChartLabelContentPane {
};
}
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null}
+ };
+ }
+
@Override
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane);
@@ -39,6 +51,13 @@ public class VanChartFunnelLabelContentPane extends VanChartLabelContentPane {
percentFormatPane = new FunnelPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new CategoryNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new FunnelPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent attrTooltipContent = new AttrTooltipContent();
attrTooltipContent.getCategoryFormat().setEnable(false);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelRefreshTooltipContentPane.java
index c98dfcce4..c751e1731 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelRefreshTooltipContentPane.java
@@ -1,7 +1,9 @@
package com.fr.van.chart.funnel.designer.style;
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;
@@ -22,6 +24,14 @@ public class VanChartFunnelRefreshTooltipContentPane extends VanChartFunnelToolt
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p};
}
@@ -35,4 +45,14 @@ public class VanChartFunnelRefreshTooltipContentPane extends VanChartFunnelToolt
new Component[]{changedPercentFormatPane,null},
};
}
+
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextChangedValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelTooltipContentPane.java
index 1a5199c09..280d7e2bc 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelTooltipContentPane.java
@@ -4,8 +4,11 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipNameFormat;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -31,6 +34,14 @@ public class VanChartFunnelTooltipContentPane extends VanChartTooltipContentPane
};
}
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null}
+ };
+ }
+
@Override
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane);
@@ -39,6 +50,14 @@ public class VanChartFunnelTooltipContentPane extends VanChartTooltipContentPane
percentFormatPane = new FunnelPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new CategoryNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new FunnelPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent attrTooltipContent = new AttrTooltipContent();
attrTooltipContent.getCategoryFormat().setEnable(false);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/label/VanChartMapLabelContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/label/VanChartMapLabelContentPane.java
index c918088ca..c257c8ffd 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/label/VanChartMapLabelContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/label/VanChartMapLabelContentPane.java
@@ -5,9 +5,13 @@ import com.fr.plugin.chart.base.format.AttrTooltipAreaNameFormat;
import com.fr.plugin.chart.base.format.AttrTooltipMapValueFormat;
import com.fr.van.chart.designer.component.VanChartLabelContentPane;
import com.fr.van.chart.designer.component.format.MapAreaNameFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.MapAreaNameFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -28,6 +32,14 @@ public class VanChartMapLabelContentPane extends VanChartLabelContentPane {
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new MapAreaNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent content = new AttrTooltipContent();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapRefreshTooltipContentPane.java
index 76bd33f59..9b9b3aac4 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapRefreshTooltipContentPane.java
@@ -3,7 +3,9 @@ package com.fr.van.chart.map.designer.style.tooltip;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipAreaNameFormat;
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;
@@ -20,10 +22,19 @@ public class VanChartMapRefreshTooltipContentPane extends VanChartMapTooltipCont
@Override
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
super.initFormatPane(parent, showOnPane);
+
changedValueFormatPane = new ChangedValueFormatPaneWithCheckBox(parent, showOnPane);
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
+ }
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
}
+
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p,p};
}
@@ -39,6 +50,17 @@ public class VanChartMapRefreshTooltipContentPane extends VanChartMapTooltipCont
};
}
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextCategoryNameFormatPane, null},
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextChangedValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent content = new AttrTooltipContent();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapTooltipContentPane.java
index 1a2b593a3..f39107d6d 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/style/tooltip/VanChartMapTooltipContentPane.java
@@ -5,9 +5,13 @@ import com.fr.plugin.chart.base.format.AttrTooltipAreaNameFormat;
import com.fr.plugin.chart.base.format.AttrTooltipMapValueFormat;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
import com.fr.van.chart.designer.component.format.MapAreaNameFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.MapAreaNameFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -28,6 +32,14 @@ public class VanChartMapTooltipContentPane extends VanChartTooltipContentPane {
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new MapAreaNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent content = new AttrTooltipContent();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/line/StartAndEndNameFormatPaneWithoutCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/map/line/StartAndEndNameFormatPaneWithoutCheckBox.java
new file mode 100644
index 000000000..9630f9b12
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/map/line/StartAndEndNameFormatPaneWithoutCheckBox.java
@@ -0,0 +1,17 @@
+package com.fr.van.chart.map.line;
+
+import com.fr.design.i18n.Toolkit;
+import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithoutCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+
+public class StartAndEndNameFormatPaneWithoutCheckBox extends CategoryNameFormatPaneWithoutCheckBox {
+ public StartAndEndNameFormatPaneWithoutCheckBox(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Start_And_End");
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/line/VanChartLineMapTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/line/VanChartLineMapTooltipContentPane.java
index 66566c6bf..9c46c351b 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/map/line/VanChartLineMapTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/map/line/VanChartLineMapTooltipContentPane.java
@@ -4,9 +4,13 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipStartAndEndNameFormat;
import com.fr.plugin.chart.base.format.AttrTooltipValueFormat;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
+import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -27,6 +31,14 @@ public class VanChartLineMapTooltipContentPane extends VanChartTooltipContentPan
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new StartAndEndNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent content = new AttrTooltipContent();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieLevelNameFormatPaneWithoutCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieLevelNameFormatPaneWithoutCheckBox.java
new file mode 100644
index 000000000..71789e63a
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieLevelNameFormatPaneWithoutCheckBox.java
@@ -0,0 +1,18 @@
+package com.fr.van.chart.multilayer.style;
+
+import com.fr.design.i18n.Toolkit;
+import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithoutCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+
+public class MultiPieLevelNameFormatPaneWithoutCheckBox extends CategoryNameFormatPaneWithoutCheckBox {
+
+ public MultiPieLevelNameFormatPaneWithoutCheckBox(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Level_Name");
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieSeriesNameFormatPaneWithoutCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieSeriesNameFormatPaneWithoutCheckBox.java
new file mode 100644
index 000000000..95cf23f2e
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/MultiPieSeriesNameFormatPaneWithoutCheckBox.java
@@ -0,0 +1,18 @@
+package com.fr.van.chart.multilayer.style;
+
+import com.fr.design.i18n.Toolkit;
+import com.fr.van.chart.designer.component.format.SeriesNameFormatPaneWithoutCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+
+public class MultiPieSeriesNameFormatPaneWithoutCheckBox extends SeriesNameFormatPaneWithoutCheckBox {
+
+ public MultiPieSeriesNameFormatPaneWithoutCheckBox(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieLabelContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieLabelContentPane.java
index 637279d13..8b755a18c 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieLabelContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieLabelContentPane.java
@@ -4,7 +4,9 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.multilayer.style.AttrTooltipMultiLevelNameFormat;
import com.fr.van.chart.designer.component.VanChartLabelContentPane;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -25,6 +27,13 @@ public class VanChartMultiPieLabelContentPane extends VanChartLabelContentPane {
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new MultiPieLevelNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new MultiPieSeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent content = new AttrTooltipContent();
content.setCategoryFormat(new AttrTooltipMultiLevelNameFormat());
diff --git a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieTooltipContentPane.java
index 3c500d3bf..7e94fb8cb 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieTooltipContentPane.java
@@ -4,7 +4,9 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.multilayer.style.AttrTooltipMultiLevelNameFormat;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -25,6 +27,13 @@ public class VanChartMultiPieTooltipContentPane extends VanChartTooltipContentPa
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new MultiPieLevelNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSeriesNameFormatPane = new MultiPieSeriesNameFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent content = new AttrTooltipContent();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMutiPieRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMutiPieRefreshTooltipContentPane.java
index 56893ec66..1cd5a6e84 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMutiPieRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMutiPieRefreshTooltipContentPane.java
@@ -1,7 +1,9 @@
package com.fr.van.chart.multilayer.style;
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;
@@ -25,6 +27,14 @@ public class VanChartMutiPieRefreshTooltipContentPane extends VanChartMultiPieTo
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p,p};
}
@@ -40,4 +50,15 @@ public class VanChartMutiPieRefreshTooltipContentPane extends VanChartMultiPieTo
};
}
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextCategoryNameFormatPane, null},
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextChangedValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
+
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterRefreshTooltipContentPane.java
index 902f65517..37a846076 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterRefreshTooltipContentPane.java
@@ -3,7 +3,9 @@ package com.fr.van.chart.scatter;
import com.fr.plugin.chart.base.AttrTooltipContent;
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.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -15,7 +17,7 @@ import java.awt.Component;
public class VanChartScatterRefreshTooltipContentPane extends VanChartScatterTooltipContentPane {
private ChangedValueFormatPaneWithCheckBox changedSizeFormatPane;
-
+ private ChangedValueFormatPaneWithoutCheckBox richTextChangedSizeFormatPane;
public VanChartScatterRefreshTooltipContentPane(VanChartStylePane parent, JPanel showOnPane) {
super(null, showOnPane);
@@ -28,6 +30,12 @@ public class VanChartScatterRefreshTooltipContentPane extends VanChartScatterToo
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedSizeFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
protected double[] getRowSize(double p) {
return new double[]{p, p, p, p, p, p};
@@ -36,14 +44,26 @@ public class VanChartScatterRefreshTooltipContentPane extends VanChartScatterToo
protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{seriesNameFormatPane, null},
- new Component[]{getxFormatPane(), null},
- new Component[]{getyFormatPane(), null},
+ new Component[]{getXFormatPane(), null},
+ new Component[]{getYFormatPane(), null},
new Component[]{getSizeFormatPane(), null},
new Component[]{changedSizeFormatPane, null},
new Component[]{changedPercentFormatPane, null},
};
}
+ @Override
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{getRichTextXFormatPane(), null},
+ new Component[]{getRichTextYFormatPane(), null},
+ new Component[]{getRichTextSizeFormatPane(), null},
+ new Component[]{richTextChangedSizeFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
+
@Override
protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
diff --git a/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterTooltipContentPane.java
index 705ea1a0f..f1a13d8cf 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterTooltipContentPane.java
@@ -4,8 +4,11 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
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.XFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.XFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.YFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.YFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -20,11 +23,15 @@ public class VanChartScatterTooltipContentPane extends VanChartTooltipContentPa
private YFormatPaneWithCheckBox yFormatPane;
private ValueFormatPaneWithCheckBox sizeFormatPane;
- public XFormatPaneWithCheckBox getxFormatPane() {
+ private XFormatPaneWithoutCheckBox richTextXFormatPane;
+ private YFormatPaneWithoutCheckBox richTextYFormatPane;
+ private ValueFormatPaneWithoutCheckBox richTextSizeFormatPane;
+
+ public XFormatPaneWithCheckBox getXFormatPane() {
return xFormatPane;
}
- public YFormatPaneWithCheckBox getyFormatPane() {
+ public YFormatPaneWithCheckBox getYFormatPane() {
return yFormatPane;
}
@@ -32,6 +39,18 @@ public class VanChartScatterTooltipContentPane extends VanChartTooltipContentPa
return sizeFormatPane;
}
+ public XFormatPaneWithoutCheckBox getRichTextXFormatPane() {
+ return richTextXFormatPane;
+ }
+
+ public YFormatPaneWithoutCheckBox getRichTextYFormatPane() {
+ return richTextYFormatPane;
+ }
+
+ public ValueFormatPaneWithoutCheckBox getRichTextSizeFormatPane() {
+ return richTextSizeFormatPane;
+ }
+
public VanChartScatterTooltipContentPane(VanChartStylePane parent, JPanel showOnPane){
super(parent, showOnPane);
}
@@ -45,6 +64,15 @@ public class VanChartScatterTooltipContentPane extends VanChartTooltipContentPa
sizeFormatPane = new ValueFormatPaneWithCheckBox(parent, showOnPane);
}
+ @Override
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextXFormatPane = new XFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextYFormatPane = new YFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextSizeFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected Component[][] getPaneComponents(){
return new Component[][]{
@@ -55,6 +83,16 @@ public class VanChartScatterTooltipContentPane extends VanChartTooltipContentPa
};
}
+ @Override
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextXFormatPane, null},
+ new Component[]{richTextYFormatPane, null},
+ new Component[]{richTextSizeFormatPane, null}
+ };
+ }
+
@Override
protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
super.populateFormatPane(attrTooltipContent);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureRefreshTooltipContentPane.java
index 5fa83be5b..f5dd6fbd5 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureRefreshTooltipContentPane.java
@@ -1,7 +1,9 @@
package com.fr.van.chart.structure.desinger.style;
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;
@@ -23,6 +25,13 @@ public class VanChartStructureRefreshTooltipContentPane extends VanChartStructur
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p};
}
@@ -37,4 +46,15 @@ public class VanChartStructureRefreshTooltipContentPane extends VanChartStructur
new Component[]{changedPercentFormatPane,null},
};
}
+
+ @Override
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextCategoryNameFormatPane, null},
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextChangedValueFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureTooltipContentPane.java
index 63490eaff..29fd61739 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureTooltipContentPane.java
@@ -1,13 +1,18 @@
package com.fr.van.chart.structure.desinger.style;
+import com.fr.design.i18n.Toolkit;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.multilayer.style.AttrTooltipMultiLevelNameFormat;
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.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -30,24 +35,48 @@ public class VanChartStructureTooltipContentPane extends VanChartTooltipContentP
};
}
+ @Override
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextCategoryNameFormatPane, null},
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null}
+ };
+ }
+
@Override
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane){
categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane){
@Override
protected String getCheckBoxText() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Node_Name");
+ return Toolkit.i18nText("Fine-Design_Chart_Node_Name");
}
};
seriesNameFormatPane = new SeriesNameFormatPaneWithCheckBox(parent, showOnPane){
@Override
protected String getCheckBoxText() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
+ return Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
}
};
valueFormatPane = new ValueFormatPaneWithCheckBox(parent, showOnPane);
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new CategoryNameFormatPaneWithoutCheckBox(parent, showOnPane) {
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Node_Name");
+ }
+ };
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane) {
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
+ }
+ };
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane);
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent attrTooltipContent = new AttrTooltipContent();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudRefreshTootipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudRefreshTootipContentPane.java
index 4f748214f..513f9f386 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudRefreshTootipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudRefreshTootipContentPane.java
@@ -1,8 +1,11 @@
package com.fr.van.chart.wordcloud.designer.style;
+import com.fr.design.i18n.Toolkit;
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;
@@ -23,13 +26,25 @@ public class VanChartWordCloudRefreshTootipContentPane extends VanChartWordCloud
changedValueFormatPane = new ChangedValueFormatPaneWithCheckBox(parent, showOnPane){
@Override
protected String getCheckBoxText() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Change_Word_Value");
+ return Toolkit.i18nText("Fine-Design_Chart_Change_Word_Value");
}
};
changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ super.initRichTextFormatPane(parent, showOnPane);
+
+ richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane) {
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Change_Word_Value");
+ }
+ };
+
+ richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p,p};
}
@@ -44,4 +59,15 @@ public class VanChartWordCloudRefreshTootipContentPane extends VanChartWordCloud
new Component[]{changedPercentFormatPane,null},
};
}
+
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextCategoryNameFormatPane, null},
+ new Component[]{richTextSeriesNameFormatPane, null},
+ new Component[]{richTextValueFormatPane, null},
+ new Component[]{richTextChangedValueFormatPane, null},
+ new Component[]{richTextPercentFormatPane, null},
+ new Component[]{richTextChangedPercentFormatPane, null}
+ };
+ }
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudTooltipContentPane.java
index 08845b2b7..90c017b82 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudTooltipContentPane.java
@@ -1,13 +1,18 @@
package com.fr.van.chart.wordcloud.designer.style;
+import com.fr.design.i18n.Toolkit;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipNameFormat;
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.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithoutCheckBox;
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.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@@ -25,24 +30,43 @@ public class VanChartWordCloudTooltipContentPane extends VanChartTooltipContentP
categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane){
@Override
protected String getCheckBoxText() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
+ return Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
}
};
seriesNameFormatPane = new SeriesNameFormatPaneWithCheckBox(parent, showOnPane){
@Override
protected String getCheckBoxText() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Word_Name");
+ return Toolkit.i18nText("Fine-Design_Chart_Word_Name");
}
};
valueFormatPane = new ValueFormatPaneWithCheckBox(parent, showOnPane){
@Override
protected String getCheckBoxText() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Word_Value");
+ return Toolkit.i18nText("Fine-Design_Chart_Word_Value");
}
};
percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextCategoryNameFormatPane = new CategoryNameFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_MultiPie_Series_Name");
+ }
+ };
+ richTextSeriesNameFormatPane = new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Word_Name");
+ }
+ };
+ richTextValueFormatPane = new ValueFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Word_Value");
+ }
+ };
+ richTextPercentFormatPane = new PercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ }
+
@Override
protected AttrTooltipContent createAttrTooltip() {
AttrTooltipContent attrTooltipContent = new AttrTooltipContent();
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/rich_editor.html b/designer-chart/src/main/resources/com/fr/design/editor/rich_editor.html
new file mode 100644
index 000000000..3189374da
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/rich_editor.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/editor.constant.js b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.constant.js
new file mode 100644
index 000000000..3642aed28
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.constant.js
@@ -0,0 +1,6 @@
+!(function () {
+
+ BI.constant("bi.constant.design.chart.common.editor.placeholder_style", {
+ fontColor: "#c4c9d1"
+ });
+}());
\ No newline at end of file
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/editor.js b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.js
new file mode 100644
index 000000000..216243069
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.js
@@ -0,0 +1,241 @@
+!(function () {
+ var Widget = BI.inherit(BI.Widget, {
+ props: {
+ baseCls: "bi-design-chart-common-editor",
+ isAuto: true,
+ content: "",
+ placeholder: "",
+ fontStyle: {},
+ dimensionIds: [],
+ toolbar: {
+ buttons: []
+ },
+ textAlign: "center"
+ },
+
+ _store: function () {
+ var o = this.options;
+
+ return BI.Models.getModel("bi.model.design.chart.common.editor", {
+ dimensionIds: o.dimensionIds,
+ isAuto: o.isAuto
+ });
+ },
+
+ render: function () {
+ var self = this, o = this.options;
+ this.editor = BI.createWidget({
+ type: "bi.nic_editor",
+ $value: "chart-common-editor",
+ height: 365,
+ cls: "editor bi-border bi-focus-shadow " + (o.textAlign === "center" ? "editor-center-text" : ""),
+ listeners: [{
+ eventName: BI.NicEditor.EVENT_FOCUS,
+ action: function () {
+ self.clearPlaceholder();
+ self.store.setEditorBlurState(false);
+ }
+ }, {
+ eventName: BI.NicEditor.EVENT_BLUR,
+ action: function () {
+ self.setPlaceholder();
+ self.store.setEditorBlurState(true);
+ }
+ }]
+ });
+
+ return {
+ type: "bi.vtape",
+ ref: function (_ref) {
+ self.bar = _ref;
+ },
+ items: [{
+ type: "bi.htape",
+ items: [{
+ type: "bi.label",
+ text: "字体样式: ",
+ textAlign: "left",
+ width: 70
+ }, {
+ type: "bi.button_group",
+ items: this.model.fontStyleItems,
+ ref: function (_ref) {
+ self.fontStyleGroup = _ref;
+ },
+ listeners: [{
+ eventName: BI.ButtonGroup.EVENT_CHANGE,
+ action: function () {
+ var isAuto = this.getValue()[0];
+ self.store.changeIsAuto(isAuto);
+ self.changeFontStyleMode(isAuto);
+ }
+ }],
+ layouts: [{
+ type: "bi.left",
+ rgap: 5
+ }],
+ value: this.model.mode,
+ width: 125
+ }, this._getToolBar()],
+ height: 24
+ }, {
+ el: this.editor,
+ tgap: 10
+ }]
+ };
+ },
+
+ _getToolBar: function () {
+ var self = this;
+ return {
+ type: "bi.design.chart.common.editor.toolbar",
+ cls: "toolbar-region",
+ wId: this.options.wId,
+ editor: this.editor,
+ buttons: this.options.toolbar.buttons,
+ ref: function (_ref) {
+ self.toolbar = _ref;
+ }
+ };
+ },
+
+ mounted: function () {
+ this.editor.bindToolbar(this.bar);
+ this.editor.setValue(this._formatContent(this.options.content));
+ this.setFocus();
+ },
+
+ _cleanHtml: function (value) {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+ var result = BI.replaceAll(value, "", "");
+ // 去掉image的src属性,因为数据太大了
+ result = value.replaceAll("", function (imageStr) {
+ var attrs = editorService.getImageAttr(imageStr);
+ var str = "";
+ });
+
+ return result;
+ },
+
+ getValue: function () {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+ var value = this._cleanHtml(this.editor.getValue(BI.NicEditor.FormatType.ESCAPE));
+ // BI.each(this.model.dimensionIds, function (idx, dId) {
+ // var fullName = BI.Utils.getNotGeoDimensionFullName(dId);
+ // value = editorService.appendImageAttr(value, fullName, BICst.RICH_TEXT_INFO.DATA_ID, dId);
+ // });
+
+ if (editorService.isEmptyRichText(value)) {
+ value = "";
+ }
+
+ if (BI.isNotEmptyString(this.options.placeholder) && editorService.isRichTextEqual(value, this.options.placeholder)) {
+ value = null;
+ }
+
+ return {
+ isAuto: this.model.isAuto,
+ content: value
+ };
+ },
+
+ setValue: function (obj) {
+ var keys = BI.keys(obj);
+ if (BI.contains(keys, "content")) {
+ this.editor.setValue(this._formatContent(obj.content));
+ }
+ if (BI.contains(keys, "isAuto")) {
+ this.store.changeIsAuto(obj.isAuto);
+ this.fontStyleGroup.setValue(obj.isAuto);
+ }
+ },
+
+ _formatContent: function (content) {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+
+ content = editorService.setImageSrc(content);
+
+ if (editorService.isBlankRichText(content)
+ || editorService.isRichTextEqual(content, this.options.placeholder)) {
+ content = this.options.placeholder || "";
+ }
+
+ return content;
+ },
+
+ // 切换到“自动”时的处理方法
+ _switchToAutoStyle: function () {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor"),
+ content = this.editor.getValue(BI.NicEditor.FormatType.ESCAPE),
+ isEqualToPlaceholder = editorService.isRichTextEqual(content, this.options.placeholder);
+
+ var HTML_ONLY_STYLE_TAG = "|||||||||||||||||
||
|
";
+
+ if (!isEqualToPlaceholder) {
+ content = content.replaceAll(HTML_ONLY_STYLE_TAG, "");
+ }
+
+ return content;
+ },
+
+ clearPlaceholder: function () {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+ var content = this.editor.getValue(BI.NicEditor.FormatType.ESCAPE);
+ var isSameContent = editorService.isRichTextEqual(content, this.options.placeholder);
+
+ if (isSameContent) {
+ content = editorService.convertText2RichText("", this.options.fontStyle);
+ this.editor.setValue(content);
+ this.setFocus();
+ }
+ },
+
+ setPlaceholder: function () {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+ var content = this.editor.getValue(BI.NicEditor.FormatType.ESCAPE);
+ var isSameContent = editorService.isBlankRichText(content);
+
+ if (isSameContent) {
+ this.editor.setValue(this.options.placeholder);
+ }
+ },
+
+ // 字体样式切换
+ changeFontStyleMode: function (isAuto) {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+ var switchFn = this.options.switchFn,
+ content = this.editor.getValue(BI.NicEditor.FormatType.ESCAPE),
+ origin = content;
+ if (isAuto) {
+ content = this._switchToAutoStyle();
+ this.setFocus();
+ } else if (editorService.isRichTextEqual(content, this.options.placeholder)) {
+ content = "";
+ }
+ if (BI.isFunction(switchFn)) {
+ content = switchFn(isAuto, content);
+ }
+ if (content !== origin) {
+ this.editor.setValue(content);
+ }
+ },
+
+ setFocus: function () {
+ var instance = this.editor.instance;
+ instance && instance.initSelection();
+ }
+ });
+
+ Widget.EVENT_CHANGE = "EVENT_CHANGE";
+
+ BI.shortcut("bi.design.chart.common.editor", Widget);
+
+}());
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/editor.model.js b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.model.js
new file mode 100644
index 000000000..dbe278446
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.model.js
@@ -0,0 +1,53 @@
+!(function () {
+
+ var Model = BI.inherit(Fix.Model, {
+ childContext: ["isAuto", "dimensionIds"],
+
+ state: function () {
+ var o = this.options;
+
+ return {
+ isAuto: o.isAuto,
+ dimensionIds: o.dimensionIds,
+ isEditorBlur: true
+ };
+ },
+
+ computed: {
+ fontStyleItems: function () {
+ return [{
+ type: "bi.single_select_radio_item",
+ text: "自动",
+ hgap: 5,
+ logic: {
+ dynamic: true
+ },
+ value: true,
+ selected: this.options.isAuto
+ }, {
+ type: "bi.single_select_radio_item",
+ text: "自定义",
+ hgap: 5,
+ logic: {
+ dynamic: true
+ },
+ value: false,
+ selected: !this.options.isAuto
+ }];
+ }
+ },
+
+ actions: {
+ changeIsAuto: function (isAuto) {
+ this.model.isAuto = isAuto;
+ },
+
+ setEditorBlurState: function (isBlur) {
+ this.model.isEditorBlur = isBlur;
+ }
+ }
+ });
+
+ BI.model("bi.model.design.chart.common.editor", Model);
+
+}());
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/editor.service.js b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.service.js
new file mode 100644
index 000000000..87fa2bdf6
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/editor.service.js
@@ -0,0 +1,562 @@
+!(function () {
+
+ /**
+ * HTML解析类,使用方法:
+ * new HTMLParser().parse(htmlText, {
+ * startTag: function (tagName, attrs) {},
+ * endTag: function (tagName) {},
+ * text: function (text) {}
+ * })
+ */
+ function HTMLParser () {
+
+ }
+
+ HTMLParser.prototype = {
+ constructor: HTMLParser,
+
+ startTagPattern: /<([-\w\d_]+)\s*([^>]*)\s*(\/?)>/,
+ endTagPattern: /^<\/([-\w\d_]+)[^>]*>/,
+ attrPattern: /([-\w\d_]+)\s*=\s*["']([^"']*)["']/g,
+ // 特殊的字符
+ specialCharsPatterns: [{
+ pattern: / /g,
+ subStr: " "
+ }, {
+ pattern: /</g,
+ subStr: "<"
+ }, {
+ pattern: />/g,
+ subStr: ">"
+ }, {
+ pattern: /&/g,
+ subStr: "&"
+ }],
+
+ handle: {
+ // 以下为处理开始标签和文本的时候触发的函数,可以自定义
+ startTag: function () {
+ },
+ endTag: function () {
+ },
+ text: function () {
+ }
+ },
+
+ /**
+ *
+ * @param html
+ * @param handle
+ * @param isReplaceSpecialChars 是否需要替换HTML中的特殊字符
+ */
+ parse: function (html, handle, isReplaceSpecialChars) {
+ var index, isText = false,
+ match, last = html,
+ me = this;
+
+ isReplaceSpecialChars = isReplaceSpecialChars !== null ? isReplaceSpecialChars : true;
+
+ if (BI.isPlainObject(handle)) {
+ BI.isFunction(handle.startTag) && (this.handle.startTag = handle.startTag);
+ BI.isFunction(handle.endTag) && (this.handle.endTag = handle.endTag);
+ BI.isFunction(handle.text) && (this.handle.text = handle.text);
+ }
+
+ while (html) {
+ isText = true;
+
+ // 结束标签
+ if (html.indexOf("") === 0) {
+ match = html.match(this.endTagPattern);
+
+ if (match) {
+ html = html.substring(match[0].length);
+ match[0].replace(this.endTagPattern, function () {
+ me._parseEndTag.apply(me, arguments);
+ });
+ isText = false;
+ }
+ } else if (html.indexOf("<") === 0) {
+ // 遇到起始的标签,提取标签名称和属性之类的
+ match = html.match(this.startTagPattern);
+
+ if (match) {
+ html = html.substring(match[0].length);
+ match[0].replace(this.startTagPattern, function () {
+ me._parseStartTag.apply(me, arguments);
+ });
+ isText = false;
+ }
+ }
+
+ // 仅仅是一行文本的情况
+ if (isText) {
+ index = html.indexOf("<");
+
+ var text = index < 0 ? html : html.substring(0, index);
+ html = index < 0 ? "" : html.substring(index);
+
+ if (isReplaceSpecialChars) {
+ BI.each(this.specialCharsPatterns, function (idx, obj) {
+ text = text.replace(obj.pattern, obj.subStr);
+ });
+ }
+
+ this.handle.text(text);
+ }
+
+ if (html === last) {
+ throw "Parse Error: " + html;
+ }
+
+ last = html;
+ }
+
+ this._parseEndTag();
+ },
+
+ /**
+ * 解析开始标签的字符串
+ * @param all 整个需要解析的字符串
+ * @param tagName
+ * @param rest 除去tagNAme之后allString剩下的部分
+ */
+ _parseStartTag: function (all, tagName, rest) {
+ tagName = tagName.toLowerCase();
+
+ var attrs = [];
+
+ rest.replace(this.attrPattern, function (all, attrName, value) {
+ attrs.push({
+ name: attrName,
+ value: value,
+ escaped: value.replace(/(^|[^\\])"/g, "$1\\\"")
+ });
+ });
+
+ tagName && this.handle.startTag(tagName, attrs);
+ },
+
+ /**
+ * 解析关闭的标签
+ */
+ _parseEndTag: function (all, tagName) {
+ tagName && this.handle.endTag(tagName);
+ }
+ };
+
+ // 获取一个HTML字符串中image的属性
+ function getImageAttr (html) {
+ var htmlParse = new HTMLParser();
+ var imageAttr;
+
+ htmlParse.parse(html, {
+ startTag: function (tagName, attrs) {
+ if (tagName === "img") {
+ imageAttr = {};
+ BI.each(attrs, function (idx, attr) {
+ imageAttr[attr.name] = attr.value;
+ });
+ }
+ }
+ });
+
+ return imageAttr;
+ }
+
+ var Service = BI.inherit(BI.OB, {
+
+ encode: function (params) {
+ if (/[<>'$%{}"]/.test(params)) {
+ return window.encodeURIComponent(params).replace(/'/g, escape);
+ }
+ return params;
+ },
+
+ decode: function (params) {
+ try {
+ var result = window.decodeURIComponent(params);
+ if (/[<>'$%{}"]/.test(result)) {
+ return result;
+ }
+ return params;
+ } catch (e) {
+ return params;
+ }
+ },
+
+ HTMLParser: HTMLParser,
+
+ getImageAttr: getImageAttr,
+
+ /**
+ * 构造一个富文本中的参数图片
+ */
+ getEditorParamImage: function (param, fillStyle) {
+ var attr = BI.DOM.getImage(param, fillStyle);
+ return "";
+ },
+
+ /**
+ * 给image设置属性
+ */
+ appendImageAttr: function (html, altValue, attrName, attrValue, isCovered) {
+ altValue = this.encode(altValue);
+ attrName = this.encode(attrName);
+ attrValue = this.encode(attrValue);
+ isCovered = isCovered || false; // 属性是否可以覆盖
+
+ return html.replaceAll("", function (imageStr) {
+ var attrs = getImageAttr(imageStr);
+
+ if (attrs && attrs["alt"] === altValue && (BI.isNull(attrs[attrName]) || isCovered)) {
+ attrs[attrName] = attrValue;
+ imageStr = "";
+ }
+ return imageStr;
+ });
+ },
+
+ /**
+ * 将普通的文本转化成富文本字符串
+ */
+ convertText2RichText: function (text, fontStyle, fontProcessFn) {
+ fontStyle = fontStyle || {};
+
+ if (BI.isEmptyString(text)) {
+ return text;
+ }
+
+ var lines = text.split("\n"),
+ pattern = "\\$\\{(.*?)\\}",
+ richText = "",
+ self = this,
+ html = self._getHtmlTagStr(fontStyle, fontProcessFn);
+
+ BI.each(lines, function (idx, lineText) {
+ // 替换参数为image
+ var newText = lineText.replaceAll(pattern, function (all, $1) {
+ return self.getEditorParamImage($1);
+ });
+ // 空字符串
+ if (!lineText) {
+ newText += "
";
+ }
+ richText += html.startHtml + newText + html.endHtml;
+ });
+
+ return richText;
+ },
+
+ /**
+ * 根据fontStyle构造标签
+ */
+ _getHtmlTagStr: function (fontStyle, fontProcessFn) {
+ var tags = [{
+ tag: "p",
+ style: {}
+ }],
+ obj,
+ startHtml = "",
+ endHtml = "";
+
+ // fontSize 为number值
+ if (fontStyle.fontSize) {
+ obj = {
+ tag: "font",
+ style: {"font-size": fontStyle.fontSize + "px"}
+ };
+ tags.push(obj);
+ }
+
+ // 字体一般用默认值,不需要处理,但是KPI指标卡例外
+ if (BI.isFunction(fontProcessFn)) {
+ tags.push(fontProcessFn());
+ }
+
+ // fontBold 为boolean值
+ if (fontStyle.fontBold) {
+ obj = {
+ tag: "b",
+ style: {}
+ };
+ tags.push(obj);
+ }
+
+ // italic 为boolean值
+ if (fontStyle.italic) {
+ obj = {
+ tag: "i",
+ style: {}
+ };
+ tags.push(obj);
+ }
+
+ // underline 为boolean值
+ if (fontStyle.underline) {
+ obj = {
+ tag: "u",
+ style: {}
+ };
+ tags.push(obj);
+ }
+
+
+ BI.each(tags, function (idx, item) {
+ startHtml += "<" + item.tag;
+
+ // set style
+ if (BI.isNotEmptyObject(item.style)) {
+ startHtml += " style=\"";
+ BI.each(item.style, function (key, value) {
+ startHtml += key + ":" + value + ";";
+ });
+ startHtml += "\"";
+ }
+
+ // set attributes
+ BI.each(item.attr, function (key, value) {
+ startHtml += " " + key + "=\"" + value + "\"";
+ });
+ startHtml += ">";
+ });
+
+ BI.each(tags.reverse(), function (idx, item) {
+ endHtml += "" + item.tag + ">";
+ });
+
+ return {
+ startHtml: startHtml,
+ endHtml: endHtml
+ };
+ },
+
+ /**
+ * 将富文本HTML转化成普通的文本,不需要记录fontStyle
+ */
+ convertRichText2Text: function (html) {
+ var content = "",
+ line = "",
+ htmlFragments = [];
+
+ new HTMLParser().parse(html, {
+ startTag: function (tagName, attrs) {
+ // 只关心br、img
+ switch (tagName) {
+ case "br":
+ line += "\n";
+ htmlFragments.push(tagName);
+ break;
+ case "img":
+ BI.each(attrs, function (idx, obj) {
+ if (obj.name === "alt") {
+ line += "${" + obj.value + "}";
+ }
+ });
+ break;
+ default:
+ break;
+ }
+ },
+ endTag: function (tagName) {
+ if (tagName === "div") {
+ //
这样的情况下应该只代表一个回车符
+ htmlFragments[htmlFragments.length - 1] !== "br" && (line += "\n");
+ htmlFragments = [];
+ }
+
+ content += line;
+ line = "";
+ },
+ text: function (text) {
+ htmlFragments.push(text);
+ line += text;
+ }
+ });
+
+ // 去掉最后的换行符
+ content = content.replace(/\n$/, "");
+
+ return content;
+ },
+
+ convertImage2Text: function (html) {
+ if (BI.isNull(html)) {
+ return html;
+ }
+ return html.replaceAll("", function (imageStr) {
+ var matched = imageStr.match(/alt="(.*?)"/);
+ var startHtml = "";
+ var endHtml = "";
+ return startHtml + (matched ? matched[1] : imageStr) + endHtml;
+ });
+ },
+
+ isRichTextEqual: function (html1, html2) {
+ if (BI.isNotNull(html1)) {
+ html1 = this.convertImage2Text(html1);
+ }
+ if (BI.isNotNull(html2)) {
+ html2 = this.convertImage2Text(html2);
+ }
+
+ return html1 === html2;
+ },
+
+ isRichTextNotEqual: function (html1, html2) {
+ return !this.isRichTextEqual(html1, html2);
+ },
+
+ isBlankRichText: function (html) {
+ html = html || "";
+ html = this.convertRichText2Text(html);
+ return BI.trim(html).length === 0;
+ },
+
+ // 显示整个富文本中缺失的字段
+ showMissingFields: function (html, validDimensionIds) {
+ var self = this;
+
+ return html.replaceAll("", function (imageStr) {
+ var attrs = getImageAttr(imageStr);
+ return attrs && BI.contains(validDimensionIds, attrs[BICst.RICH_TEXT_INFO.DATA_ID])
+ ? imageStr
+ : self.getMissingFieldImage(
+ attrs[BICst.RICH_TEXT_INFO.DATA_ID],
+ attrs[BICst.RICH_TEXT_INFO.DATA_NAME],
+ attrs[BICst.RICH_TEXT_INFO.ALT]
+ );
+ });
+ },
+
+ // 获取缺失元素的图片
+ getMissingFieldImage: function (dId, name, fullName) {
+ var missingText = "";
+ var missingImage = BI.DOM.getImage(missingText, "#ff0000");
+ var html = this.getEditorParamImage(fullName, "#ff0000");
+
+ // 将原来的dId、name、fullName保存起来
+ html = this.appendImageAttr(html, fullName, BICst.RICH_TEXT_INFO.DATA_ORIGIN_ID, dId);
+ html = this.appendImageAttr(html, fullName, BICst.RICH_TEXT_INFO.DATA_ORIGIN_NAME, name);
+ html = this.appendImageAttr(html, fullName, BICst.RICH_TEXT_INFO.DATA_ORIGIN_FULL_NAME, fullName);
+ html = this.appendImageAttr(html, fullName, BICst.RICH_TEXT_INFO.SRC, missingImage.src, true);
+ // 标记出这个参数是一个“缺失元素”
+ html = this.appendImageAttr(html, fullName, BICst.RICH_TEXT_INFO.DATA_IS_MISSING_FIELD, "true", true);
+ html = this.appendImageAttr(html, fullName, "style", missingImage.style, true);
+ return html;
+ },
+
+ // 将“缺失元素”替换成原来的字段
+ restoreMissingField: function (html) {
+ var self = this;
+
+ return html.replaceAll("", function (imageStr) {
+ var attrs = getImageAttr(imageStr);
+
+ if (attrs && attrs[BICst.RICH_TEXT_INFO.DATA_ORIGIN_ID]) {
+ var fullName = attrs[BICst.RICH_TEXT_INFO.DATA_ORIGIN_FULL_NAME];
+ var image = self.getEditorParamImage(fullName);
+
+ image = self.appendImageAttr(image, fullName, BICst.RICH_TEXT_INFO.DATA_ID, attrs[BICst.RICH_TEXT_INFO.DATA_ORIGIN_ID]);
+ image = self.appendImageAttr(image, fullName, BICst.RICH_TEXT_INFO.DATA_NAME, attrs[BICst.RICH_TEXT_INFO.DATA_ORIGIN_NAME]);
+ return image;
+ }
+
+ if (attrs
+ && attrs[BICst.RICH_TEXT_INFO.DATA_IS_INSERT_PARAM]
+ && !attrs[BICst.RICH_TEXT_INFO.DATA_ID]
+ ) {
+ imageStr = self.appendImageAttr(
+ imageStr,
+ attrs[BICst.RICH_TEXT_INFO.ALT],
+ BICst.RICH_TEXT_INFO.DATA_UN_VALID,
+ "true",
+ true
+ );
+ }
+
+ return imageStr;
+ });
+ },
+
+ // 将富文本字符串中由用户主动插入的字段参数标记出来
+ markTheInsertParamImages: function (html) {
+ return html.replaceAll("", function (imageStr) {
+ var attrs = getImageAttr(imageStr);
+
+ // "缺失元素"和普通的字段参数直接过滤(从富文本编辑器中插入的参数只有data-id属性)
+ if (BI.has(attrs, BICst.RICH_TEXT_INFO.DATA_NAME)
+ || BI.has(attrs, BICst.RICH_TEXT_INFO.DATA_ORIGIN_ID)) {
+ return imageStr;
+ }
+
+ attrs[BICst.RICH_TEXT_INFO.DATA_IS_INSERT_PARAM] = "true";
+ imageStr = "";
+ return imageStr;
+ });
+ },
+
+ // editor在getValue时因为src太大去掉了,在展示之前需要set 一下src
+ setImageSrc: function (content) {
+ var self = this;
+
+ return content && content.replaceAll("", function (imageStr) {
+ var attrs = self.getImageAttr(imageStr);
+ // 已有src
+ if (BI.has(attrs, BICst.RICH_TEXT_INFO.SRC) && attrs[BICst.RICH_TEXT_INFO.SRC]) {
+ return imageStr;
+ }
+ var alt = self.decode(attrs[BICst.RICH_TEXT_INFO.ALT]);
+ var image = BI.DOM.getImage(alt);
+ imageStr = self.appendImageAttr(imageStr, alt, BICst.RICH_TEXT_INFO.SRC, image.src, true);
+ imageStr = self.appendImageAttr(imageStr, alt, "style", image.style, true);
+ return imageStr;
+ });
+ },
+
+ isEmptyRichText: function (html) {
+ return "" === html.replaceAll("||
", "");
+ },
+
+ // BI-23091 设置显示名之后更新参数名称
+ getNewParamNameRichText: function (content) {
+ if (!content) {
+ return content;
+ }
+ var self = this;
+ return content.replaceAll("", function (imageStr) {
+ var attrs = self.getImageAttr(imageStr);
+ // 缺失元素
+ if (attrs[BICst.RICH_TEXT_INFO.DATA_IS_MISSING_FIELD]) {
+ return imageStr;
+ }
+ var alt = attrs[BICst.RICH_TEXT_INFO.ALT],
+ dId = attrs[BICst.RICH_TEXT_INFO.DATA_ID],
+ name = BI.Utils.getNotGeoDimensionFullName(dId);
+
+ if (name !== alt) {
+ imageStr = self.appendImageAttr(imageStr, alt, BICst.RICH_TEXT_INFO.ALT, name, true);
+ }
+ return imageStr;
+ });
+ }
+ });
+
+ BI.service("bi.service.design.chart.common.editor", Service);
+
+}());
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.js b/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.js
new file mode 100644
index 000000000..841860fc0
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.js
@@ -0,0 +1,114 @@
+!(function () {
+ var Widget = BI.inherit(BI.RichEditorParamAction, {
+ props: {
+ baseCls: "bi-design-chart-common-editor-insert-param",
+ dimensionIds: [],
+ editor: null
+ },
+
+ _store: function () {
+ return BI.Models.getModel("bi.model.design.chart.common.editor.insert_param");
+ },
+
+ watch: {
+ isSelectedParam: function () {
+ var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
+ this.addParam(this.model.param, editorService.encode);
+ this.combo.hideView();
+ // this._restorePosition();
+ }
+ },
+
+ render: function () {
+ var self = this;
+
+ var adapter = BI.createWidget({
+ type: "bi.button_group",
+ items: this.model.items,
+ chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE,
+ behaviors: {},
+ layouts: [{
+ type: "bi.vertical"
+ }],
+ listeners: [{
+ eventName: BI.ButtonGroup.EVENT_CHANGE,
+ action: function () {
+ self._savePosition();
+ self.store.changeParam(this.getValue()[0]);
+ }
+ }]
+ });
+
+ var searchPopup = {
+ type: "bi.vertical",
+ cls: "bi-border",
+ hgap: 15,
+ tgap: 5,
+ bgap: 10,
+ items: [{
+ type: "bi.searcher",
+ adapter: adapter,
+ width: 210,
+ height: 24,
+ listeners: [{
+ eventName: BI.Searcher.EVENT_CHANGE,
+ action: function () {
+ self.store.changeParam(this.getValue()[0]);
+ }
+ }]
+ }, adapter]
+ };
+
+ return {
+ type: "bi.combo",
+ direction: "bottom,left",
+ isNeedAdjustWidth: false,
+ el: {
+ type: "bi.vertical_adapt",
+ items: [{
+ type: "bi.icon_change_button",
+ iconCls: "editor-insert-param-inactivated-font",
+ iconWidth: 24,
+ iconHeight: 24,
+ ref: function (_ref) {
+ self.iconButtonTrigger = _ref;
+ }
+ }]
+ },
+ popup: {
+ el: searchPopup
+ },
+ ref: function (_ref) {
+ self.combo = _ref;
+ },
+ listeners: [{
+ eventName: BI.Combo.EVENT_AFTER_POPUPVIEW,
+ action: function () {
+ self.iconButtonTrigger.setIcon("editor-insert-param-active-font");
+ }
+ }, {
+ eventName: BI.Combo.EVENT_BEFORE_HIDEVIEW,
+ action: function () {
+ self.iconButtonTrigger.setIcon("editor-insert-param-inactivated-font");
+ }
+ }]
+ };
+ },
+
+ _savePosition: function () {
+ var instance = this._getInstance();
+ instance.saveRng();
+ },
+
+ _restorePosition: function () {
+ var instance = this._getInstance();
+ instance.initSelection();
+ },
+
+ _getInstance: function () {
+ return this.options.editor.selectedInstance || this.options.editor.getInstance();
+ }
+ });
+
+ BI.shortcut("bi.design.chart.common.editor.insert_param", Widget);
+}());
\ No newline at end of file
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.model.js b/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.model.js
new file mode 100644
index 000000000..d0a8f084e
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/combo.insert_param.model.js
@@ -0,0 +1,40 @@
+/*
+ * @Maintainers: xiaofu.qin
+ */
+!(function () {
+
+ var Model = BI.inherit(Fix.Model, {
+ context: ["dimensionIds"],
+
+ state: function () {
+ return {
+ param: "",
+ isSelectedParam: false
+ };
+ },
+
+ computed: {
+ items: function () {
+ return BI.map(this.model.dimensionIds, function (idx, dId) {
+ var key = BI.keys(dId)[0];
+
+ return {
+ type: "bi.design.chart.common.editor.search",
+ text: key,
+ value: dId[key]
+ };
+ });
+ }
+ },
+
+ actions: {
+ changeParam: function (param) {
+ this.model.isSelectedParam = !this.model.isSelectedParam;
+ this.model.param = param;
+ }
+ }
+ });
+
+ BI.model("bi.model.design.chart.common.editor.insert_param", Model);
+
+} ());
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/item/item.js b/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/item/item.js
new file mode 100644
index 000000000..bfd564441
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/insertcombo/item/item.js
@@ -0,0 +1,38 @@
+!(function () {
+
+ var Widget = BI.inherit(BI.BasicButton, {
+ props: {
+ text: "",
+ iconCls: "",
+ extraCls: "bi-list-item-active"
+ },
+
+ render: function () {
+ var o = this.options;
+ return {
+ type: "bi.vertical_adapt",
+ height: 25,
+ items: [{
+ type: "bi.center_adapt",
+ cls: o.iconCls,
+ items: [{
+ type: "bi.icon",
+ width: 16,
+ height: 16
+ }],
+ width: 16,
+ height: 16
+ }, {
+ type: "bi.label",
+ textAlign: "left",
+ lgap: 5,
+ text: o.text,
+ value: o.text
+ }]
+ };
+ }
+ });
+
+ BI.shortcut("bi.design.chart.common.editor.search", Widget);
+
+}());
\ No newline at end of file
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/disabled_bar_wrapper.js b/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/disabled_bar_wrapper.js
new file mode 100644
index 000000000..5b07ea39f
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/disabled_bar_wrapper.js
@@ -0,0 +1,22 @@
+/**
+ * 灰化toolbar的item
+ */
+!(function () {
+
+ var Widget = BI.inherit(BI.Single, {
+ props: {
+ button: null
+ },
+
+ render: function () {
+ return {
+ type: "bi.vertical_adapt",
+ disabled: true,
+ items: [this.options.button]
+ };
+ }
+ });
+
+ BI.shortcut("bi.design.chart.common.editor.toolbar.disabled_item_wrapper", Widget);
+
+}());
\ No newline at end of file
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.js b/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.js
new file mode 100644
index 000000000..4246ec9bc
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.js
@@ -0,0 +1,124 @@
+!(function () {
+ var RichEditorTextToolbar = BI.inherit(BI.Widget, {
+
+ props: {
+ baseCls: "bi-rich-editor-text-toolbar",
+ height: 25,
+ editor: null,
+ buttons: [
+ {type: "bi.rich_editor_font_chooser"},
+ {type: "bi.rich_editor_size_chooser"},
+ {type: "bi.rich_editor_bold_button"},
+ {type: "bi.rich_editor_italic_button"},
+ {type: "bi.rich_editor_underline_button"},
+ {type: "bi.rich_editor_color_chooser"},
+ {type: "bi.rich_editor_align_left_button"},
+ {type: "bi.rich_editor_align_center_button"},
+ {type: "bi.rich_editor_align_right_button"},
+ {type: "bi.design.chart.common.editor.insert_param"}
+ ]
+ },
+
+ _store: function () {
+ return BI.Models.getModel("bi.model.design.chart.common.editor.toolbar");
+ },
+
+ watch: {
+ isAuto: function (isAuto) {
+ this[isAuto ? "hideCustomFontTool" : "showCustomFontTool"]();
+ }
+ },
+
+ render: function () {
+ var self = this,
+ o = this.options;
+
+ this.hasInsertCombo = o.buttons[o.buttons.length - 1].type === "bi.design.chart.common.editor.insert_param";
+
+ this.buttons = BI.createWidgets(BI.map(o.buttons, function (i, btn) {
+ return BI.extend(btn, {
+ editor: o.editor
+ });
+ }));
+
+ if (this.hasInsertCombo) {
+ var leftItems = BI.filter(this.buttons, function (idx) {
+ return idx !== self.buttons.length - 1;
+ });
+ return {
+ type: "bi.left_right_vertical_adapt",
+ lrgap: 10,
+ items: {
+ left: this._getButtons(leftItems),
+ right: [this.buttons[this.buttons.length - 1]]
+ }
+ };
+ }
+
+ return {
+ type: "bi.vertical_adapt",
+ rgap: 10,
+ items: this._getButtons(this.buttons)
+ };
+ },
+
+ mounted: function () {
+ var self = this;
+ if (BI.isIE9Below()) {// IE8下必须要设置unselectable才能不blur输入框
+ this.element.mousedown(function () {
+ self._noSelect(self.element[0]);
+ });
+ this._noSelect(this.element[0]);
+ }
+
+ this.model.isAuto && this.hideCustomFontTool();
+ },
+
+ _noSelect: function (element) {
+ if (element.setAttribute && element.nodeName.toLowerCase() !== "input" && element.nodeName.toLowerCase() !== "textarea") {
+ element.setAttribute("unselectable", "on");
+ }
+ for (var i = 0; i < element.childNodes.length; i++) {
+ this._noSelect(element.childNodes[i]);
+ }
+ },
+
+ hideCustomFontTool: function () {
+ var self = this;
+ BI.each(this.buttons, function (idx, button) {
+ if (self.hasInsertCombo) {
+ idx !== self.buttons.length - 1 && button.setVisible(false);
+ } else {
+ button.setVisible(false);
+ }
+ });
+ },
+
+ showCustomFontTool: function () {
+ var self = this;
+ BI.each(this.buttons, function (idx, button) {
+ if (self.hasInsertCombo) {
+ idx !== self.buttons.length - 1 && button.setVisible(true);
+ } else {
+ button.setVisible(true);
+ }
+ });
+ },
+
+ _getButtons: function (buttons) {
+ return BI.map(buttons, function (idx, button) {
+ if (button.options.used === false) {
+ return {
+ type: "bi.design.chart.common.editor.toolbar.disabled_item_wrapper",
+ button: button,
+ title: button.options.title
+ };
+ }
+
+ return button;
+ });
+ }
+ });
+
+ BI.shortcut("bi.design.chart.common.editor.toolbar", RichEditorTextToolbar);
+})();
\ No newline at end of file
diff --git a/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.model.js b/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.model.js
new file mode 100644
index 000000000..96e30eee4
--- /dev/null
+++ b/designer-chart/src/main/resources/com/fr/design/editor/script/toolbar/toolbar.model.js
@@ -0,0 +1,12 @@
+/*
+ * @Maintainers: xiaofu.qin
+ */
+!(function () {
+
+ var Model = BI.inherit(Fix.Model, {
+ context: ["isAuto", "wId", "dimensionIds"]
+ });
+
+ BI.model("bi.model.design.chart.common.editor.toolbar", Model);
+
+} ());
\ No newline at end of file
From 16d4926011d426e6a22c70b4bdc68a2acd659dfb Mon Sep 17 00:00:00 2001
From: Yyming
Date: Fri, 18 Sep 2020 16:28:23 +0800
Subject: [PATCH 02/13] =?UTF-8?q?REPORT-39884=20=E6=9C=8D=E5=8A=A1?=
=?UTF-8?q?=E5=99=A8=E6=95=B0=E6=8D=AE=E9=9B=86=E5=92=8C=E6=A8=A1=E6=9D=BF?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E5=90=8C=E5=90=8D=E6=97=B6=EF=BC=8C?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E6=98=BE=E7=A4=BA=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../data/datapane/TableDataCreatorProducer.java | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
index bebcd14e2..fad88af71 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
@@ -72,24 +72,24 @@ public class TableDataCreatorProducer {
public TableDataNameObjectCreator[] createServerTableDataCreator() {
TableDataNameObjectCreator dataBase = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Database_Query"),
- "ds",
+ "ds0",
"/com/fr/design/images/data/dock/serverdatabase.png", DBTableData.class,
DBTableDataPane.class);
TableDataNameObjectCreator ds_Class = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Class"),
- "Class",
+ "Class0",
"/com/fr/design/images/data/dock/serverclasstabledata.png", ClassTableData.class,
ClassTableDataPane.class);
TableDataNameObjectCreator table = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Embedded"),
- "Embedded",
+ "Embedded0",
"/com/fr/design/images/data/dock/serverdatatable.png", EmbeddedTableData.class,
EmbeddedTableDataPane.class);
TableDataNameObjectCreator fileTable = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_File"),
- "File",
+ "File0",
"/com/fr/design/images/data/file.png", FileTableData.class,
FileTableDataSmallPane.class);
TableDataNameObjectCreator treeTable = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Tree"),
- "Tree",
+ "Tree0",
"/com/fr/design/images/data/tree.png",
RecursionTableData.class, GlobalTreeTableDataPane.class) {
public boolean isNeedParameterWhenPopulateJControlPane() {
@@ -97,7 +97,7 @@ public class TableDataCreatorProducer {
}
};
TableDataNameObjectCreator multiTable = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Relation"),
- "Multi",
+ "Multi0",
"/com/fr/design/images/data/multi.png",
ConditionTableData.class, GlobalMultiTDTableDataPane.class) {
public boolean isNeedParameterWhenPopulateJControlPane() {
@@ -105,7 +105,7 @@ public class TableDataCreatorProducer {
}
};
TableDataNameObjectCreator storeProcedure = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Stored_Procedure"),
- "Proc",
+ "Proc0",
"/com/fr/design/images/data/store_procedure.png",
StoreProcedure.class, ProcedureDataPane.class) {
@Override
From 5910f0a3e42805e32d85503a183242fdc8860e87 Mon Sep 17 00:00:00 2001
From: hades
Date: Fri, 18 Sep 2020 17:59:49 +0800
Subject: [PATCH 03/13] =?UTF-8?q?MOBILE-29339=20=E4=B8=A4=E4=B8=AA?=
=?UTF-8?q?=E6=A8=AA=E5=90=91=E5=B8=83=E5=B1=80=E5=9D=97=E4=B8=AD=E9=97=B4?=
=?UTF-8?q?=E6=97=A0=E6=B3=95=E6=8F=92=E5=85=A5=E6=96=B0=E6=8A=A5=E8=A1=A8?=
=?UTF-8?q?=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../adapters/layout/FRFitLayoutAdapter.java | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java b/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java
index dfb4d9409..24c3a19db 100644
--- a/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java
+++ b/designer-form/src/main/java/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java
@@ -3,6 +3,7 @@
*/
package com.fr.design.designer.beans.adapters.layout;
+import com.fr.design.ExtraDesignClassManager;
import com.fr.design.beans.GroupModel;
import com.fr.design.designer.beans.ConstraintsGroupModel;
import com.fr.design.designer.beans.HoverPainter;
@@ -18,6 +19,7 @@ import com.fr.design.designer.creator.cardlayout.XWCardTitleLayout;
import com.fr.design.designer.creator.cardlayout.XWTabFitLayout;
import com.fr.design.designer.properties.FRFitLayoutConstraints;
import com.fr.design.designer.properties.FRFitLayoutPropertiesGroupModel;
+import com.fr.design.fun.FormWidgetOptionProvider;
import com.fr.design.utils.ComponentUtils;
import com.fr.form.ui.LayoutBorderStyle;
import com.fr.form.ui.container.WAbsoluteLayout;
@@ -32,6 +34,7 @@ import java.awt.Dimension;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
/**
* 自适应布局的容器适配器
@@ -161,7 +164,8 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter {
//布局控件要先判断是不是可编辑
XLayoutContainer topLayout = XCreatorUtils.getHotspotContainer((XCreator) comp).getTopLayout();
- if (topLayout != null && !isMatchEdge && !topLayout.isEditable() && !topLayout.acceptType(XWAbsoluteLayout.class)) {
+ boolean access = topLayout != null && !isMatchEdge && !topLayout.isEditable() && !topLayout.acceptType(XWAbsoluteLayout.class) && !isExtraContainer(comp);
+ if (access) {
return false;
}
@@ -178,6 +182,18 @@ public class FRFitLayoutAdapter extends FRBodyLayoutAdapter {
return y > upHeight && y < downHeight ? horizonValid : verticalValid;
}
+ private boolean isExtraContainer(Component comp) {
+ if (container != null) {
+ Set set = ExtraDesignClassManager.getInstance().getArray(FormWidgetOptionProvider.XML_TAG);
+ for (FormWidgetOptionProvider provider : set) {
+ if (provider.isContainer() && ComparatorUtils.equals(provider.appearanceForWidget(), comp.getClass())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
// 间隔区域
private boolean checkInterval(Component comp) {
return container.getComponentCount() > 0 && comp == container;
From d24aee2fa946497c7e4f56f334171cd4d4963730 Mon Sep 17 00:00:00 2001
From: "Qinghui.Liu"
Date: Sat, 19 Sep 2020 19:46:27 +0800
Subject: [PATCH 04/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B1=9E=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../box/VanChartBoxTooltipContentPane.java | 24 ++--
.../fr/van/chart/designer/PlotFactory.java | 4 +-
.../VanChartRefreshTooltipContentPane.java | 32 ++---
.../component/VanChartTooltipContentPane.java | 122 ++++++++++++++++--
.../label/GaugeLabelContentPane.java | 3 +-
.../label/LabelContentPaneWithCate.java | 2 +-
.../label/LabelContentPaneWithCateValue.java | 4 +-
.../label/LabelContentPaneWithOutCate.java | 6 +-
.../label/LabelContentPaneWithPercent.java | 2 +-
...efreshTooltipContentPaneWithOutSeries.java | 28 ++--
.../TooltipContentPaneWithOutSeries.java | 12 +-
.../style/VanChartFunnelLabelContentPane.java | 29 +++--
...nChartFunnelRefreshTooltipContentPane.java | 28 ++--
.../VanChartFunnelTooltipContentPane.java | 28 ++--
.../VanChartGanttTooltipContentPane.java | 23 ++--
.../label/VanChartMapLabelContentPane.java | 16 +--
.../VanChartMapRefreshTooltipContentPane.java | 40 +++---
.../VanChartMapTooltipContentPane.java | 16 +--
.../VanChartLineMapTooltipContentPane.java | 19 ++-
.../VanChartMultiPieLabelContentPane.java | 17 +--
.../VanChartMultiPieTooltipContentPane.java | 17 +--
...ChartMutiPieRefreshTooltipContentPane.java | 32 ++---
...ChartScatterRefreshTooltipContentPane.java | 22 ++--
.../VanChartScatterTooltipContentPane.java | 8 +-
.../VanChartStructureLabelContentPane.java | 24 ++--
...artStructureRefreshTooltipContentPane.java | 44 ++++---
.../VanChartStructureTooltipContentPane.java | 42 +++---
...artWordCloudRefreshTooltipContentPane.java | 79 ++++++++++++
...hartWordCloudRefreshTootipContentPane.java | 73 -----------
.../VanChartWordCloudTooltipContentPane.java | 26 ++--
30 files changed, 480 insertions(+), 342 deletions(-)
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudRefreshTooltipContentPane.java
delete mode 100644 designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudRefreshTootipContentPane.java
diff --git a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
index 98dbbbb6e..d0dd67529 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
@@ -36,8 +36,8 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
- categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane);
- seriesNameFormatPane = new SeriesNameFormatPaneWithCheckBox(parent, showOnPane);
+ setCategoryNameFormatPane(new CategoryNameFormatPaneWithCheckBox(parent, showOnPane));
+ setSeriesNameFormatPane(new SeriesNameFormatPaneWithCheckBox(parent, showOnPane));
number = new VanChartFormatPaneWithCheckBox(parent, showOnPane) {
protected String getCheckBoxText() {
@@ -98,8 +98,8 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
double[] rowSize = {p, p};
Component[][] cateAndSeries = new Component[][]{
- new Component[]{categoryNameFormatPane, null},
- new Component[]{seriesNameFormatPane, null}
+ new Component[]{getCategoryNameFormatPane(), null},
+ new Component[]{getSeriesNameFormatPane(), null}
};
return TableLayoutHelper.createTableLayoutPane(cateAndSeries, rowSize, columnSize);
@@ -152,8 +152,8 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
public boolean isDirty() {
- return categoryNameFormatPane.isDirty()
- || seriesNameFormatPane.isDirty()
+ return getCategoryNameFormatPane().isDirty()
+ || getSeriesNameFormatPane().isDirty()
|| number.isDirty()
|| max.isDirty()
|| q3.isDirty()
@@ -164,8 +164,8 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
public void setDirty(boolean isDirty) {
- categoryNameFormatPane.setDirty(isDirty);
- seriesNameFormatPane.setDirty(isDirty);
+ getCategoryNameFormatPane().setDirty(isDirty);
+ getSeriesNameFormatPane().setDirty(isDirty);
number.setDirty(isDirty);
max.setDirty(isDirty);
q3.setDirty(isDirty);
@@ -180,8 +180,8 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
- categoryNameFormatPane.populate(attrTooltipContent.getCategoryFormat());
- seriesNameFormatPane.populate(attrTooltipContent.getSeriesFormat());
+ getCategoryNameFormatPane().populate(attrTooltipContent.getCategoryFormat());
+ getSeriesNameFormatPane().populate(attrTooltipContent.getSeriesFormat());
if (attrTooltipContent instanceof AttrBoxTooltipContent) {
AttrBoxTooltipContent boxTooltipContent = (AttrBoxTooltipContent) attrTooltipContent;
@@ -199,8 +199,8 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
- categoryNameFormatPane.update(attrTooltipContent.getCategoryFormat());
- seriesNameFormatPane.update(attrTooltipContent.getSeriesFormat());
+ getCategoryNameFormatPane().update(attrTooltipContent.getCategoryFormat());
+ getSeriesNameFormatPane().update(attrTooltipContent.getSeriesFormat());
if (attrTooltipContent instanceof AttrBoxTooltipContent) {
AttrBoxTooltipContent boxTooltipContent = (AttrBoxTooltipContent) attrTooltipContent;
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java b/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java
index d3e1adbb9..3bddc1aed 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java
@@ -56,7 +56,7 @@ import com.fr.van.chart.scatter.component.label.VanChartScatterPlotLabelPane;
import com.fr.van.chart.structure.desinger.style.VanChartStructureLabelContentPane;
import com.fr.van.chart.structure.desinger.style.VanChartStructureRefreshTooltipContentPane;
import com.fr.van.chart.structure.desinger.style.VanChartStructureTooltipContentPane;
-import com.fr.van.chart.wordcloud.designer.style.VanChartWordCloudRefreshTootipContentPane;
+import com.fr.van.chart.wordcloud.designer.style.VanChartWordCloudRefreshTooltipContentPane;
import com.fr.van.chart.wordcloud.designer.style.VanChartWordCloudTooltipContentPane;
import javax.swing.BorderFactory;
@@ -182,7 +182,7 @@ public class PlotFactory {
refreshTooltipContentMap.put(VanChartMultiPiePlot.class, VanChartMutiPieRefreshTooltipContentPane.class);
refreshTooltipContentMap.put(VanChartTreeMapPlot.class, VanChartMutiPieRefreshTooltipContentPane.class);
refreshTooltipContentMap.put(VanChartFunnelPlot.class, VanChartFunnelRefreshTooltipContentPane.class);
- refreshTooltipContentMap.put(VanChartWordCloudPlot.class, VanChartWordCloudRefreshTootipContentPane.class);
+ refreshTooltipContentMap.put(VanChartWordCloudPlot.class, VanChartWordCloudRefreshTooltipContentPane.class);
refreshTooltipContentMap.put(VanChartStructurePlot.class, VanChartStructureRefreshTooltipContentPane.class);
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java
index 18f50e143..09e208cc1 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartRefreshTooltipContentPane.java
@@ -26,37 +26,37 @@ public class VanChartRefreshTooltipContentPane extends VanChartTooltipContentPan
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
super.initFormatPane(parent, showOnPane);
- changedValueFormatPane = new ChangedValueFormatPaneWithCheckBox(parent, showOnPane);
- changedPercentFormatPane = new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane);
+ setChangedValueFormatPane(new ChangedValueFormatPaneWithCheckBox(parent, showOnPane));
+ setChangedPercentFormatPane(new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane));
}
@Override
protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
super.initRichTextFormatPane(parent, showOnPane);
- richTextChangedValueFormatPane = new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane);
- richTextChangedPercentFormatPane = new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane);
+ setRichTextChangedValueFormatPane(new ChangedValueFormatPaneWithoutCheckBox(parent, showOnPane));
+ setRichTextChangedPercentFormatPane(new ChangedPercentFormatPaneWithoutCheckBox(parent, showOnPane));
}
protected Component[][] getPaneComponents(){
return new Component[][]{
- new Component[]{categoryNameFormatPane,null},
- new Component[]{seriesNameFormatPane,null},
- new Component[]{valueFormatPane,null},
- new Component[]{changedValueFormatPane,null},
- new Component[]{percentFormatPane,null},
- new Component[]{changedPercentFormatPane,null},
+ new Component[]{getCategoryNameFormatPane(), null},
+ new Component[]{getSeriesNameFormatPane(), null},
+ new Component[]{getValueFormatPane(), null},
+ new Component[]{getChangedValueFormatPane(), null},
+ new Component[]{getPercentFormatPane(), null},
+ new Component[]{getChangedPercentFormatPane(), null},
};
}
protected Component[][] getRichTextComponents() {
return new Component[][]{
- new Component[]{richTextCategoryNameFormatPane, null},
- new Component[]{richTextSeriesNameFormatPane, null},
- new Component[]{richTextValueFormatPane, null},
- new Component[]{richTextChangedValueFormatPane, null},
- new Component[]{richTextPercentFormatPane, null},
- new Component[]{richTextChangedPercentFormatPane, null}
+ new Component[]{getRichTextCategoryNameFormatPane(), null},
+ new Component[]{getRichTextSeriesNameFormatPane(), null},
+ new Component[]{getRichTextValueFormatPane(), null},
+ new Component[]{getRichTextChangedValueFormatPane(), null},
+ new Component[]{getRichTextPercentFormatPane(), null},
+ new Component[]{getRichTextChangedPercentFormatPane(), null}
};
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
index e8825f246..9889ee64a 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
@@ -51,23 +51,23 @@ public class VanChartTooltipContentPane extends BasicBeanPane content;
+ private UIButtonGroup content;
- protected CategoryNameFormatPaneWithCheckBox categoryNameFormatPane;
- protected SeriesNameFormatPaneWithCheckBox seriesNameFormatPane;
- protected ValueFormatPaneWithCheckBox valueFormatPane;
- protected PercentFormatPaneWithCheckBox percentFormatPane;
+ private CategoryNameFormatPaneWithCheckBox categoryNameFormatPane;
+ private SeriesNameFormatPaneWithCheckBox seriesNameFormatPane;
+ private ValueFormatPaneWithCheckBox valueFormatPane;
+ private PercentFormatPaneWithCheckBox percentFormatPane;
//监控刷新时,自动数据点提示使用
- protected ChangedValueFormatPaneWithCheckBox changedValueFormatPane;
- protected ChangedPercentFormatPaneWithCheckBox changedPercentFormatPane;
+ private ChangedValueFormatPaneWithCheckBox changedValueFormatPane;
+ private ChangedPercentFormatPaneWithCheckBox changedPercentFormatPane;
- protected CategoryNameFormatPaneWithoutCheckBox richTextCategoryNameFormatPane;
- protected SeriesNameFormatPaneWithoutCheckBox richTextSeriesNameFormatPane;
- protected ValueFormatPaneWithoutCheckBox richTextValueFormatPane;
- protected PercentFormatPaneWithoutCheckBox richTextPercentFormatPane;
- protected ChangedValueFormatPaneWithoutCheckBox richTextChangedValueFormatPane;
- protected ChangedPercentFormatPaneWithoutCheckBox richTextChangedPercentFormatPane;
+ private CategoryNameFormatPaneWithoutCheckBox richTextCategoryNameFormatPane;
+ private SeriesNameFormatPaneWithoutCheckBox richTextSeriesNameFormatPane;
+ private ValueFormatPaneWithoutCheckBox richTextValueFormatPane;
+ private PercentFormatPaneWithoutCheckBox richTextPercentFormatPane;
+ private ChangedValueFormatPaneWithoutCheckBox richTextChangedValueFormatPane;
+ private ChangedPercentFormatPaneWithoutCheckBox richTextChangedPercentFormatPane;
private JPanel centerPanel;
private JPanel commonPanel;
@@ -82,6 +82,102 @@ public class VanChartTooltipContentPane extends BasicBeanPane
Date: Sun, 20 Sep 2020 23:31:33 +0800
Subject: [PATCH 05/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=87=E7=AD=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../fr/van/chart/designer/PlotFactory.java | 8 +-
...nChartLabelContentPaneWithoutRichText.java | 295 ++++++++++++++++++
.../component/VanChartTooltipContentPane.java | 24 +-
.../label/GaugeLabelContentPane.java | 4 +-
...hartGaugeCateOrPercentLabelDetailPane.java | 4 +-
.../label/VanChartGaugeLabelDetailPane.java | 8 +-
.../label/VanChartGaugePlotLabelPane.java | 14 +-
.../VanChartGaugeValueLabelDetailPane.java | 6 +-
.../label/VanChartPlotLabelDetailPane.java | 24 +-
.../label/VanChartPlotLabelNoCheckPane.java | 6 +-
.../style/label/VanChartPlotLabelPane.java | 41 ++-
.../style/VanChartGanttLabelContentPane.java | 20 --
.../label/VanChartGanttLabelContentPane.java | 121 +++++++
.../VanChartGanttPlotLabelDetailPane.java | 16 +
.../label/VanChartGanttPlotLabelPane.java | 20 ++
.../VanChartDateFormatPaneWithCheckBox.java | 18 ++
...VanChartDateFormatPaneWithoutCheckBox.java | 18 ++
.../VanChartFormatComBoxWithCheckBox.java | 100 ++++++
.../VanChartFormatComBoxWithoutCheckBox.java | 8 +
.../VanChartGanttTooltipContentPane.java | 131 +++-----
.../VanChartScatterPlotLabelDetailPane.java | 2 +-
.../VanChartScatterPlotLabelNoCheckPane.java | 6 +-
.../label/VanChartScatterPlotLabelPane.java | 5 +-
.../VanChartStructureLabelContentPane.java | 4 +-
.../VanChartStructurePlotLabelDetailPane.java | 16 +
.../style/VanChartStructurePlotLabelPane.java | 20 ++
26 files changed, 775 insertions(+), 164 deletions(-)
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartLabelContentPaneWithoutRichText.java
delete mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/VanChartGanttLabelContentPane.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttLabelContentPane.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelDetailPane.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelPane.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithoutCheckBox.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelDetailPane.java
create mode 100644 designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelPane.java
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java b/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java
index 3bddc1aed..aeaefa5b3 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java
@@ -38,7 +38,7 @@ import com.fr.van.chart.designer.style.tooltip.VanChartPlotTooltipPane;
import com.fr.van.chart.funnel.designer.style.VanChartFunnelLabelContentPane;
import com.fr.van.chart.funnel.designer.style.VanChartFunnelRefreshTooltipContentPane;
import com.fr.van.chart.funnel.designer.style.VanChartFunnelTooltipContentPane;
-import com.fr.van.chart.gantt.designer.style.VanChartGanttLabelContentPane;
+import com.fr.van.chart.gantt.designer.style.label.VanChartGanttPlotLabelPane;
import com.fr.van.chart.gantt.designer.style.tooltip.VanChartGanttPlotTooltipPane;
import com.fr.van.chart.gantt.designer.style.tooltip.VanChartGanttTooltipContentPane;
import com.fr.van.chart.gauge.VanChartGaugePlotRefreshTooltipPane;
@@ -53,7 +53,7 @@ import com.fr.van.chart.multilayer.style.VanChartMutiPieRefreshTooltipContentPan
import com.fr.van.chart.scatter.VanChartScatterPlotTooltipPane;
import com.fr.van.chart.scatter.VanChartScatterRefreshTooltipContentPane;
import com.fr.van.chart.scatter.component.label.VanChartScatterPlotLabelPane;
-import com.fr.van.chart.structure.desinger.style.VanChartStructureLabelContentPane;
+import com.fr.van.chart.structure.desinger.style.VanChartStructurePlotLabelPane;
import com.fr.van.chart.structure.desinger.style.VanChartStructureRefreshTooltipContentPane;
import com.fr.van.chart.structure.desinger.style.VanChartStructureTooltipContentPane;
import com.fr.van.chart.wordcloud.designer.style.VanChartWordCloudRefreshTooltipContentPane;
@@ -98,6 +98,8 @@ public class PlotFactory {
labelMap.put(VanChartGaugePlot.class, VanChartGaugePlotLabelPane.class);
labelMap.put(VanChartScatterPlot.class, VanChartScatterPlotLabelPane.class);
labelMap.put(VanChartBubblePlot.class, VanChartScatterPlotLabelPane.class);
+ labelMap.put(VanChartGanttPlot.class, VanChartGanttPlotLabelPane.class);
+ labelMap.put(VanChartStructurePlot.class, VanChartStructurePlotLabelPane.class);
}
/**
@@ -139,8 +141,6 @@ public class PlotFactory {
labelContentMap.put(VanChartTreeMapPlot.class, VanChartMultiPieLabelContentPane.class);
labelContentMap.put(VanChartFunnelPlot.class, VanChartFunnelLabelContentPane.class);
labelContentMap.put(VanChartHeatMapPlot.class, VanChartMapLabelContentPane.class);
- labelContentMap.put(VanChartGanttPlot.class, VanChartGanttLabelContentPane.class);
- labelContentMap.put(VanChartStructurePlot.class, VanChartStructureLabelContentPane.class);
}
private static Map, Class extends VanChartTooltipContentPane>> tooltipContentMap = new HashMap, Class extends VanChartTooltipContentPane>>();
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartLabelContentPaneWithoutRichText.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartLabelContentPaneWithoutRichText.java
new file mode 100644
index 000000000..4c1935eef
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartLabelContentPaneWithoutRichText.java
@@ -0,0 +1,295 @@
+package com.fr.van.chart.designer.component;
+
+import com.fr.design.beans.BasicBeanPane;
+import com.fr.design.gui.ibutton.UIButtonGroup;
+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.van.chart.designer.TableLayout4VanChartHelper;
+import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ChangedPercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ChangedValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.SeriesNameFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.CardLayout;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+public class VanChartLabelContentPaneWithoutRichText extends BasicBeanPane {
+
+ private UIButtonGroup content;
+
+ private ValueFormatPaneWithCheckBox valueFormatPane;
+ private PercentFormatPaneWithCheckBox percentFormatPane;
+ private CategoryNameFormatPaneWithCheckBox categoryNameFormatPane;
+ private SeriesNameFormatPaneWithCheckBox seriesNameFormatPane;
+
+ //监控刷新时,自动数据点提示使用
+ private ChangedValueFormatPaneWithCheckBox changedValueFormatPane;
+ private ChangedPercentFormatPaneWithCheckBox changedPercentFormatPane;
+
+ private JPanel centerPane;
+ private JPanel commonPanel;
+ private VanChartHtmlLabelPane htmlLabelPane;
+
+ private VanChartStylePane parent;
+ private JPanel showOnPane;
+
+ public VanChartLabelContentPaneWithoutRichText(VanChartStylePane parent, JPanel showOnPane) {
+ this.parent = parent;
+ this.showOnPane = showOnPane;
+
+ this.setLayout(new BorderLayout());
+ this.add(createLabelContentPane(), BorderLayout.CENTER);
+ }
+
+ public ValueFormatPaneWithCheckBox getValueFormatPane() {
+ return valueFormatPane;
+ }
+
+ public void setValueFormatPane(ValueFormatPaneWithCheckBox valueFormatPane) {
+ this.valueFormatPane = valueFormatPane;
+ }
+
+ public PercentFormatPaneWithCheckBox getPercentFormatPane() {
+ return percentFormatPane;
+ }
+
+ public void setPercentFormatPane(PercentFormatPaneWithCheckBox percentFormatPane) {
+ this.percentFormatPane = percentFormatPane;
+ }
+
+ public CategoryNameFormatPaneWithCheckBox getCategoryNameFormatPane() {
+ return categoryNameFormatPane;
+ }
+
+ public void setCategoryNameFormatPane(CategoryNameFormatPaneWithCheckBox categoryNameFormatPane) {
+ this.categoryNameFormatPane = categoryNameFormatPane;
+ }
+
+ public SeriesNameFormatPaneWithCheckBox getSeriesNameFormatPane() {
+ return seriesNameFormatPane;
+ }
+
+ public void setSeriesNameFormatPane(SeriesNameFormatPaneWithCheckBox seriesNameFormatPane) {
+ this.seriesNameFormatPane = seriesNameFormatPane;
+ }
+
+ private JPanel createLabelContentPane() {
+ content = new UIButtonGroup(new String[]{
+ Toolkit.i18nText("Fine-Design_Chart_Common"),
+ Toolkit.i18nText("Fine-Design_Chart_Custom")
+ });
+
+ initFormatPane(parent, showOnPane);
+
+ double p = TableLayout.PREFERRED;
+ double f = TableLayout.FILL;
+ double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
+
+ commonPanel = createCommonPanel();
+ htmlLabelPane = createHtmlLabelPane();
+ htmlLabelPane.setParent(parent);
+
+ centerPane = new JPanel(new CardLayout()) {
+ @Override
+ public Dimension getPreferredSize() {
+ if (content.getSelectedIndex() == 0) {
+ return commonPanel.getPreferredSize();
+ } else {
+ return new Dimension(commonPanel.getPreferredSize().width, htmlLabelPane.getPreferredSize().height);
+ }
+ }
+ };
+ centerPane.add(htmlLabelPane, Toolkit.i18nText("Fine-Design_Chart_Custom"));
+ centerPane.add(commonPanel, Toolkit.i18nText("Fine-Design_Chart_Common"));
+
+ double[] column = {f, e};
+ double[] row = {p, p, p};
+ Component[][] components = new Component[][]{
+ new Component[]{null, null},
+ new Component[]{new UILabel(getLabelContentTitle()), content},
+ new Component[]{null, centerPane},
+ };
+ initContentListener();
+ JPanel contentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, column);
+ return getLabelContentPane(contentPane);
+ }
+
+ protected String getLabelContentTitle() {
+ return Toolkit.i18nText("Fine-Design_Report_Text");
+ }
+
+ protected JPanel getLabelContentPane(JPanel contentPane) {
+ return createTableLayoutPaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Content"), contentPane);
+ }
+
+ protected VanChartHtmlLabelPane createHtmlLabelPane() {
+ return new VanChartHtmlLabelPane();
+ }
+
+ protected JPanel createCommonPanel() {
+ double p = TableLayout.PREFERRED;
+ double f = TableLayout.FILL;
+
+ double[] columnSize = {f, p};
+ double[] rowSize = getRowSize(p);
+
+ return TableLayoutHelper.createTableLayoutPane(getPaneComponents(), rowSize, columnSize);
+ }
+
+ protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ categoryNameFormatPane = new CategoryNameFormatPaneWithCheckBox(parent, showOnPane);
+ seriesNameFormatPane = new SeriesNameFormatPaneWithCheckBox(parent, showOnPane);
+ valueFormatPane = new ValueFormatPaneWithCheckBox(parent, showOnPane);
+ percentFormatPane = new PercentFormatPaneWithCheckBox(parent, showOnPane);
+ }
+
+ protected JPanel createTableLayoutPaneWithTitle(String title, JPanel panel) {
+ return TableLayout4VanChartHelper.createExpandablePaneWithTitle(title, panel);
+ }
+
+ protected double[] getRowSize(double p) {
+ return new double[]{p, p, p, p};
+ }
+
+ protected Component[][] getPaneComponents() {
+ return new Component[][]{
+ new Component[]{categoryNameFormatPane, null},
+ new Component[]{seriesNameFormatPane, null},
+ new Component[]{valueFormatPane, null},
+ new Component[]{percentFormatPane, null},
+ };
+ }
+
+ private void initContentListener() {
+ content.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ checkCardPane();
+ }
+ });
+ }
+
+
+ private void checkCardPane() {
+ CardLayout cardLayout = (CardLayout) centerPane.getLayout();
+ if (content.getSelectedIndex() == 1) {
+ cardLayout.show(centerPane, Toolkit.i18nText("Fine-Design_Chart_Custom"));
+ if (isDirty()) {
+ setCustomFormatterText();
+ setDirty(false);
+ }
+ } else {
+ cardLayout.show(centerPane, Toolkit.i18nText("Fine-Design_Chart_Common"));
+ }
+ }
+
+ protected void setCustomFormatterText() {
+ htmlLabelPane.setCustomFormatterText(updateBean().getFormatterTextFromCommon());
+ }
+
+ public boolean isDirty() {
+ return categoryNameFormatPane.isDirty() || seriesNameFormatPane.isDirty() || valueFormatPane.isDirty() || percentFormatPane.isDirty()
+ || (changedValueFormatPane != null && changedValueFormatPane.isDirty()) || (changedValueFormatPane != null && changedPercentFormatPane.isDirty());
+ }
+
+ public void setDirty(boolean isDirty) {
+ categoryNameFormatPane.setDirty(isDirty);
+ seriesNameFormatPane.setDirty(isDirty);
+ valueFormatPane.setDirty(isDirty);
+ percentFormatPane.setDirty(isDirty);
+
+ if (changedValueFormatPane != null) {
+ changedValueFormatPane.setDirty(isDirty);
+ }
+ if (changedPercentFormatPane != null) {
+ changedPercentFormatPane.setDirty(isDirty);
+ }
+ }
+
+ @Override
+ protected String title4PopupWindow() {
+ return "";
+ }
+
+
+ @Override
+ public void populateBean(AttrTooltipContent attrTooltipContent) {
+ if (attrTooltipContent == null) {
+ return;
+ }
+
+ content.setSelectedIndex(attrTooltipContent.isCommon() ? 0 : 1);
+
+ populateFormatPane(attrTooltipContent);
+
+ htmlLabelPane.populate(attrTooltipContent.getHtmlLabel());
+ if (!attrTooltipContent.isCommon()) {
+ setDirty(false);
+ }
+ checkCardPane();
+ }
+
+ protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
+ categoryNameFormatPane.populate(attrTooltipContent.getCategoryFormat());
+ seriesNameFormatPane.populate(attrTooltipContent.getSeriesFormat());
+ valueFormatPane.populate(attrTooltipContent.getValueFormat());
+ percentFormatPane.populate(attrTooltipContent.getPercentFormat());
+
+ if (changedValueFormatPane != null) {
+ changedValueFormatPane.populate(attrTooltipContent.getChangedValueFormat());
+ }
+ if (changedPercentFormatPane != null) {
+ changedPercentFormatPane.populate(attrTooltipContent.getChangedPercentFormat());
+ }
+ }
+
+ public AttrTooltipContent updateBean() {
+ AttrTooltipContent attrTooltipContent = createAttrTooltip();
+
+ attrTooltipContent.setCommon(content.getSelectedIndex() == 0);
+
+ updateFormatPane(attrTooltipContent);
+
+ updateFormatsWithPaneWidth(attrTooltipContent);
+
+ htmlLabelPane.update(attrTooltipContent.getHtmlLabel());
+
+ return attrTooltipContent;
+ }
+
+ protected AttrTooltipContent createAttrTooltip() {
+ return new AttrTooltipContent();
+ }
+
+ protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
+ categoryNameFormatPane.update(attrTooltipContent.getCategoryFormat());
+ seriesNameFormatPane.update(attrTooltipContent.getSeriesFormat());
+ valueFormatPane.update(attrTooltipContent.getValueFormat());
+ percentFormatPane.update(attrTooltipContent.getPercentFormat());
+
+ if (changedValueFormatPane != null) {
+ changedValueFormatPane.update(attrTooltipContent.getChangedValueFormat());
+ }
+ if (changedPercentFormatPane != null) {
+ changedPercentFormatPane.update(attrTooltipContent.getChangedPercentFormat());
+ }
+ }
+
+ private void updateFormatsWithPaneWidth(AttrTooltipContent attrTooltipContent) {
+ int paneWidth = seriesNameFormatPane.getWidth();
+ if (paneWidth == 0) {
+ attrTooltipContent.getSeriesFormat().setEnable(false);
+ }
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
index 9889ee64a..76148e649 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
@@ -82,6 +82,18 @@ public class VanChartTooltipContentPane extends BasicBeanPane dataLabelContentPane;
+ private BasicBeanPane dataLabelContentPane;
- protected UIButtonGroup position;
- protected UIButtonGroup autoAdjust;
- protected UIToggleButton tractionLine;
+ private UIButtonGroup position;
+ private UIButtonGroup autoAdjust;
+ private UIToggleButton tractionLine;
- protected ColorSelectBox backgroundColor;
+ private ColorSelectBox backgroundColor;
private JPanel tractionLinePane;
private JPanel positionPane;
private Integer[] oldPositionValues;
- protected VanChartStylePane parent;
+ private VanChartStylePane parent;
private Plot plot;
public VanChartPlotLabelDetailPane(Plot plot, VanChartStylePane parent) {
@@ -59,6 +59,18 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
initLabelDetailPane(plot);
}
+ public BasicBeanPane getDataLabelContentPane() {
+ return dataLabelContentPane;
+ }
+
+ public void setDataLabelContentPane(BasicBeanPane dataLabelContentPane) {
+ this.dataLabelContentPane = dataLabelContentPane;
+ }
+
+ public VanChartStylePane getParentPane() {
+ return parent;
+ }
+
protected void initLabelDetailPane (Plot plot) {
this.setLayout(new BorderLayout());
initToolTipContentPane(plot);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelNoCheckPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelNoCheckPane.java
index 95eb30204..beb89e5d7 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelNoCheckPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelNoCheckPane.java
@@ -19,12 +19,12 @@ public class VanChartPlotLabelNoCheckPane extends VanChartPlotLabelPane {
protected void addComponents() {
this.setLayout(new BorderLayout());
- this.add(labelPane,BorderLayout.CENTER);
+ this.add(getLabelPane(),BorderLayout.CENTER);
}
public void populate(AttrLabel attr) {
super.populate(attr);
- isLabelShow.setSelected(true);
- labelPane.setVisible(true);
+ getLabelShowCheckBox().setSelected(true);
+ getLabelPane().setVisible(true);
}
}
\ No newline at end of file
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelPane.java
index e0a007dd2..f1fa6f0f1 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelPane.java
@@ -3,6 +3,7 @@ package com.fr.van.chart.designer.style.label;
import com.fr.chart.chartattr.Plot;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.icheckbox.UICheckBox;
+import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
@@ -19,24 +20,52 @@ import java.awt.event.ActionListener;
public class VanChartPlotLabelPane extends BasicPane {
private static final long serialVersionUID = -1701936672446232396L;
- protected UICheckBox isLabelShow;
+ private UICheckBox isLabelShow;
- protected VanChartPlotLabelDetailPane labelDetailPane;
+ private VanChartPlotLabelDetailPane labelDetailPane;
- protected VanChartStylePane parent;
- protected Plot plot;
+ private VanChartStylePane parent;
+ private Plot plot;
- protected JPanel labelPane;
+ private JPanel labelPane;
public VanChartPlotLabelPane(Plot plot, VanChartStylePane parent) {
this.parent = parent;
this.plot = plot;
- isLabelShow = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Label"));
+ isLabelShow = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Use_Label"));
labelPane = new JPanel(new BorderLayout(0, 4));
createLabelPane();
addComponents();
}
+ public UICheckBox getLabelShowCheckBox() {
+ return isLabelShow;
+ }
+
+ public VanChartPlotLabelDetailPane getLabelDetailPane() {
+ return labelDetailPane;
+ }
+
+ public void setLabelDetailPane(VanChartPlotLabelDetailPane labelDetailPane) {
+ this.labelDetailPane = labelDetailPane;
+ }
+
+ public VanChartStylePane getParentPane() {
+ return parent;
+ }
+
+ public Plot getPlot() {
+ return plot;
+ }
+
+ public JPanel getLabelPane() {
+ return labelPane;
+ }
+
+ public void setLabelPane(JPanel labelPane) {
+ this.labelPane = labelPane;
+ }
+
protected void createLabelPane() {
labelDetailPane = new VanChartPlotLabelDetailPane(this.plot, this.parent);
labelPane.add(labelDetailPane, BorderLayout.CENTER);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/VanChartGanttLabelContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/VanChartGanttLabelContentPane.java
deleted file mode 100644
index fe4b2e80a..000000000
--- a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/VanChartGanttLabelContentPane.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.fr.van.chart.gantt.designer.style;
-
-import com.fr.van.chart.designer.component.VanChartHtmlLabelPane;
-import com.fr.van.chart.designer.style.VanChartStylePane;
-import com.fr.van.chart.gantt.designer.style.tooltip.VanChartGanttTooltipContentPane;
-
-import javax.swing.JPanel;
-
-/**
- * Created by hufan on 2017/1/13.
- */
-public class VanChartGanttLabelContentPane extends VanChartGanttTooltipContentPane {
- public VanChartGanttLabelContentPane(VanChartStylePane parent, JPanel showOnPane) {
- super(parent, showOnPane);
- }
-
- protected VanChartHtmlLabelPane createHtmlLabelPane() {
- return new VanChartHtmlLabelPane();
- }
-}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttLabelContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttLabelContentPane.java
new file mode 100644
index 000000000..54ab3fd1f
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttLabelContentPane.java
@@ -0,0 +1,121 @@
+package com.fr.van.chart.gantt.designer.style.label;
+
+import com.fr.design.i18n.Toolkit;
+import com.fr.plugin.chart.base.AttrTooltipContent;
+import com.fr.plugin.chart.gantt.attr.AttrGanttTooltipContent;
+import com.fr.van.chart.designer.component.VanChartLabelContentPaneWithoutRichText;
+import com.fr.van.chart.designer.component.format.SeriesNameFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.component.format.VanChartFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+import com.fr.van.chart.gantt.designer.style.tooltip.VanChartDateFormatPaneWithCheckBox;
+import com.fr.van.chart.gantt.designer.style.tooltip.VanChartFormatComBoxWithCheckBox;
+
+import javax.swing.JPanel;
+import java.awt.Component;
+
+/**
+ * Created by hufan on 2017/1/13.
+ */
+public class VanChartGanttLabelContentPane extends VanChartLabelContentPaneWithoutRichText {
+
+ private VanChartFormatPaneWithCheckBox processesFormatPane;
+ private VanChartDateFormatPaneWithCheckBox startTimeFormatPane;
+ private VanChartDateFormatPaneWithCheckBox endTimeFormatPane;
+ private VanChartFormatComBoxWithCheckBox durationFormatPane;
+ private VanChartFormatPaneWithCheckBox progressFormatPane;
+
+ public VanChartGanttLabelContentPane(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ processesFormatPane = new VanChartFormatPaneWithCheckBox(parent, showOnPane) {
+ @Override
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Project_Name");
+ }
+ };
+ setSeriesNameFormatPane(new SeriesNameFormatPaneWithCheckBox(parent, showOnPane));
+ startTimeFormatPane = new VanChartDateFormatPaneWithCheckBox(parent, showOnPane) {
+ @Override
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Start_Time");
+ }
+ };
+ endTimeFormatPane = new VanChartDateFormatPaneWithCheckBox(parent, showOnPane) {
+ @Override
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_End_Time");
+ }
+ };
+ durationFormatPane = new VanChartFormatComBoxWithCheckBox();
+ progressFormatPane = new VanChartFormatPaneWithCheckBox(parent, showOnPane) {
+ @Override
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Process");
+ }
+ };
+ }
+
+ protected Component[][] getPaneComponents() {
+ return new Component[][]{
+ new Component[]{processesFormatPane, null},
+ new Component[]{getSeriesNameFormatPane(), null},
+ new Component[]{startTimeFormatPane, null},
+ new Component[]{endTimeFormatPane, null},
+ new Component[]{durationFormatPane, null},
+ new Component[]{progressFormatPane, null}
+ };
+ }
+
+ protected double[] getRowSize(double p) {
+ return new double[]{p, p, p, p, p, p};
+ }
+
+ @Override
+ protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
+ if (attrTooltipContent instanceof AttrGanttTooltipContent) {
+ AttrGanttTooltipContent ganttTooltipContent = (AttrGanttTooltipContent) attrTooltipContent;
+ processesFormatPane.populate(ganttTooltipContent.getProcessesFormat());
+ getSeriesNameFormatPane().populate(ganttTooltipContent.getSeriesFormat());
+ startTimeFormatPane.populate(ganttTooltipContent.getStartTimeFormat());
+ endTimeFormatPane.populate(ganttTooltipContent.getEndTimeFormat());
+ durationFormatPane.populate(ganttTooltipContent.getDurationFormat());
+ progressFormatPane.populate(ganttTooltipContent.getProgressFormat());
+ }
+ }
+
+ protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
+ if (attrTooltipContent instanceof AttrGanttTooltipContent) {
+ AttrGanttTooltipContent ganttTooltipContent = (AttrGanttTooltipContent) attrTooltipContent;
+ processesFormatPane.update(ganttTooltipContent.getProcessesFormat());
+ getSeriesNameFormatPane().update(ganttTooltipContent.getSeriesFormat());
+ startTimeFormatPane.update(ganttTooltipContent.getStartTimeFormat());
+ endTimeFormatPane.update(ganttTooltipContent.getEndTimeFormat());
+ durationFormatPane.update(ganttTooltipContent.getDurationFormat());
+ progressFormatPane.update(ganttTooltipContent.getProgressFormat());
+ }
+ }
+
+ public boolean isDirty() {
+ return processesFormatPane.isDirty()
+ || getSeriesNameFormatPane().isDirty()
+ || startTimeFormatPane.isDirty()
+ || endTimeFormatPane.isDirty()
+ || durationFormatPane.isDirty()
+ || progressFormatPane.isDirty();
+ }
+
+ public void setDirty(boolean isDirty) {
+ processesFormatPane.setDirty(isDirty);
+ getSeriesNameFormatPane().setDirty(isDirty);
+ startTimeFormatPane.setDirty(isDirty);
+ endTimeFormatPane.setDirty(isDirty);
+ durationFormatPane.setDirty(isDirty);
+ progressFormatPane.setDirty(isDirty);
+ }
+
+ protected AttrTooltipContent createAttrTooltip() {
+ return new AttrGanttTooltipContent();
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelDetailPane.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelDetailPane.java
new file mode 100644
index 000000000..e00e0afd4
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelDetailPane.java
@@ -0,0 +1,16 @@
+package com.fr.van.chart.gantt.designer.style.label;
+
+import com.fr.chart.chartattr.Plot;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+import com.fr.van.chart.designer.style.label.VanChartPlotLabelDetailPane;
+
+public class VanChartGanttPlotLabelDetailPane extends VanChartPlotLabelDetailPane {
+
+ public VanChartGanttPlotLabelDetailPane(Plot plot, VanChartStylePane parent) {
+ super(plot, parent);
+ }
+
+ protected void initToolTipContentPane(Plot plot) {
+ setDataLabelContentPane(new VanChartGanttLabelContentPane(getParentPane(), VanChartGanttPlotLabelDetailPane.this));
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelPane.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelPane.java
new file mode 100644
index 000000000..546f772dd
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/label/VanChartGanttPlotLabelPane.java
@@ -0,0 +1,20 @@
+package com.fr.van.chart.gantt.designer.style.label;
+
+import com.fr.chart.chartattr.Plot;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+import com.fr.van.chart.designer.style.label.VanChartPlotLabelPane;
+
+import java.awt.BorderLayout;
+
+public class VanChartGanttPlotLabelPane extends VanChartPlotLabelPane {
+
+ public VanChartGanttPlotLabelPane(Plot plot, VanChartStylePane parent) {
+ super(plot, parent);
+ }
+
+ protected void createLabelPane() {
+ VanChartGanttPlotLabelDetailPane labelDetailPane = new VanChartGanttPlotLabelDetailPane(getPlot(), getParentPane());
+ setLabelDetailPane(labelDetailPane);
+ getLabelPane().add(labelDetailPane, BorderLayout.CENTER);
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithCheckBox.java
new file mode 100644
index 000000000..7ed6e93bc
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithCheckBox.java
@@ -0,0 +1,18 @@
+package com.fr.van.chart.gantt.designer.style.tooltip;
+
+import com.fr.design.gui.style.FormatPane;
+import com.fr.van.chart.designer.PlotFactory;
+import com.fr.van.chart.designer.component.format.VanChartFormatPaneWithCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+
+public abstract class VanChartDateFormatPaneWithCheckBox extends VanChartFormatPaneWithCheckBox {
+ public VanChartDateFormatPaneWithCheckBox(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected FormatPane createFormatPane(){
+ return PlotFactory.createAutoFormatPane();
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithoutCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithoutCheckBox.java
new file mode 100644
index 000000000..ee395284a
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartDateFormatPaneWithoutCheckBox.java
@@ -0,0 +1,18 @@
+package com.fr.van.chart.gantt.designer.style.tooltip;
+
+import com.fr.design.gui.style.FormatPane;
+import com.fr.van.chart.designer.PlotFactory;
+import com.fr.van.chart.designer.component.format.VanChartFormatPaneWithoutCheckBox;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+
+import javax.swing.JPanel;
+
+public abstract class VanChartDateFormatPaneWithoutCheckBox extends VanChartFormatPaneWithoutCheckBox {
+ public VanChartDateFormatPaneWithoutCheckBox(VanChartStylePane parent, JPanel showOnPane) {
+ super(parent, showOnPane);
+ }
+
+ protected FormatPane createFormatPane() {
+ return PlotFactory.createAutoFormatPane();
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithCheckBox.java
new file mode 100644
index 000000000..95da8ea98
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithCheckBox.java
@@ -0,0 +1,100 @@
+package com.fr.van.chart.gantt.designer.style.tooltip;
+
+import com.fr.design.gui.icheckbox.UICheckBox;
+import com.fr.design.gui.icombobox.UIComboBox;
+import com.fr.design.gui.ilable.UILabel;
+import com.fr.design.i18n.Toolkit;
+import com.fr.plugin.chart.base.format.AttrTooltipDurationFormat;
+import com.fr.plugin.chart.base.format.AttrTooltipFormat;
+import com.fr.plugin.chart.base.format.IntervalTimeFormat;
+
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.util.Map;
+
+public class VanChartFormatComBoxWithCheckBox extends JPanel {
+ private static final String LABEL_TEXT = Toolkit.i18nText("Fine-Design_Chart_Duration_Time");
+
+ private UICheckBox isSelectedBox;
+ private UIComboBox formatComBox;
+
+ private boolean isDirty;
+
+ public VanChartFormatComBoxWithCheckBox() {
+ this.setLayout(new BorderLayout());
+ isSelectedBox = new UICheckBox(LABEL_TEXT);
+ formatComBox = new UIComboBox(IntervalTimeFormat.getFormats());
+ isSelectedBox.addMouseListener(new MouseListener() {
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ isDirty = true;
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+
+ }
+ });
+ formatComBox.setPreferredSize(new Dimension(40, 20));
+
+ if (showSelectBox()) {
+ this.add(isSelectedBox, BorderLayout.CENTER);
+ } else {
+ this.add(new UILabel(LABEL_TEXT), BorderLayout.CENTER);
+ }
+
+ this.add(formatComBox, BorderLayout.EAST);
+ }
+
+ protected boolean showSelectBox() {
+ return true;
+ }
+
+ public boolean isDirty() {
+ return isDirty;
+ }
+
+ public void setDirty(boolean isDirty) {
+ this.isDirty = isDirty;
+ }
+
+ public void populate(AttrTooltipFormat tooltipFormat) {
+ if (tooltipFormat instanceof AttrTooltipDurationFormat) {
+ this.isSelectedBox.setSelected(tooltipFormat.isEnable());
+ formatComBox.setSelectedItem(((AttrTooltipDurationFormat) tooltipFormat).getIntervalTimeFormat());
+ }
+ }
+
+ public void update(AttrTooltipFormat tooltipFormat) {
+ if (tooltipFormat instanceof AttrTooltipDurationFormat) {
+ tooltipFormat.setEnable(isSelectedBox.isSelected());
+ ((AttrTooltipDurationFormat) tooltipFormat).setIntervalTimeFormat((IntervalTimeFormat) formatComBox.getSelectedItem());
+ }
+ }
+
+ public void updateFormatParams(Map paramMap, String value) {
+ String key = LABEL_TEXT;
+
+ if (paramMap != null && !paramMap.containsKey(key)) {
+ paramMap.put(key, value);
+ }
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithoutCheckBox.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithoutCheckBox.java
new file mode 100644
index 000000000..20a74e376
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartFormatComBoxWithoutCheckBox.java
@@ -0,0 +1,8 @@
+package com.fr.van.chart.gantt.designer.style.tooltip;
+
+public class VanChartFormatComBoxWithoutCheckBox extends VanChartFormatComBoxWithCheckBox {
+
+ protected boolean showSelectBox() {
+ return false;
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartGanttTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartGanttTooltipContentPane.java
index 2a35b5f4a..71b57cde8 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartGanttTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/tooltip/VanChartGanttTooltipContentPane.java
@@ -1,27 +1,17 @@
package com.fr.van.chart.gantt.designer.style.tooltip;
-import com.fr.design.gui.icheckbox.UICheckBox;
-import com.fr.design.gui.icombobox.UIComboBox;
-import com.fr.design.gui.style.FormatPane;
-
import com.fr.design.i18n.Toolkit;
import com.fr.plugin.chart.base.AttrTooltipContent;
-import com.fr.plugin.chart.base.format.AttrTooltipDurationFormat;
-import com.fr.plugin.chart.base.format.AttrTooltipFormat;
-import com.fr.plugin.chart.base.format.IntervalTimeFormat;
import com.fr.plugin.chart.gantt.attr.AttrGanttTooltipContent;
-import com.fr.van.chart.designer.PlotFactory;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
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;
-import java.awt.BorderLayout;
import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
/**
* Created by hufan on 2017/1/13.
@@ -33,6 +23,12 @@ public class VanChartGanttTooltipContentPane extends VanChartTooltipContentPane
private VanChartFormatComBoxWithCheckBox durationFormatPane;
private VanChartFormatPaneWithCheckBox progressFormatPane;
+ private VanChartFormatPaneWithoutCheckBox richTextProcessesFormatPane;
+ private VanChartDateFormatPaneWithoutCheckBox richTextStartTimeFormatPane;
+ private VanChartDateFormatPaneWithoutCheckBox richTextEndTimeFormatPane;
+ private VanChartFormatComBoxWithoutCheckBox richTextDurationFormatPane;
+ private VanChartFormatPaneWithoutCheckBox richTextProgressFormatPane;
+
public VanChartGanttTooltipContentPane(VanChartStylePane parent, JPanel showOnPane) {
super(parent, showOnPane);
}
@@ -66,6 +62,31 @@ public class VanChartGanttTooltipContentPane extends VanChartTooltipContentPane
};
}
+ protected void initRichTextFormatPane(VanChartStylePane parent, JPanel showOnPane) {
+ richTextProcessesFormatPane = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Project_Name");
+ }
+ };
+ setRichTextSeriesNameFormatPane(new SeriesNameFormatPaneWithoutCheckBox(parent, showOnPane));
+ richTextStartTimeFormatPane = new VanChartDateFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Start_Time");
+ }
+ };
+ richTextEndTimeFormatPane = new VanChartDateFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_End_Time");
+ }
+ };
+ richTextDurationFormatPane = new VanChartFormatComBoxWithoutCheckBox();
+ richTextProgressFormatPane = new VanChartFormatPaneWithoutCheckBox(parent, showOnPane){
+ protected String getCheckBoxText() {
+ return Toolkit.i18nText("Fine-Design_Chart_Process");
+ }
+ };
+ }
+
protected Component[][] getPaneComponents(){
return new Component[][]{
new Component[]{processesFormatPane,null},
@@ -77,6 +98,17 @@ public class VanChartGanttTooltipContentPane extends VanChartTooltipContentPane
};
}
+ protected Component[][] getRichTextComponents() {
+ return new Component[][]{
+ new Component[]{richTextProcessesFormatPane,null},
+ new Component[]{getRichTextSeriesNameFormatPane(),null},
+ new Component[]{richTextStartTimeFormatPane,null},
+ new Component[]{richTextEndTimeFormatPane,null},
+ new Component[]{richTextDurationFormatPane, null},
+ new Component[]{richTextProgressFormatPane, null}
+ };
+ }
+
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p,p};
}
@@ -127,79 +159,4 @@ public class VanChartGanttTooltipContentPane extends VanChartTooltipContentPane
protected AttrTooltipContent createAttrTooltip() {
return new AttrGanttTooltipContent();
}
-
- private abstract class VanChartDateFormatPaneWithCheckBox extends VanChartFormatPaneWithCheckBox {
- public VanChartDateFormatPaneWithCheckBox(VanChartStylePane parent, JPanel showOnPane) {
- super(parent, showOnPane);
- }
-
- @Override
- protected FormatPane createFormatPane(){
- return PlotFactory.createAutoFormatPane();
- }
- }
-
- private class VanChartFormatComBoxWithCheckBox extends JPanel{
- private UICheckBox isSelectedBox;
- private UIComboBox formatComBox;
-
- private boolean isDirty;
-
- private VanChartFormatComBoxWithCheckBox() {
- this.setLayout(new BorderLayout());
- isSelectedBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Duration_Time"));
- formatComBox = new UIComboBox(IntervalTimeFormat.getFormats());
- isSelectedBox.addMouseListener(new MouseListener() {
- @Override
- public void mouseClicked(MouseEvent e) {
- isDirty = true;
- }
-
- @Override
- public void mousePressed(MouseEvent e) {
-
- }
-
- @Override
- public void mouseReleased(MouseEvent e) {
-
- }
-
- @Override
- public void mouseEntered(MouseEvent e) {
-
- }
-
- @Override
- public void mouseExited(MouseEvent e) {
-
- }
- });
- formatComBox.setPreferredSize(new Dimension(40,20));
- this.add(isSelectedBox, BorderLayout.CENTER);
- this.add(formatComBox, BorderLayout.EAST);
- }
-
- private boolean isDirty() {
- return isDirty;
- }
-
- private void setDirty(boolean isDirty) {
- this.isDirty = isDirty;
- }
-
- private void populate(AttrTooltipFormat tooltipFormat) {
- if(tooltipFormat instanceof AttrTooltipDurationFormat) {
- this.isSelectedBox.setSelected(tooltipFormat.isEnable());
- formatComBox.setSelectedItem(((AttrTooltipDurationFormat) tooltipFormat).getIntervalTimeFormat());
- }
- }
-
- private void update(AttrTooltipFormat tooltipFormat) {
- if(tooltipFormat instanceof AttrTooltipDurationFormat) {
- tooltipFormat.setEnable(isSelectedBox.isSelected());
- ((AttrTooltipDurationFormat) tooltipFormat).setIntervalTimeFormat((IntervalTimeFormat) formatComBox.getSelectedItem());
- }
- }
- }
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelDetailPane.java b/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelDetailPane.java
index d507934e6..a78261f65 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelDetailPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelDetailPane.java
@@ -19,6 +19,6 @@ public class VanChartScatterPlotLabelDetailPane extends VanChartPlotLabelDetailP
@Override
protected void initToolTipContentPane(Plot plot) {
- dataLabelContentPane = new VanChartScatterLabelContentPane(parent,VanChartScatterPlotLabelDetailPane.this);
+ setDataLabelContentPane(new VanChartScatterLabelContentPane(getParentPane(),VanChartScatterPlotLabelDetailPane.this));
}
}
\ No newline at end of file
diff --git a/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelNoCheckPane.java b/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelNoCheckPane.java
index 71e783b06..a40918073 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelNoCheckPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelNoCheckPane.java
@@ -19,12 +19,12 @@ public class VanChartScatterPlotLabelNoCheckPane extends VanChartScatterPlotLabe
protected void addComponents() {
this.setLayout(new BorderLayout());
- this.add(labelPane,BorderLayout.CENTER);
+ this.add(getLabelPane(), BorderLayout.CENTER);
}
public void populate(AttrLabel attr) {
super.populate(attr);
- isLabelShow.setSelected(true);
- labelPane.setVisible(true);
+ getLabelShowCheckBox().setSelected(true);
+ getLabelPane().setVisible(true);
}
}
\ No newline at end of file
diff --git a/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelPane.java b/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelPane.java
index 632ce7f6f..fb8be9016 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/scatter/component/label/VanChartScatterPlotLabelPane.java
@@ -18,7 +18,8 @@ public class VanChartScatterPlotLabelPane extends VanChartPlotLabelPane {
@Override
protected void createLabelPane() {
- labelDetailPane = new VanChartScatterPlotLabelDetailPane(this.plot, this.parent);
- labelPane.add(labelDetailPane, BorderLayout.CENTER);
+ VanChartScatterPlotLabelDetailPane labelDetailPane = new VanChartScatterPlotLabelDetailPane(getPlot(), getParentPane());
+ setLabelDetailPane(labelDetailPane);
+ getLabelPane().add(labelDetailPane, BorderLayout.CENTER);
}
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureLabelContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureLabelContentPane.java
index e5f1287b2..f380c8267 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureLabelContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureLabelContentPane.java
@@ -4,7 +4,7 @@ package com.fr.van.chart.structure.desinger.style;
import com.fr.design.i18n.Toolkit;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.multilayer.style.AttrTooltipMultiLevelNameFormat;
-import com.fr.van.chart.designer.component.VanChartLabelContentPane;
+import com.fr.van.chart.designer.component.VanChartLabelContentPaneWithoutRichText;
import com.fr.van.chart.designer.component.format.CategoryNameFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.SeriesNameFormatPaneWithCheckBox;
@@ -17,7 +17,7 @@ import java.awt.Component;
/**
* Created by shine on 2017/2/15.
*/
-public class VanChartStructureLabelContentPane extends VanChartLabelContentPane {
+public class VanChartStructureLabelContentPane extends VanChartLabelContentPaneWithoutRichText {
public VanChartStructureLabelContentPane(VanChartStylePane parent, JPanel showOnPane) {
super(parent, showOnPane);
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelDetailPane.java b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelDetailPane.java
new file mode 100644
index 000000000..20e784c52
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelDetailPane.java
@@ -0,0 +1,16 @@
+package com.fr.van.chart.structure.desinger.style;
+
+import com.fr.chart.chartattr.Plot;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+import com.fr.van.chart.designer.style.label.VanChartPlotLabelDetailPane;
+
+public class VanChartStructurePlotLabelDetailPane extends VanChartPlotLabelDetailPane {
+
+ public VanChartStructurePlotLabelDetailPane(Plot plot, VanChartStylePane parent) {
+ super(plot, parent);
+ }
+
+ protected void initToolTipContentPane(Plot plot) {
+ setDataLabelContentPane(new VanChartStructureLabelContentPane(getParentPane(), VanChartStructurePlotLabelDetailPane.this));
+ }
+}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelPane.java b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelPane.java
new file mode 100644
index 000000000..e4cdc99e1
--- /dev/null
+++ b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructurePlotLabelPane.java
@@ -0,0 +1,20 @@
+package com.fr.van.chart.structure.desinger.style;
+
+import com.fr.chart.chartattr.Plot;
+import com.fr.van.chart.designer.style.VanChartStylePane;
+import com.fr.van.chart.designer.style.label.VanChartPlotLabelPane;
+
+import java.awt.BorderLayout;
+
+public class VanChartStructurePlotLabelPane extends VanChartPlotLabelPane {
+
+ public VanChartStructurePlotLabelPane(Plot plot, VanChartStylePane parent) {
+ super(plot, parent);
+ }
+
+ protected void createLabelPane() {
+ VanChartStructurePlotLabelDetailPane labelDetailPane = new VanChartStructurePlotLabelDetailPane(getPlot(), getParentPane());
+ setLabelDetailPane(labelDetailPane);
+ getLabelPane().add(labelDetailPane, BorderLayout.CENTER);
+ }
+}
From 2812d09ea389566fb812d4c96cd11ab7f789c711 Mon Sep 17 00:00:00 2001
From: kerry
Date: Mon, 21 Sep 2020 09:43:04 +0800
Subject: [PATCH 06/13] =?UTF-8?q?REPORT-38618=E3=80=90=E5=9B=9E=E5=BD=92?=
=?UTF-8?q?=E3=80=91=E8=A1=A8=E5=8D=95-=E4=B8=8B=E6=96=B9=E7=BC=A9?=
=?UTF-8?q?=E6=94=BE=E7=BC=A9=E5=B0=8F=E4=B9=8B=E5=90=8E=EF=BC=8C=E6=8B=96?=
=?UTF-8?q?=E5=85=A5tab=E5=9D=97=EF=BC=8C=E6=9F=A5=E7=9C=8B=E5=8F=B3?=
=?UTF-8?q?=E4=BE=A7=E8=BE=B9=E6=A1=86=E7=BA=BF=E6=B6=88=E5=A4=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/fr/design/mainframe/FormDesignerUI.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java
index 2a8e255e8..c3994e384 100644
--- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java
+++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java
@@ -410,8 +410,8 @@ public class FormDesignerUI extends ComponentUI {
clipg = g.create(
-designer.getHorizontalScaleValue(),
-designer.getVerticalScaleValue() + designer.getParaHeight(),
- parent.getSize().width + designer.getHorizontalScaleValue(),
- parent.getSize().height + designer.getVerticalScaleValue());
+ component.getSize().width + designer.getHorizontalScaleValue(),
+ component.getSize().height + designer.getVerticalScaleValue());
designer.paintContent(clipg);
paintWatermark((Graphics2D) clipg);
@@ -436,7 +436,7 @@ public class FormDesignerUI extends ComponentUI {
Graphics clipg1;
clipg1 = g.create(-designer.getHorizontalScaleValue(),
-designer.getVerticalScaleValue(),
- parent.getSize().width + designer.getHorizontalScaleValue(),
+ component.getSize().width + designer.getHorizontalScaleValue(),
designer.getParaHeight() + designer.getVerticalScaleValue());
designer.paintPara(clipg1);
From dd32c9f7113090ba576499cf673f49885441e181 Mon Sep 17 00:00:00 2001
From: "Qinghui.Liu"
Date: Mon, 21 Sep 2020 10:26:33 +0800
Subject: [PATCH 07/13] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=94=98=E7=89=B9?=
=?UTF-8?q?=E5=9B=BE=E6=A0=87=E7=AD=BE=E5=92=8C=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../component/VanChartTooltipContentPane.java | 42 +++++++++++----
.../VanChartGanttTooltipContentPane.java | 54 +++++++++++++++++++
2 files changed, 85 insertions(+), 11 deletions(-)
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
index 76148e649..bf7b51794 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
@@ -190,6 +190,10 @@ public class VanChartTooltipContentPane extends BasicBeanPane params = getRichTextAttr().getParams();
+
+ AttrTooltipProcessesFormat processesFormat = ganttTooltipContent.getRichTextProcessesFormat();
+ richTextProcessesFormatPane.populate(processesFormat);
+ richTextProcessesFormatPane.updateFormatParams(params, processesFormat.getJs());
+
+ AttrTooltipSeriesFormat seriesFormat = ganttTooltipContent.getRichTextSeriesFormat();
+ getRichTextSeriesNameFormatPane().populate(seriesFormat);
+ getRichTextSeriesNameFormatPane().updateFormatParams(params, seriesFormat.getJs());
+
+ AttrTooltipStartTimeFormat startTimeFormat = ganttTooltipContent.getRichTextStartTimeFormat();
+ richTextStartTimeFormatPane.populate(startTimeFormat);
+ richTextStartTimeFormatPane.updateFormatParams(params, startTimeFormat.getJs());
+
+ AttrTooltipEndTimeFormat endTimeFormat = ganttTooltipContent.getRichTextEndTimeFormat();
+ richTextEndTimeFormatPane.populate(endTimeFormat);
+ richTextEndTimeFormatPane.updateFormatParams(params, endTimeFormat.getJs());
+
+ AttrTooltipDurationFormat durationFormat = ganttTooltipContent.getRichTextDurationFormat();
+ richTextDurationFormatPane.populate(durationFormat);
+ richTextDurationFormatPane.updateFormatParams(params, durationFormat.getJs());
+
+ AttrTooltipProgressFormat progressFormat = ganttTooltipContent.getRichTextProgressFormat();
+ richTextProgressFormatPane.populate(progressFormat);
+ richTextProgressFormatPane.updateFormatParams(params, progressFormat.getJs());
+
+ populateRichText(attrTooltipContent.getRichTextAttr());
+ }
+ }
+
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
if (attrTooltipContent instanceof AttrGanttTooltipContent){
AttrGanttTooltipContent ganttTooltipContent = (AttrGanttTooltipContent) attrTooltipContent;
@@ -138,6 +179,19 @@ public class VanChartGanttTooltipContentPane extends VanChartTooltipContentPane
}
}
+ protected void updateRichEditor(AttrTooltipContent attrTooltipContent) {
+ if(attrTooltipContent instanceof AttrGanttTooltipContent) {
+ AttrGanttTooltipContent ganttTooltipContent = (AttrGanttTooltipContent) attrTooltipContent;
+
+ richTextProcessesFormatPane.update(ganttTooltipContent.getRichTextProcessesFormat());
+ getRichTextSeriesNameFormatPane().update(ganttTooltipContent.getRichTextSeriesFormat());
+ richTextStartTimeFormatPane.update(ganttTooltipContent.getRichTextStartTimeFormat());
+ richTextEndTimeFormatPane.update(ganttTooltipContent.getRichTextEndTimeFormat());
+ richTextDurationFormatPane.update(ganttTooltipContent.getRichTextDurationFormat());
+ richTextProgressFormatPane.update(ganttTooltipContent.getRichTextProgressFormat());
+ }
+ }
+
public boolean isDirty() {
return processesFormatPane.isDirty()
|| getSeriesNameFormatPane().isDirty()
From 41309234d2b63cfc827e57cacd92f0cee6df1c5f Mon Sep 17 00:00:00 2001
From: Yyming
Date: Mon, 21 Sep 2020 10:46:03 +0800
Subject: [PATCH 08/13] =?UTF-8?q?REPORT-39884=20=E5=9B=9E=E9=80=80?=
=?UTF-8?q?=E6=88=90=E5=9B=BD=E9=99=85=E5=8C=96=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../data/datapane/TableDataCreatorProducer.java | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
index fad88af71..51bd8b49b 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
@@ -72,24 +72,18 @@ public class TableDataCreatorProducer {
public TableDataNameObjectCreator[] createServerTableDataCreator() {
TableDataNameObjectCreator dataBase = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Database_Query"),
- "ds0",
"/com/fr/design/images/data/dock/serverdatabase.png", DBTableData.class,
DBTableDataPane.class);
TableDataNameObjectCreator ds_Class = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Class"),
- "Class0",
"/com/fr/design/images/data/dock/serverclasstabledata.png", ClassTableData.class,
ClassTableDataPane.class);
TableDataNameObjectCreator table = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Embedded"),
- "Embedded0",
"/com/fr/design/images/data/dock/serverdatatable.png", EmbeddedTableData.class,
EmbeddedTableDataPane.class);
TableDataNameObjectCreator fileTable = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_File"),
- "File0",
"/com/fr/design/images/data/file.png", FileTableData.class,
FileTableDataSmallPane.class);
-
TableDataNameObjectCreator treeTable = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Tree"),
- "Tree0",
"/com/fr/design/images/data/tree.png",
RecursionTableData.class, GlobalTreeTableDataPane.class) {
public boolean isNeedParameterWhenPopulateJControlPane() {
@@ -97,7 +91,6 @@ public class TableDataCreatorProducer {
}
};
TableDataNameObjectCreator multiTable = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Relation"),
- "Multi0",
"/com/fr/design/images/data/multi.png",
ConditionTableData.class, GlobalMultiTDTableDataPane.class) {
public boolean isNeedParameterWhenPopulateJControlPane() {
@@ -105,7 +98,6 @@ public class TableDataCreatorProducer {
}
};
TableDataNameObjectCreator storeProcedure = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tabledata_Type_Stored_Procedure"),
- "Proc0",
"/com/fr/design/images/data/store_procedure.png",
StoreProcedure.class, ProcedureDataPane.class) {
@Override
@@ -113,9 +105,7 @@ public class TableDataCreatorProducer {
return true;
}
};
-
TableDataNameObjectCreator[] creators = new TableDataNameObjectCreator[]{dataBase, ds_Class, table, fileTable, storeProcedure, multiTable, treeTable};
-
return merge(creators, ExtraDesignClassManager.getInstance().getServerTableDataCreators());
}
@@ -141,6 +131,6 @@ public class TableDataCreatorProducer {
for (int i = 0; i < coverIndexList.size(); i ++) {
creators[coverIndexList.get(i)] = coverCreators.get(i);
}
- return (TableDataNameObjectCreator[])ArrayUtils.addAll(creators, list.toArray(new TableDataNameObjectCreator[list.size()]));
+ return ArrayUtils.addAll(creators, list.toArray(new TableDataNameObjectCreator[0]));
}
}
From 4860a9c94c4f7c171f07cb7885e8c8a0db1348f2 Mon Sep 17 00:00:00 2001
From: Hans
Date: Mon, 21 Sep 2020 14:02:37 +0800
Subject: [PATCH 09/13] =?UTF-8?q?MOBILE-29516=E3=80=90=E8=AE=BE=E8=AE=A1?=
=?UTF-8?q?=E5=99=A8=E3=80=91tab=E6=89=8B=E5=8A=BF=E5=88=87=E6=8D=A2?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F=E3=80=8B=E5=9C=86=E7=82=B9=E6=8C=87=E7=A4=BA?=
=?UTF-8?q?=E5=99=A8=E8=AE=BE=E7=BD=AE=E9=A1=B9=E5=9C=A8=E4=B8=8D=E5=8B=BE?=
=?UTF-8?q?=E9=80=89=E6=BB=91=E5=8A=A8=E7=9A=84=E6=97=B6=E5=80=99=E4=B9=9F?=
=?UTF-8?q?=E4=BC=9A=E6=98=BE=E7=A4=BA=E4=BF=AE=E6=94=B9=20=E6=8C=89?=
=?UTF-8?q?=E7=85=A7=E4=BA=A4=E4=BA=92=E7=9A=84=E8=AE=BE=E8=AE=A1=E8=B0=83?=
=?UTF-8?q?=E6=95=B4=E6=98=BE=E7=A4=BA=E8=A7=84=E5=88=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../component/MobileTabCommonSettingPane.java | 40 +++++++++++--------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java
index cf4923aed..85475fd68 100644
--- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java
+++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileTabCommonSettingPane.java
@@ -112,20 +112,10 @@ public class MobileTabCommonSettingPane extends BasicPane {
JPanel selectDotColorPane = TableLayoutHelper.createGapTableLayoutPane(new Component[][]{new Component[]{selectColor, selectDotColorBox}}, TableLayoutHelper.FILL_LASTCOLUMN, IntervalConstants.INTERVAL_L1, LayoutConstants.VGAP_MEDIUM);
double[] rowSize = {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED};
- double[] columnSize = {TableLayout.FILL};
- int[][] rowCount = {{1}, {1}, {1}};
- double[] verticalGaps = {10, 10, 10};
+ double[] verticalGaps = {IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1};
double[] dotSettingColumnSize = {TableLayout.PREFERRED, TableLayout.FILL};
- Component[][] components = new Component[][]{
- new Component[]{this.showTabTitleCheck},
- new Component[]{this.tabSlideCheck},
- new Component[]{this.showTabDotIndicatorCheck}
- };
-
- JPanel tabBaseConfigPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount,
- IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1);
- tabBaseConfigPane.setBorder(BorderFactory.createEmptyBorder(0, 0, IntervalConstants.INTERVAL_L1, 0));
+ final JPanel tabBaseConfigPanel = createTableConfigJPanel();
JPanel dotIndicatorSettingPanel = TableLayoutHelper.createDiffVGapTableLayoutPane(new JComponent[][]{
{label, dotIndicatorShowTypePane},
@@ -135,11 +125,18 @@ public class MobileTabCommonSettingPane extends BasicPane {
BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L2, IntervalConstants.INTERVAL_L1, 0)
);
- final JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
- jPanel.add(tabBaseConfigPane, BorderLayout.NORTH);
- jPanel.add(dotIndicatorSettingPanel, BorderLayout.CENTER);
+ final JPanel tableConfigJPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
+ tableConfigJPanel.add(tabBaseConfigPanel, BorderLayout.NORTH);
+ tableConfigJPanel.add(dotIndicatorSettingPanel, BorderLayout.CENTER);
+ this.add(tableConfigJPanel, BorderLayout.CENTER);
- this.add(jPanel, BorderLayout.CENTER);
+ tabSlideCheck.addChangeListener(new ChangeListener() {
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ showTabDotIndicatorCheck.setVisible(tabSlideCheck.isSelected());
+ dotIndicatorSettingPanel.setVisible(tabSlideCheck.isSelected() && showTabDotIndicatorCheck.isSelected());
+ }
+ });
showTabDotIndicatorCheck.addChangeListener(new ChangeListener() {
@Override
@@ -200,4 +197,15 @@ public class MobileTabCommonSettingPane extends BasicPane {
colorBox.setSelectObject(color);
}
}
+
+ private JPanel createTableConfigJPanel() {
+ final JPanel jPanel = new JPanel();
+ BorderLayout borderLayout = new BorderLayout(0, IntervalConstants.INTERVAL_L1);
+ jPanel.setLayout(borderLayout);
+ jPanel.add(this.showTabTitleCheck, BorderLayout.NORTH);
+ jPanel.add(this.tabSlideCheck, BorderLayout.CENTER);
+ jPanel.add(this.showTabDotIndicatorCheck, BorderLayout.SOUTH);
+ jPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, IntervalConstants.INTERVAL_L1, 0));
+ return jPanel;
+ }
}
From 41eee70b3495fdbe7b65958cda479275a19cbbc9 Mon Sep 17 00:00:00 2001
From: "Qinghui.Liu"
Date: Mon, 21 Sep 2020 15:15:53 +0800
Subject: [PATCH 10/13] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=95=A3=E7=82=B9?=
=?UTF-8?q?=E5=9B=BE=E3=80=81=E7=AE=B1=E5=9E=8B=E5=9B=BE=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E7=82=B9=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../box/VanChartBoxTooltipContentPane.java | 142 ++++++++++++++++--
.../component/VanChartTooltipContentPane.java | 63 ++++----
...ChartScatterRefreshTooltipContentPane.java | 33 ++++
.../VanChartScatterTooltipContentPane.java | 34 +++++
4 files changed, 224 insertions(+), 48 deletions(-)
diff --git a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
index d0dd67529..0ad1ee3aa 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
+++ b/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;
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
index bf7b51794..608ee2e16 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
@@ -232,7 +232,7 @@ public class VanChartTooltipContentPane extends BasicBeanPane
Date: Mon, 21 Sep 2020 15:50:45 +0800
Subject: [PATCH 11/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E7=AC=A6?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=B1=9E=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../designer/style/label/VanChartGaugeLabelDetailPane.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartGaugeLabelDetailPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartGaugeLabelDetailPane.java
index 943aa2746..f06e7c1c7 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartGaugeLabelDetailPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartGaugeLabelDetailPane.java
@@ -37,8 +37,8 @@ public class VanChartGaugeLabelDetailPane extends VanChartPlotLabelDetailPane {
private UIButtonGroup align;
private JPanel alignPane;
private Integer[] oldAlignValues;
- protected UIButtonGroup style;
- protected ChartTextAttrPane textFontPane;
+ private UIButtonGroup style;
+ private ChartTextAttrPane textFontPane;
public VanChartGaugeLabelDetailPane(Plot plot, VanChartStylePane parent) {
super(plot, parent);
From ab4a0c756718d0e609fc4b91d11bb069632fd8ad Mon Sep 17 00:00:00 2001
From: "Qinghui.Liu"
Date: Mon, 21 Sep 2020 16:04:15 +0800
Subject: [PATCH 12/13] =?UTF-8?q?=E8=A1=A5=E5=85=85=E9=81=97=E6=BC=8F?=
=?UTF-8?q?=E7=9A=84=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../van/chart/box/VanChartBoxTooltipContentPane.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
index 0ad1ee3aa..4659faaa8 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxTooltipContentPane.java
@@ -5,7 +5,9 @@ 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.AttrTooltipCategoryFormat;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
+import com.fr.plugin.chart.base.format.AttrTooltipSeriesFormat;
import com.fr.plugin.chart.box.attr.AttrBoxTooltipContent;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
@@ -20,6 +22,7 @@ import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Component;
+import java.util.Map;
public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
@@ -273,6 +276,15 @@ public class VanChartBoxTooltipContentPane extends VanChartTooltipContentPane {
}
protected void populateRichEditor(AttrTooltipContent attrTooltipContent) {
+ Map params = getRichTextAttr().getParams();
+
+ AttrTooltipCategoryFormat categoryFormat = attrTooltipContent.getRichTextCategoryFormat();
+ getRichTextCategoryNameFormatPane().populate(categoryFormat);
+ getRichTextCategoryNameFormatPane().updateFormatParams(params, categoryFormat.getJs());
+
+ AttrTooltipSeriesFormat seriesFormat = attrTooltipContent.getRichTextSeriesFormat();
+ getRichTextSeriesNameFormatPane().populate(seriesFormat);
+ getRichTextSeriesNameFormatPane().updateFormatParams(params, seriesFormat.getJs());
if (attrTooltipContent instanceof AttrBoxTooltipContent) {
AttrBoxTooltipContent boxTooltipContent = (AttrBoxTooltipContent) attrTooltipContent;
From 4baa76c6ff536a1aef6abf54b0fdcb7373cc1f24 Mon Sep 17 00:00:00 2001
From: "Qinghui.Liu"
Date: Mon, 21 Sep 2020 16:34:48 +0800
Subject: [PATCH 13/13] =?UTF-8?q?=E5=A4=87=E6=B3=A8=E5=BE=85=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E7=9A=84=E5=B1=9E=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../chart/designer/style/tooltip/VanChartPlotTooltipPane.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java
index bb5b46b63..aa86fb9a7 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java
+++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/tooltip/VanChartPlotTooltipPane.java
@@ -26,6 +26,7 @@ import java.awt.event.ActionListener;
public class VanChartPlotTooltipPane extends BasicPane {
private static final long serialVersionUID = 6087381131907589370L;
+ // todo 使用private
protected UICheckBox isTooltipShow;
protected VanChartTooltipContentPane tooltipContentPane;