From 1803689c0b25f09977985f1a8c49c61ee6392513 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Fri, 5 Feb 2021 10:14:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?CHART-18070=20=E5=AF=8C=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=E6=94=AF=E6=8C=81=E7=BB=84?= =?UTF-8?q?=E5=90=88=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/chart/gui/ChartOtherPane.java | 2 +- .../VanChartCustomConditionAttrPane.java | 4 ++- ...anChartCustomPlotConditionAttrTabPane.java | 21 +++++++++++ .../style/VanChartCustomPlotLabelTabPane.java | 15 ++++++++ .../VanChartCustomPlotTooltipTabPane.java | 15 ++++++++ .../custom/style/VanChartCustomStylePane.java | 11 ++++++ .../richText/VanChartRichEditorPane.java | 35 ++++++++++++++++--- .../designer/style/VanChartStylePane.java | 2 +- .../tooltip/VanChartPlotTooltipPane.java | 3 ++ 9 files changed, 101 insertions(+), 7 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartOtherPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartOtherPane.java index 54c010119..4bc363306 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartOtherPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartOtherPane.java @@ -111,7 +111,7 @@ public class ChartOtherPane extends AbstractChartAttrPane { public void populateBean(Chart chart) { interactivePane.populateBean(chart); if (ChartOtherPane.this.isHaveCondition()) { - VanChartRichEditorPane.refreshFieldNames(chart); + VanChartRichEditorPane.refreshCommonChartFieldNames(chart); conditionAttrPane.populateBean(chart); } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomConditionAttrPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomConditionAttrPane.java index da696fcce..0631312c8 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomConditionAttrPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomConditionAttrPane.java @@ -39,7 +39,9 @@ public class VanChartCustomConditionAttrPane extends BasicScrollPane { layoutContentPane(); } if(conditionAttrPane != null) { - conditionAttrPane.populateBean((VanChartCustomPlot)chart.getPlot()); + conditionAttrPane.setChart(chart); + conditionAttrPane.populateBean(chart.getPlot()); + conditionAttrPane.tabChanged(); } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomPlotConditionAttrTabPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomPlotConditionAttrTabPane.java index cc0689d9c..4cb5c652f 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomPlotConditionAttrTabPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/other/VanChartCustomPlotConditionAttrTabPane.java @@ -1,11 +1,13 @@ package com.fr.van.chart.custom.other; +import com.fr.chart.chartattr.Chart; import com.fr.design.dialog.BasicPane; import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.custom.CustomPlotFactory; import com.fr.plugin.chart.custom.VanChartCustomPlot; import com.fr.plugin.chart.custom.type.CustomPlotType; import com.fr.van.chart.custom.component.VanChartCustomPlotTabPane; +import com.fr.van.chart.designer.component.richText.VanChartRichEditorPane; import com.fr.van.chart.designer.other.VanChartConditionAttrPane; import javax.swing.JPanel; @@ -16,10 +18,17 @@ import java.util.List; * Created by Fangjie on 2016/4/28. */ public class VanChartCustomPlotConditionAttrTabPane extends VanChartCustomPlotTabPane { + + private Chart chart; + public VanChartCustomPlotConditionAttrTabPane(VanChartCustomPlot plot, BasicPane parent) { super(plot, parent); } + public void setChart(Chart chart) { + this.chart = chart; + } + @Override protected void initTabTitle() { List customPlotList = plot.getCustomPlotList(); @@ -73,6 +82,18 @@ public class VanChartCustomPlotConditionAttrTabPane extends VanChartCustomPlotTa } } + protected void tabChanged() { + List customPlotList = plot.getCustomPlotList(); + int index = getSelectedIndex(); + + if (customPlotList.size() > index && paneList.size() > index) { + VanChartPlot chartPlot = customPlotList.get(index); + + CustomPlotType plotType = CustomPlotFactory.getCustomType(chartPlot); + VanChartRichEditorPane.refreshCustomChartTableFieldNames(chart, plotType); + } + } + @Override public VanChartCustomPlot updateBean() { return null; diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotLabelTabPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotLabelTabPane.java index 04b94ef5c..ed1dd63ff 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotLabelTabPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotLabelTabPane.java @@ -68,6 +68,21 @@ public class VanChartCustomPlotLabelTabPane extends VanChartCustomPlotTabPane customPlotList = plot.getCustomPlotList(); + int index = getSelectedIndex(); + + if (customPlotList.size() > index && paneList.size() > index) { + VanChartPlot chartPlot = customPlotList.get(index); + VanChartPlotLabelPane labelPane = (VanChartPlotLabelPane)paneList.get(index); + VanChartCustomStylePane stylePane = (VanChartCustomStylePane)labelPane.getParentPane(); + + if (stylePane != null) { + stylePane.refreshTableFieldNames(chartPlot); + } + } + } + @Override public VanChartCustomPlot updateBean() { return null; diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotTooltipTabPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotTooltipTabPane.java index 8595e8451..8cb4f4920 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotTooltipTabPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomPlotTooltipTabPane.java @@ -67,6 +67,21 @@ public class VanChartCustomPlotTooltipTabPane extends VanChartCustomPlotTabPane< } } + protected void tabChanged() { + List customPlotList = plot.getCustomPlotList(); + int index = getSelectedIndex(); + + if (customPlotList.size() > index && paneList.size() > index) { + VanChartPlot chartPlot = customPlotList.get(index); + VanChartPlotTooltipPane tooltipPane = (VanChartPlotTooltipPane)paneList.get(index); + VanChartCustomStylePane stylePane = (VanChartCustomStylePane)tooltipPane.getParentPane(); + + if (stylePane != null) { + stylePane.refreshTableFieldNames(chartPlot); + } + } + } + @Override public VanChartCustomPlot updateBean() { return null; diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomStylePane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomStylePane.java index fcfdc64de..a01cbf1cb 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomStylePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/style/VanChartCustomStylePane.java @@ -5,8 +5,11 @@ import com.fr.design.dialog.BasicPane; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.gui.style.series.ChartSeriesPane; import com.fr.plugin.chart.attr.plot.VanChartAxisPlot; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.custom.CustomPlotFactory; import com.fr.plugin.chart.custom.VanChartCustomPlot; +import com.fr.plugin.chart.custom.type.CustomPlotType; +import com.fr.van.chart.designer.component.richText.VanChartRichEditorPane; import com.fr.van.chart.designer.style.VanChartStylePane; import java.util.List; @@ -68,4 +71,12 @@ public class VanChartCustomStylePane extends VanChartStylePane { CustomPlotFactory.dataSheetSynchronization((VanChartCustomPlot) collection.getSelectedChart().getPlot()); } + public void refreshTableFieldNames(VanChartPlot plot) { + CustomPlotType plotType = CustomPlotFactory.getCustomType(plot); + VanChartRichEditorPane.refreshCustomChartTableFieldNames(getChart(), plotType); + } + + public void refreshTableFieldNames() { + + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java index e1b7a79c4..312c24e84 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java @@ -16,6 +16,8 @@ import com.fr.general.ComparatorUtils; import com.fr.general.IOUtils; import com.fr.log.FineLoggerFactory; import com.fr.plugin.chart.base.AttrTooltipRichText; +import com.fr.plugin.chart.custom.CustomDefinition; +import com.fr.plugin.chart.custom.type.CustomPlotType; import com.fr.plugin.chart.type.TextAlign; import com.fr.stable.StringUtils; import com.fr.van.chart.designer.PlotFactory; @@ -48,21 +50,46 @@ public class VanChartRichEditorPane { return fieldNames; } - public static void refreshFieldNames(Chart chart) { - VanChartRichEditorPane.fieldNames = null; - + // 更新普通图表中指定plot的数据集字段 + public static void refreshCommonChartFieldNames(Chart chart) { if (chart == null) { return; } Plot plot = chart.getPlot(); - if (plot == null || !PlotFactory.plotSupportAddTableField(plot)) { + if (plot == null) { + return; + } + + VanChartRichEditorPane.fieldNames = null; + + if (!PlotFactory.plotSupportAddTableField(plot)) { return; } TopDefinitionProvider definition = chart.getFilterDefinition(); + VanChartRichEditorPane.refreshFieldNames(definition); + } + + // 更新组合图表中指定plot的数据集字段 + public static void refreshCustomChartTableFieldNames(Chart chart, CustomPlotType plotType) { + if (chart == null || plotType == null) { + return; + } + + VanChartRichEditorPane.fieldNames = null; + TopDefinitionProvider filterDefinition = chart.getFilterDefinition(); + + if (filterDefinition instanceof CustomDefinition) { + CustomDefinition customDefinition = (CustomDefinition) filterDefinition; + Map definitionProviderMap = customDefinition.getDefinitionProviderMap(); + VanChartRichEditorPane.refreshFieldNames(definitionProviderMap.get(plotType)); + } + } + // 更新富文本数据集字段 + public static void refreshFieldNames(TopDefinitionProvider definition) { if (definition == null) { return; } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartStylePane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartStylePane.java index bb8df99fd..53619765c 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartStylePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartStylePane.java @@ -78,6 +78,6 @@ public class VanChartStylePane extends ChartStylePane { } public void refreshTableFieldNames() { - VanChartRichEditorPane.refreshFieldNames(getChart()); + VanChartRichEditorPane.refreshCommonChartFieldNames(getChart()); } } \ No newline at end of file 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 aa86fb9a7..5f76337d6 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 @@ -98,6 +98,9 @@ public class VanChartPlotTooltipPane extends BasicPane { return components; } + public VanChartStylePane getParentPane() { + return parent; + } protected void initTooltipContentPane(Plot plot){ tooltipContentPane = PlotFactory.createPlotTooltipContentPane(plot, parent, VanChartPlotTooltipPane.this); From 6793b5bbd683e8e80483846165654d53d37aba88 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Fri, 5 Feb 2021 11:09:02 +0800 Subject: [PATCH 2/3] merge code --- .../java/com/fr/design/chartx/component/MapAreaMatchPane.java | 4 ++-- .../java/com/fr/design/chartx/component/MatchAreaTable.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/MapAreaMatchPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/MapAreaMatchPane.java index df68c4a43..58068d10a 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/MapAreaMatchPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/MapAreaMatchPane.java @@ -6,7 +6,7 @@ import com.fr.data.TableDataSource; import com.fr.data.TableDataSourceTailor; import com.fr.data.impl.EmbeddedTableData; import com.fr.data.impl.NameTableData; -import com.fr.decision.webservice.v10.map.geojson.helper.GEOJSONHelper; +import com.fr.decision.webservice.v10.map.geojson.helper.GEOMatchHelper; import com.fr.design.beans.BasicBeanPane; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.datapane.TableDataComboBox; @@ -246,7 +246,7 @@ public class MapAreaMatchPane extends BasicBeanPane { private void populateMatchData(Object[] columnData) { Set geoAreas = matchAreaTable.getItems(); - Map resultMap = GEOJSONHelper.getInstance().matchAreaList(columnData, geoAreas, matchResultTable.getCustomResult()); + Map resultMap = GEOMatchHelper.getInstance().matchAreaList(columnData, geoAreas, matchResultTable.getCustomResult()); Object[][] data = new Object[resultMap.size()][2]; diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/MatchAreaTable.java b/designer-chart/src/main/java/com/fr/design/chartx/component/MatchAreaTable.java index 4e1297dd3..cde622464 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/MatchAreaTable.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/MatchAreaTable.java @@ -1,6 +1,6 @@ package com.fr.design.chartx.component; -import com.fr.decision.webservice.v10.map.geojson.helper.GEOJSONHelper; +import com.fr.decision.webservice.v10.map.geojson.helper.GEOMatchHelper; import com.fr.design.i18n.Toolkit; import com.fr.general.GeneralUtils; @@ -88,7 +88,7 @@ public class MatchAreaTable extends JTable { return; } int index = areaNameIndex.get(areaName); - String result = GEOJSONHelper.getInstance().matchArea(GeneralUtils.objectToString(areaName), items, new HashMap<>()); + String result = GEOMatchHelper.getInstance().matchArea(GeneralUtils.objectToString(areaName), items, new HashMap<>()); getColumnModel().getColumn(1).getCellEditor().stopCellEditing(); this.setValueAt(result, index, 1); } From 9ae87be65372a77383a0b6ada37701bfbcf15ca0 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Fri, 5 Feb 2021 16:04:14 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=8C=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E7=BC=96=E8=BE=91=E5=99=A8=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/component/richText/VanChartFieldButton.java | 7 +++++-- .../designer/component/richText/VanChartFieldListPane.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldButton.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldButton.java index a9caac791..ba3925501 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldButton.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldButton.java @@ -28,7 +28,7 @@ public class VanChartFieldButton extends JPanel { private static final Icon ADD_ICON = BaseUtils.readIcon("/com/fr/base/images/cell/control/add.png"); private static final int W = 200; - private static final int H = 28; + private static final int H = 24; private final String fieldName; private final String fieldId; @@ -146,6 +146,9 @@ public class VanChartFieldButton extends JPanel { listener.addSelectedField(fieldName, fieldId); } }); + + fieldButton.setBorderPaintedOnlyWhenPressed(true); + addButton.setBorderPaintedOnlyWhenPressed(true); } private JPanel getContentPane() { @@ -160,7 +163,7 @@ public class VanChartFieldButton extends JPanel { double[] rowSize = {p}; double[] columnSize = {e, d}; - JPanel content = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 5, 0); + JPanel content = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 0, 0); content.setPreferredSize(new Dimension(W, H)); return content; diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java index 61d7cfb25..02a62de3b 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java @@ -114,7 +114,7 @@ public class VanChartFieldListPane extends JPanel { addDefaultFieldButton(fieldPane); fieldPane.setPreferredSize(new Dimension(FIELD_ADD_W, getDefaultFieldButtonList().size() * FIELD_ADD_H)); - fieldPane.setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 0)); + fieldPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 0, 0)); return fieldPane; }