From 175d7ef104759d40f3392d6df3a04dab51ae61eb Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 17 Apr 2017 21:26:27 +0800 Subject: [PATCH 01/27] =?UTF-8?q?=E9=9B=B7=E8=BE=BE=E5=9B=BE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=94=A8=E6=88=B7=E8=87=AA=E5=AE=9A=E4=B9=89=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E6=9C=80=E5=B0=8F=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/gui/data/TableDataPane.java | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java index a6bea6b0c..849d3c1c8 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java @@ -1,7 +1,8 @@ package com.fr.design.mainframe.chart.gui.data; import com.fr.base.TableData; -import com.fr.chart.chartattr.*; +import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.Plot; import com.fr.chart.chartdata.TableDataDefinition; import com.fr.chart.chartdata.TopDefinition; import com.fr.data.impl.NameTableData; @@ -11,7 +12,7 @@ import com.fr.design.data.tabledata.wrapper.TableDataWrapper; import com.fr.design.gui.ilable.BoldFontTextLabel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.chart.gui.ChartDataPane; -import com.fr.design.mainframe.chart.gui.data.table.*; +import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; import com.fr.general.Inter; import javax.swing.*; @@ -21,8 +22,16 @@ public class TableDataPane extends FurtherBasicBeanPane{ private static final long serialVersionUID = 4740461028440155147L; private static final int TOP = -5; private DatabaseTableDataPane tableDataPane; - private AbstractTableDataContentPane dataContentPane; - + protected AbstractTableDataContentPane dataContentPane; + + public AbstractTableDataContentPane getDataContentPane() { + return dataContentPane; + } + + public void setDataContentPane(AbstractTableDataContentPane dataContentPane) { + this.dataContentPane = dataContentPane; + } + private ChartDataPane parent; public TableDataPane(ChartDataPane parent) { @@ -120,17 +129,21 @@ public class TableDataPane extends FurtherBasicBeanPane{ return; } TableDataDefinition data = (TableDataDefinition)collection.getSelectedChart().getFilterDefinition(); + populateDSName(data); + if(dataContentPane != null) { + dataContentPane.populateBean(collection); + } + } + protected void populateDSName(TableDataDefinition dataDefinition){ + TableData tableData = null; - if(data != null) { - tableData = data.getTableData(); + if(dataDefinition != null) { + tableData = dataDefinition.getTableData(); } onSelectTableData(); checkBoxUse(); - + tableDataPane.populateBean(tableData); - if(dataContentPane != null) { - dataContentPane.populateBean(collection); - } } /** @@ -141,6 +154,10 @@ public class TableDataPane extends FurtherBasicBeanPane{ dataContentPane.updateBean(collection); } TopDefinition dataDefinition = (TopDefinition)collection.getSelectedChart().getFilterDefinition(); + updateDSName(dataDefinition); + } + + protected void updateDSName(TopDefinition dataDefinition) { if(dataDefinition instanceof TableDataDefinition) { TableDataWrapper tableDataWrapper = tableDataPane.getTableDataWrapper(); if (dataDefinition != null && tableDataWrapper != null){ From c25e38e5f6c9db1260c5fdfe9e40388e8c0a805c Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 17 Apr 2017 21:42:33 +0800 Subject: [PATCH 02/27] =?UTF-8?q?=E9=9B=B7=E8=BE=BE=E5=9B=BE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=94=A8=E6=88=B7=E8=87=AA=E5=AE=9A=E4=B9=89=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E6=9C=80=E5=B0=8F=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/chart/gui/data/TableDataPane.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java index 849d3c1c8..3e1b6e0af 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java @@ -22,16 +22,12 @@ public class TableDataPane extends FurtherBasicBeanPane{ private static final long serialVersionUID = 4740461028440155147L; private static final int TOP = -5; private DatabaseTableDataPane tableDataPane; - protected AbstractTableDataContentPane dataContentPane; + private AbstractTableDataContentPane dataContentPane; - public AbstractTableDataContentPane getDataContentPane() { + protected AbstractTableDataContentPane getDataContentPane() { return dataContentPane; } - public void setDataContentPane(AbstractTableDataContentPane dataContentPane) { - this.dataContentPane = dataContentPane; - } - private ChartDataPane parent; public TableDataPane(ChartDataPane parent) { @@ -112,15 +108,20 @@ public class TableDataPane extends FurtherBasicBeanPane{ * @param collection 图表属性的集合 */ public void refreshContentPane(ChartCollection collection) { + refreshContentPane(getContentPane(collection.getSelectedChart().getPlot())); + } + + protected void refreshContentPane(AbstractTableDataContentPane contentPane) { if(dataContentPane != null) { remove(dataContentPane); } - dataContentPane = getContentPane(collection.getSelectedChart().getPlot()); + dataContentPane = contentPane; if(dataContentPane != null) { add(dataContentPane, BorderLayout.CENTER); } } + /** * 更新界面属性 */ From 62d3287e90e1c9f1495f733e54f9d3301226af74 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Tue, 25 Apr 2017 13:28:14 +0800 Subject: [PATCH 03/27] =?UTF-8?q?=E7=BB=A7=E6=89=BF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractIndependentChartUI4Custom.java | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java new file mode 100644 index 000000000..7e44a6908 --- /dev/null +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -0,0 +1,117 @@ +package com.fr.design.chart.fun.impl; + +import com.fr.chart.chartattr.Plot; +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.chart.fun.IndependentChartUIProvider; +import com.fr.design.chart.series.SeriesCondition.DataSeriesConditionPane; +import com.fr.design.condition.ConditionAttributesPane; +import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.design.mainframe.chart.gui.ChartDataPane; +import com.fr.design.mainframe.chart.gui.ChartStylePane; +import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; +import com.fr.design.mainframe.chart.gui.data.report.PiePlotReportDataContentPane; +import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; +import com.fr.design.mainframe.chart.gui.data.table.PiePlotTableDataContentPane; +import com.fr.design.mainframe.chart.gui.type.AbstractChartTypePane; +import com.fr.general.ComparatorUtils; + +/** + * Created by mengao on 2017/4/24. + * 用户使用第三方图表需要继承的面板抽象类 + */ +public abstract class AbstractIndependentChartUI4Custom implements IndependentChartUIProvider { + + int CURRENT_API_LEVEL = 3; + + + @Override + public AbstractTableDataContentPane getTableDataSourcePane(Plot plot, ChartDataPane parent) { + return new PiePlotTableDataContentPane(parent); + } + + @Override + public AbstractReportDataContentPane getReportDataSourcePane(Plot plot, ChartDataPane parent) { + return new PiePlotReportDataContentPane(parent); + } + + @Override + public ConditionAttributesPane getPlotConditionPane(Plot plot){ + return new DataSeriesConditionPane(); + } + + @Override + public BasicBeanPane getPlotSeriesPane(ChartStylePane parent, Plot plot){ + return getPlotSeriesPane(); + } + +// @Override +// public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener) { +// return null; +// } + +// public abstract BasicBeanPane getChartConfigPane(); + + @Override + public ChartDataPane getChartDataPane(AttributeChangeListener listener) { + return new ChartDataPane(listener); + } + + public BasicBeanPane getPlotSeriesPane(){ + return new BasicBeanPane() { + @Override + public void populateBean(Plot ob) { + + } + + @Override + public Plot updateBean() { + return null; + } + + @Override + protected String title4PopupWindow() { + return null; + } + }; + } + + + @Override + public boolean isUseDefaultPane(){ + return false; + } + + public boolean equals(Object obj) { + return obj != null && ComparatorUtils.equals(obj.getClass(), this.getClass()); + } + + + @Override + public String getIconPath() { + return "com/fr/design/images/form/toolbar/ChartF-Pie.png"; + } + + @Override + + /** + * plot面板的标题 + * 插件兼容 + */ + public String getPlotTypeTitle4PopupWindow(){ + return getPlotTypePane().title4PopupWindow(); + } + @Override + public int currentAPILevel() { + return CURRENT_API_LEVEL; + } +} + /** + * 是否使用默认的界面,为了避免界面来回切换 + * @return 是否使用默认的界面 + */ + + + + + + From 3d78a5a8aa874e7147dd4edd808a0fa94af1bbb6 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Tue, 25 Apr 2017 21:30:08 +0800 Subject: [PATCH 04/27] =?UTF-8?q?=E7=BB=A7=E6=89=BF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractIndependentChartUI4Custom.java | 56 +++++-------------- 1 file changed, 13 insertions(+), 43 deletions(-) diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 7e44a6908..17451bb87 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -23,72 +23,46 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh int CURRENT_API_LEVEL = 3; - @Override public AbstractTableDataContentPane getTableDataSourcePane(Plot plot, ChartDataPane parent) { - return new PiePlotTableDataContentPane(parent); + return null; } @Override public AbstractReportDataContentPane getReportDataSourcePane(Plot plot, ChartDataPane parent) { - return new PiePlotReportDataContentPane(parent); + return null; } - @Override - public ConditionAttributesPane getPlotConditionPane(Plot plot){ - return new DataSeriesConditionPane(); - } - - @Override public BasicBeanPane getPlotSeriesPane(ChartStylePane parent, Plot plot){ return getPlotSeriesPane(); } -// @Override -// public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener) { -// return null; -// } + public BasicBeanPane getPlotSeriesPane(){ + return null; + } + + public boolean equals(Object obj) { + return obj != null && ComparatorUtils.equals(obj.getClass(), this.getClass()); + } -// public abstract BasicBeanPane getChartConfigPane(); + public ConditionAttributesPane getPlotConditionPane(Plot plot){ + return new DataSeriesConditionPane(); + } @Override public ChartDataPane getChartDataPane(AttributeChangeListener listener) { return new ChartDataPane(listener); } - public BasicBeanPane getPlotSeriesPane(){ - return new BasicBeanPane() { - @Override - public void populateBean(Plot ob) { - - } - - @Override - public Plot updateBean() { - return null; - } - - @Override - protected String title4PopupWindow() { - return null; - } - }; - } - - @Override public boolean isUseDefaultPane(){ return false; } - public boolean equals(Object obj) { - return obj != null && ComparatorUtils.equals(obj.getClass(), this.getClass()); - } - @Override public String getIconPath() { - return "com/fr/design/images/form/toolbar/ChartF-Pie.png"; + return "com/fr/solution/plugin/chart/echarts/pie/images/pie.png"; } @Override @@ -105,10 +79,6 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh return CURRENT_API_LEVEL; } } - /** - * 是否使用默认的界面,为了避免界面来回切换 - * @return 是否使用默认的界面 - */ From 065f3d54ed5bcf2fdfa95290e0739fb4344c7e6d Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Thu, 27 Apr 2017 11:56:24 +0800 Subject: [PATCH 05/27] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ChartTypeInterfaceManager.java | 16 ++ .../chart/fun/IndependentChartUIProvider.java | 1 + .../fun/impl/AbstractIndependentChartUI.java | 2 + .../AbstractIndependentChartUI4Custom.java | 16 +- ...bstractIndependentChartUIWithAPILevel.java | 2 + .../mainframe/chart/gui/ChartDataPane.java | 2 +- .../chart/gui/CustomChartDataPane.java | 44 +++++ .../gui/data/CustomChartDataContentsPane.java | 157 ++++++++++++++++++ 8 files changed, 233 insertions(+), 7 deletions(-) create mode 100644 designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java create mode 100644 designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index c67a6aea5..1fd230b50 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -11,6 +11,7 @@ import com.fr.design.chart.fun.IndependentChartUIProvider; import com.fr.design.chart.gui.ChartWidgetOption; import com.fr.design.chartinterface.*; import com.fr.design.condition.ConditionAttributesPane; +import com.fr.design.dialog.BasicPane; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; @@ -409,6 +410,21 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh private AbstractTableDataContentPane getTableDataSourcePane(String priority, Plot plot, ChartDataPane parent) { return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getTableDataSourcePane(plot, parent); } + public BasicPane getChartConfigPane(Plot plot, ChartDataPane parent) { + Iterator iterator = chartTypeInterfaces.entrySet().iterator(); + while (iterator.hasNext()){ + Map.Entry entry = (Map.Entry) iterator.next(); + String priority = (String) entry.getKey(); + if (plotInChart(plot.getPlotID(), priority)) { + return getChartConfigPane(priority, plot, parent); + } + } + return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plot, parent); + } + + private BasicBeanPane getChartConfigPane(String priority, Plot plot, ChartDataPane parent) { + return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getChartConfigPane(plot, parent); + } public AbstractReportDataContentPane getReportDataSourcePane(Plot plot, ChartDataPane parent) { diff --git a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java index 1b90382d6..009da8189 100644 --- a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java +++ b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java @@ -89,5 +89,6 @@ public interface IndependentChartUIProvider extends Level { */ String getPlotTypeTitle4PopupWindow(); + BasicBeanPane getChartConfigPane(Plot plot, ChartDataPane parent); } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java index a44efb38c..bcc892b2f 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java @@ -53,4 +53,6 @@ public abstract class AbstractIndependentChartUI implements IndependentChartUIPr public ConditionAttributesPane getPlotConditionPane(Plot plot){ return new DataSeriesConditionPane(); } + public BasicBeanPane getChartConfigPane(Plot plot, ChartDataPane parent){ return null;} + } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 17451bb87..7cc82a99c 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -6,13 +6,12 @@ import com.fr.design.chart.fun.IndependentChartUIProvider; import com.fr.design.chart.series.SeriesCondition.DataSeriesConditionPane; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.design.mainframe.chart.AbstractChartAttrPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; +import com.fr.design.mainframe.chart.gui.CustomChartDataPane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; -import com.fr.design.mainframe.chart.gui.data.report.PiePlotReportDataContentPane; import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; -import com.fr.design.mainframe.chart.gui.data.table.PiePlotTableDataContentPane; -import com.fr.design.mainframe.chart.gui.type.AbstractChartTypePane; import com.fr.general.ComparatorUtils; /** @@ -23,6 +22,11 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh int CURRENT_API_LEVEL = 3; + @Override + public ChartDataPane getChartDataPane(AttributeChangeListener listener) { + return new CustomChartDataPane(listener); + } + @Override public AbstractTableDataContentPane getTableDataSourcePane(Plot plot, ChartDataPane parent) { return null; @@ -50,8 +54,8 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh } @Override - public ChartDataPane getChartDataPane(AttributeChangeListener listener) { - return new ChartDataPane(listener); + public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener){ + return new AbstractChartAttrPane[]{}; } @Override @@ -62,7 +66,7 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh @Override public String getIconPath() { - return "com/fr/solution/plugin/chart/echarts/pie/images/pie.png"; + return "com/fr/design/images/form/toolbar/ChartF-Column.png"; } @Override diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java index ff0eaa81d..d49d3d465 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java @@ -65,4 +65,6 @@ public abstract class AbstractIndependentChartUIWithAPILevel implements Independ public String getPlotTypeTitle4PopupWindow(){ return getPlotTypePane().title4PopupWindow(); } + + public BasicBeanPane getChartConfigPane(Plot plot, ChartDataPane parent){ return null;} } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDataPane.java index 9e03f4ec0..ccccdc3cc 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDataPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDataPane.java @@ -28,7 +28,7 @@ public class ChartDataPane extends AbstractChartAttrPane { super(); this.listener = listener; } - + @Override protected JPanel createContentPane() { contentsPane = new NormalChartDataPane(listener, ChartDataPane.this); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java new file mode 100644 index 000000000..78dc912ac --- /dev/null +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java @@ -0,0 +1,44 @@ +package com.fr.design.mainframe.chart.gui; + + +import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.Plot; +import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.design.mainframe.chart.gui.data.CustomChartDataContentsPane; + +import javax.swing.*; +import java.awt.*; + + +/** + * Created by mengao on 2017/4/26. + */ +public class CustomChartDataPane extends ChartDataPane { + private boolean supportCellData = true; + + public CustomChartDataPane(AttributeChangeListener listener) { + super(listener); + this.listener = listener; + } + + @Override + protected JPanel createContentPane() { + contentsPane = new CustomChartDataContentsPane(listener, CustomChartDataPane.this); + return contentsPane; + } + + protected void repeatLayout(ChartCollection collection) { + Plot plot =collection.getSelectedChart().getPlot(); + if (contentsPane != null) { + this.remove(contentsPane); + } + + this.setLayout(new BorderLayout(0, 0)); + contentsPane = new CustomChartDataContentsPane(listener, CustomChartDataPane.this ,plot); + + if (contentsPane != null) { + contentsPane.setSupportCellData(supportCellData); + } + } + +} diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java new file mode 100644 index 000000000..d7d253feb --- /dev/null +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java @@ -0,0 +1,157 @@ +package com.fr.design.mainframe.chart.gui.data; + +import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.Plot; +import com.fr.design.ChartTypeInterfaceManager; +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.beans.FurtherBasicBeanPane; +import com.fr.design.constants.LayoutConstants; +import com.fr.design.dialog.BasicScrollPane; +import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.design.gui.frpane.UIComboBoxPane; +import com.fr.design.mainframe.chart.gui.ChartDataPane; + +import javax.swing.*; +import java.awt.*; +import java.util.ArrayList; + +/** + * Created by mengao on 2017/4/26. + */ +public class CustomChartDataContentsPane extends DataContentsPane { + + + public UIComboBoxPane dataPane; + private TableDataPane tableDataPane; + private ReportDataPane reportDataPane; + private BasicBeanPane configPane; + private AttributeChangeListener listener; + private Plot plot; + + private ChartDataPane parent; + + public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent) { + this.listener = listener; + this.parent = parent; + initAll(); + } + + + public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent, boolean supportCellData) { + this.listener = listener; + this.parent = parent; + initAll(); + dataPane.justSupportOneSelect(true); + } + + public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent, Plot plot) { + this.listener = listener; + this.parent = parent; + this.plot= plot; + initAll(); + } + + + public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent, boolean supportCellData, Plot plot) { + this.listener = listener; + this.parent = parent; + this.plot= plot; + initAll(); + dataPane.justSupportOneSelect(true); + } + + public UIComboBoxPane getDataPane() { + return dataPane; + } + + @Override + protected JPanel createContentPane() { + return new BasicScrollPane() { + + @Override + protected JPanel createContentPane() { + JPanel contentPane = new JPanel(new BorderLayout()); + dataPane = new UIComboBoxPane() { + protected void initLayout() { + this.setLayout(new BorderLayout(LayoutConstants.HGAP_LARGE, 6)); + JPanel northPane = new JPanel(new BorderLayout(LayoutConstants.HGAP_LARGE, 0)); + JButton jButton = new JButton(); + if(plot!=null){ + configPane = (BasicBeanPane)ChartTypeInterfaceManager.getInstance().getChartConfigPane(plot, parent); + northPane.add(configPane, BorderLayout.CENTER); + }else { + northPane.add(jButton, BorderLayout.CENTER); + + } + this.add(northPane, BorderLayout.NORTH); + + } + + @Override + protected String title4PopupWindow() { + return null; + } + + @Override + protected java.util.List> initPaneList() { + tableDataPane = getTableDataPane(parent); + reportDataPane = getReportDataPane(parent); + java.util.List> paneList = new ArrayList>(); + paneList.add(tableDataPane); + paneList.add(reportDataPane); + return paneList; + } + }; + contentPane.add(dataPane, BorderLayout.CENTER); + dataPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + return contentPane; + } + + @Override + protected String title4PopupWindow() { + return ""; + } + + @Override + public void populateBean(ChartCollection ob) { + + } + }; + + } + + protected ReportDataPane getReportDataPane(ChartDataPane parent) { + return new ReportDataPane(parent); + } + + protected TableDataPane getTableDataPane(ChartDataPane chartDataPane) { + return new TableDataPane(chartDataPane); + } + + /** + * 更新界面 数据内容 + */ + public void populate(ChartCollection collection) { + Plot plot = collection.getSelectedChart().getPlot(); + dataPane.populateBean(collection); + configPane.populateBean(plot); + } + + /** + * 保存 数据界面内容 + */ + public void update(ChartCollection collection) { + Plot plot = collection.getSelectedChart().getPlot(); + configPane.updateBean(plot); + dataPane.updateBean(collection); + configPane.updateBean(); + } + + /** + * 是否支持单元格数据 + */ + public void setSupportCellData(boolean supportCellData) { + dataPane.justSupportOneSelect(supportCellData); + } + +} From e1ecd551b548adc0735a446850ee4f8970490945 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Fri, 28 Apr 2017 15:29:16 +0800 Subject: [PATCH 06/27] =?UTF-8?q?=E7=BB=A7=E6=89=BF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ChartTypeInterfaceManager.java | 13 +- .../chart/fun/IndependentChartUIProvider.java | 3 +- .../fun/impl/AbstractIndependentChartUI.java | 3 +- .../AbstractIndependentChartUI4Custom.java | 9 +- ...bstractIndependentChartUIWithAPILevel.java | 3 +- .../mainframe/MiddleChartPropertyPane.java | 20 ++- .../chart/gui/CustomChartDataPane.java | 44 ----- .../gui/data/CustomChartDataContentsPane.java | 157 ------------------ 8 files changed, 38 insertions(+), 214 deletions(-) delete mode 100644 designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java delete mode 100644 designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index 1fd230b50..58920a4aa 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -15,6 +15,7 @@ import com.fr.design.dialog.BasicPane; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; +import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; @@ -410,20 +411,20 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh private AbstractTableDataContentPane getTableDataSourcePane(String priority, Plot plot, ChartDataPane parent) { return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getTableDataSourcePane(plot, parent); } - public BasicPane getChartConfigPane(Plot plot, ChartDataPane parent) { + public BasicBeanPane getChartConfigPane(String plotID) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry entry = (Map.Entry) iterator.next(); String priority = (String) entry.getKey(); - if (plotInChart(plot.getPlotID(), priority)) { - return getChartConfigPane(priority, plot, parent); + if (plotInChart(plotID, priority)) { + return getChartConfigPane(priority, plotID); } } - return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plot, parent); + return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plotID); } - private BasicBeanPane getChartConfigPane(String priority, Plot plot, ChartDataPane parent) { - return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getChartConfigPane(plot, parent); + private BasicBeanPane getChartConfigPane(String priority, String plotID) { + return chartTypeInterfaces.get(priority).get(plotID).getChartConfigPane(plotID); } diff --git a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java index 009da8189..a0a1595fc 100644 --- a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java +++ b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java @@ -5,6 +5,7 @@ import com.fr.design.beans.BasicBeanPane; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; +import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; @@ -89,6 +90,6 @@ public interface IndependentChartUIProvider extends Level { */ String getPlotTypeTitle4PopupWindow(); - BasicBeanPane getChartConfigPane(Plot plot, ChartDataPane parent); + BasicBeanPane getChartConfigPane(String plotID); } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java index bcc892b2f..e6b429417 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java @@ -7,6 +7,7 @@ import com.fr.design.chart.series.SeriesCondition.DataSeriesConditionPane; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; +import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.general.ComparatorUtils; @@ -53,6 +54,6 @@ public abstract class AbstractIndependentChartUI implements IndependentChartUIPr public ConditionAttributesPane getPlotConditionPane(Plot plot){ return new DataSeriesConditionPane(); } - public BasicBeanPane getChartConfigPane(Plot plot, ChartDataPane parent){ return null;} + public BasicBeanPane getChartConfigPane(String plotID){ return null;} } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 7cc82a99c..fdc7ac64d 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -9,9 +9,10 @@ import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; -import com.fr.design.mainframe.chart.gui.CustomChartDataPane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; +import com.fr.design.mainframe.chart.gui.type.AbstractChartTypePane; +import com.fr.design.mainframe.chart.gui.type.PiePlotPane; import com.fr.general.ComparatorUtils; /** @@ -21,10 +22,14 @@ import com.fr.general.ComparatorUtils; public abstract class AbstractIndependentChartUI4Custom implements IndependentChartUIProvider { int CURRENT_API_LEVEL = 3; + @Override + public AbstractChartTypePane getPlotTypePane() { + return new PiePlotPane(); + } @Override public ChartDataPane getChartDataPane(AttributeChangeListener listener) { - return new CustomChartDataPane(listener); + return new ChartDataPane(listener); } @Override diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java index d49d3d465..c847859ad 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java @@ -7,6 +7,7 @@ import com.fr.design.chart.series.SeriesCondition.DataSeriesConditionPane; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; +import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.general.ComparatorUtils; @@ -66,5 +67,5 @@ public abstract class AbstractIndependentChartUIWithAPILevel implements Independ return getPlotTypePane().title4PopupWindow(); } - public BasicBeanPane getChartConfigPane(Plot plot, ChartDataPane parent){ return null;} + public BasicBeanPane getChartConfigPane(String plotID){ return null;} } diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index 0b86c5a12..49eaab0cc 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -11,7 +11,9 @@ import javax.swing.JComponent; import com.fr.base.BaseUtils; import com.fr.base.chart.BaseChartCollection; import com.fr.chart.chartattr.ChartCollection; +import com.fr.design.ChartTypeInterfaceManager; import com.fr.design.designer.TargetComponent; +import com.fr.design.dialog.BasicPane; import com.fr.design.gui.chart.BaseChartPropertyPane; import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.UITitlePanel; @@ -27,6 +29,9 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected UILabel nameLabel; protected ChartEditPane chartEditPane; + protected ChartCollection chartCollection; + protected String plotID; + protected BasicPane chartPane; public MiddleChartPropertyPane() { initComponenet(); @@ -38,7 +43,6 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ createNameLabel(); this.add(createNorthComponent(), BorderLayout.NORTH); - chartEditPane = StableUtils.construct(ChartEditPane.class); chartEditPane.setSupportCellData(true); this.createMainPane(); @@ -66,7 +70,16 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected void resetChartEditPane() { remove(chartEditPane); - add(chartEditPane, BorderLayout.CENTER); + if (plotID != null) { + chartPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); + if (chartPane != null) { + add(chartPane, BorderLayout.CENTER); + } + } + if (chartPane == null) { + chartEditPane = StableUtils.construct(ChartEditPane.class); + add(chartEditPane, BorderLayout.CENTER); + } validate(); repaint(); revalidate(); @@ -97,6 +110,9 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ */ public void populateChartPropertyPane(BaseChartCollection collection, TargetComponent ePane) { if (collection instanceof ChartCollection) { + chartCollection = (ChartCollection) collection; + plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); + resetChartEditPane(); populateChartPropertyPane((ChartCollection)collection, ePane); } } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java deleted file mode 100644 index 78dc912ac..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/CustomChartDataPane.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.fr.design.mainframe.chart.gui; - - -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.Plot; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.mainframe.chart.gui.data.CustomChartDataContentsPane; - -import javax.swing.*; -import java.awt.*; - - -/** - * Created by mengao on 2017/4/26. - */ -public class CustomChartDataPane extends ChartDataPane { - private boolean supportCellData = true; - - public CustomChartDataPane(AttributeChangeListener listener) { - super(listener); - this.listener = listener; - } - - @Override - protected JPanel createContentPane() { - contentsPane = new CustomChartDataContentsPane(listener, CustomChartDataPane.this); - return contentsPane; - } - - protected void repeatLayout(ChartCollection collection) { - Plot plot =collection.getSelectedChart().getPlot(); - if (contentsPane != null) { - this.remove(contentsPane); - } - - this.setLayout(new BorderLayout(0, 0)); - contentsPane = new CustomChartDataContentsPane(listener, CustomChartDataPane.this ,plot); - - if (contentsPane != null) { - contentsPane.setSupportCellData(supportCellData); - } - } - -} diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java deleted file mode 100644 index d7d253feb..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/CustomChartDataContentsPane.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.fr.design.mainframe.chart.gui.data; - -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.Plot; -import com.fr.design.ChartTypeInterfaceManager; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.dialog.BasicScrollPane; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.frpane.UIComboBoxPane; -import com.fr.design.mainframe.chart.gui.ChartDataPane; - -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; - -/** - * Created by mengao on 2017/4/26. - */ -public class CustomChartDataContentsPane extends DataContentsPane { - - - public UIComboBoxPane dataPane; - private TableDataPane tableDataPane; - private ReportDataPane reportDataPane; - private BasicBeanPane configPane; - private AttributeChangeListener listener; - private Plot plot; - - private ChartDataPane parent; - - public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent) { - this.listener = listener; - this.parent = parent; - initAll(); - } - - - public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent, boolean supportCellData) { - this.listener = listener; - this.parent = parent; - initAll(); - dataPane.justSupportOneSelect(true); - } - - public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent, Plot plot) { - this.listener = listener; - this.parent = parent; - this.plot= plot; - initAll(); - } - - - public CustomChartDataContentsPane(AttributeChangeListener listener, ChartDataPane parent, boolean supportCellData, Plot plot) { - this.listener = listener; - this.parent = parent; - this.plot= plot; - initAll(); - dataPane.justSupportOneSelect(true); - } - - public UIComboBoxPane getDataPane() { - return dataPane; - } - - @Override - protected JPanel createContentPane() { - return new BasicScrollPane() { - - @Override - protected JPanel createContentPane() { - JPanel contentPane = new JPanel(new BorderLayout()); - dataPane = new UIComboBoxPane() { - protected void initLayout() { - this.setLayout(new BorderLayout(LayoutConstants.HGAP_LARGE, 6)); - JPanel northPane = new JPanel(new BorderLayout(LayoutConstants.HGAP_LARGE, 0)); - JButton jButton = new JButton(); - if(plot!=null){ - configPane = (BasicBeanPane)ChartTypeInterfaceManager.getInstance().getChartConfigPane(plot, parent); - northPane.add(configPane, BorderLayout.CENTER); - }else { - northPane.add(jButton, BorderLayout.CENTER); - - } - this.add(northPane, BorderLayout.NORTH); - - } - - @Override - protected String title4PopupWindow() { - return null; - } - - @Override - protected java.util.List> initPaneList() { - tableDataPane = getTableDataPane(parent); - reportDataPane = getReportDataPane(parent); - java.util.List> paneList = new ArrayList>(); - paneList.add(tableDataPane); - paneList.add(reportDataPane); - return paneList; - } - }; - contentPane.add(dataPane, BorderLayout.CENTER); - dataPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); - return contentPane; - } - - @Override - protected String title4PopupWindow() { - return ""; - } - - @Override - public void populateBean(ChartCollection ob) { - - } - }; - - } - - protected ReportDataPane getReportDataPane(ChartDataPane parent) { - return new ReportDataPane(parent); - } - - protected TableDataPane getTableDataPane(ChartDataPane chartDataPane) { - return new TableDataPane(chartDataPane); - } - - /** - * 更新界面 数据内容 - */ - public void populate(ChartCollection collection) { - Plot plot = collection.getSelectedChart().getPlot(); - dataPane.populateBean(collection); - configPane.populateBean(plot); - } - - /** - * 保存 数据界面内容 - */ - public void update(ChartCollection collection) { - Plot plot = collection.getSelectedChart().getPlot(); - configPane.updateBean(plot); - dataPane.updateBean(collection); - configPane.updateBean(); - } - - /** - * 是否支持单元格数据 - */ - public void setSupportCellData(boolean supportCellData) { - dataPane.justSupportOneSelect(supportCellData); - } - -} From e23337267824e60466fd7e59c4f55ba8c44feb24 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Tue, 2 May 2017 16:21:21 +0800 Subject: [PATCH 07/27] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=B8=8Emaster?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/gui/data/TableDataPane.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java index 3e1b6e0af..fb80ac54f 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java @@ -24,20 +24,20 @@ public class TableDataPane extends FurtherBasicBeanPane{ private DatabaseTableDataPane tableDataPane; private AbstractTableDataContentPane dataContentPane; + private ChartDataPane parent; + protected AbstractTableDataContentPane getDataContentPane() { return dataContentPane; } - private ChartDataPane parent; - public TableDataPane(ChartDataPane parent) { this.parent = parent; initDataPane(); } - + private void initDataPane() { - UILabel label = new BoldFontTextLabel(Inter.getLocText("Chart-DS_TableData") + ":", SwingConstants.RIGHT) ; - label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH,ChartDataPane.LABEL_HEIGHT)); + UILabel label = new BoldFontTextLabel(Inter.getLocText("Chart-DS_TableData") + ":", SwingConstants.RIGHT) ; + label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH,ChartDataPane.LABEL_HEIGHT)); tableDataPane = new DatabaseTableDataPane(label) { @Override protected void userEvent() { @@ -47,18 +47,18 @@ public class TableDataPane extends FurtherBasicBeanPane{ }; tableDataPane.setBorder(BorderFactory.createMatteBorder(0,6,0, 0, getBackground())); - tableDataPane.setBorder(BorderFactory.createEmptyBorder(0,1,0,1)); + tableDataPane.setBorder(BorderFactory.createEmptyBorder(0,1,0,1)); tableDataPane.setPreferredSize(new Dimension(205 , 20)); - this.setBorder(BorderFactory.createEmptyBorder(TOP,0,0,0)); + this.setBorder(BorderFactory.createEmptyBorder(TOP,0,0,0)); this.add(tableDataPane, BorderLayout.NORTH); } - + /** * 检查box是否可用. */ public void checkBoxUse() { TableDataWrapper dataWrap = tableDataPane.getTableDataWrapper(); - + if(dataContentPane != null) { dataContentPane.checkBoxUse(dataWrap != null); } @@ -120,10 +120,8 @@ public class TableDataPane extends FurtherBasicBeanPane{ add(dataContentPane, BorderLayout.CENTER); } } - - /** - * 更新界面属性 + * 更新界面属性 */ public void populateBean(ChartCollection collection) { if(collection == null) { From 14a57b92e65ca80ff4388ca06552c962f45e283d Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Wed, 3 May 2017 15:00:15 +0800 Subject: [PATCH 08/27] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/quickeditor/ChartQuickEditor.java | 5 +- .../fr/design/module/DesignModuleFactory.java | 2 +- .../fr/design/ChartTypeInterfaceManager.java | 12 +- .../chart/fun/IndependentChartUIProvider.java | 2 +- .../fun/impl/AbstractIndependentChartUI.java | 3 +- ...bstractIndependentChartUIWithAPILevel.java | 3 +- .../mainframe/MiddleChartPropertyPane.java | 36 ++-- .../design/mainframe/chart/ChartEditPane.java | 4 +- .../mainframe/chart/CustomChartEditPane.java | 173 ++++++++++++++++++ 9 files changed, 204 insertions(+), 36 deletions(-) create mode 100644 designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java diff --git a/designer/src/com/fr/quickeditor/ChartQuickEditor.java b/designer/src/com/fr/quickeditor/ChartQuickEditor.java index f0f68a9a7..c6f0c37a7 100644 --- a/designer/src/com/fr/quickeditor/ChartQuickEditor.java +++ b/designer/src/com/fr/quickeditor/ChartQuickEditor.java @@ -1,17 +1,18 @@ package com.fr.quickeditor; import com.fr.base.chart.BaseChartCollection; +import com.fr.chart.chartattr.ChartCollection; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.chart.BaseChartPropertyPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.module.DesignModuleFactory; +import com.fr.design.selection.QuickEditor; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.poly.PolyDesigner; import com.fr.poly.creator.ChartBlockEditor; import com.fr.report.cell.Elem; -import com.fr.design.selection.QuickEditor; import java.awt.*; @@ -45,7 +46,7 @@ public class ChartQuickEditor extends QuickEditor{ element = ((ElementCasePane)tc).getEditingElementCase().getFloatElement(fs.getSelectedFloatName()); } collection = (BaseChartCollection) element.getValue(); - + DesignModuleFactory.setChartCollection((ChartCollection) collection); add(editingPropertyPane = DesignModuleFactory.getChartPropertyPane(), BorderLayout.CENTER); editingPropertyPane.setSupportCellData(true); } diff --git a/designer_base/src/com/fr/design/module/DesignModuleFactory.java b/designer_base/src/com/fr/design/module/DesignModuleFactory.java index 77233e4db..960236e48 100644 --- a/designer_base/src/com/fr/design/module/DesignModuleFactory.java +++ b/designer_base/src/com/fr/design/module/DesignModuleFactory.java @@ -1 +1 @@ -package com.fr.design.module; import com.fr.base.FRContext; import com.fr.base.chart.BaseChartCollection; import com.fr.design.gui.chart.BaseChartPropertyPane; import com.fr.design.gui.chart.MiddleChartComponent; import com.fr.design.gui.chart.MiddleChartDialog; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.BaseHyperlinkGroup; import com.fr.design.gui.frpane.HyperlinkGroupType; import com.fr.design.mainframe.BaseFormDesigner; import com.fr.design.mainframe.BaseWidgetPropertyPane; import com.fr.design.parameter.HierarchyTreePane; import com.fr.design.parameter.ParameterDesignerProvider; import com.fr.design.parameter.ParameterReader; import com.fr.form.ui.Widget; import com.fr.stable.StableUtils; import java.awt.*; import java.lang.reflect.Constructor; import java.util.ArrayList; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 7.0.3 * Date: 13-7-8 * Time: 下午1:57 */ public class DesignModuleFactory { private static DesignModuleFactory instance = new DesignModuleFactory(); private DesignModuleFactory() { } private HyperlinkGroupType hyperlinkGroupType = new BaseHyperlinkGroup(); private NameableCreator[] creators4Hyperlink; private WidgetOption[] extraOptions; private Class chartEditorClass; private Class chartComponentClass; private Class chartDialogClass; private Class chartPropertyPaneClass; private Class newFormAction; private Class formParaDesigner; private Class paraPropertyPane; private Class formHierarchyPaneCls; private Class widgetPropertyPane; private Class buttonDetailPaneClass; private java.util.List parameterReaderList; public static void registerHyperlinkGroupType(HyperlinkGroupType hyperlinkGroupType) { instance.hyperlinkGroupType = hyperlinkGroupType; } public static HyperlinkGroupType getHyperlinkGroupType() { return instance.hyperlinkGroupType; } public static void registerCreators4Hyperlink(NameableCreator[] nameableCreators) { instance.creators4Hyperlink = nameableCreators; } public static NameableCreator[] getCreators4Hyperlink() { return instance.creators4Hyperlink; } public static void registerExtraWidgetOptions(WidgetOption[] options) { instance.extraOptions = options; } public static WidgetOption[] getExtraWidgetOptions() { if (instance.extraOptions == null) { instance.extraOptions = new WidgetOption[0]; } return instance.extraOptions; } public static void registerChartEditorClass(Class cls) { instance.chartEditorClass = cls; } public static Class getChartEditorClass() { return instance.chartEditorClass; } public static void registerChartComponentClass(Class bcc) { instance.chartComponentClass = bcc; } public static void registerChartDialogClass(Class cd) { instance.chartDialogClass = cd; } public static void registerChartPropertyPaneClass(Class p) { instance.chartPropertyPaneClass = p; } public static void registerNewFormActionClass(Class f) { instance.newFormAction = f; } public static Class getNewFormAction() { return instance.newFormAction; } public static void registerParaPropertyPaneClass(Class p) { instance.paraPropertyPane = p; } /** * 获取参数属性界面 * * @return 参数属性界面. */ public static Object getParaPropertyPane() { if (instance.paraPropertyPane != null) { try { return instance.paraPropertyPane.newInstance(); } catch (Exception e) { FRContext.getLogger().error("Error in Para PropertyPane"); } } return null; } public static void registerFormParaDesignerClass(Class f) { instance.formParaDesigner = f; } public static ParameterDesignerProvider getFormParaDesigner() { if (instance.formParaDesigner != null) { try { return (ParameterDesignerProvider) instance.formParaDesigner.newInstance(); } catch (Exception e) { FRContext.getLogger().error("error in form para designer"); } } return null; } public static void registerFormHierarchyPaneClass(Class fClass) { instance.formHierarchyPaneCls = fClass; } public static HierarchyTreePane getFormHierarchyPane() { return StableUtils.getInstance(instance.formHierarchyPaneCls); } public static void registerWidgetPropertyPaneClass(Class wp) { instance.widgetPropertyPane = wp; } public static BaseWidgetPropertyPane getWidgetPropertyPane(BaseFormDesigner fd) { BaseWidgetPropertyPane wp = null; if (instance.widgetPropertyPane != null) { wp = StableUtils.getInstance(instance.widgetPropertyPane); wp.setEditingFormDesigner(fd); wp.refreshDockingView(); } return wp; } public static MiddleChartComponent getChartComponent(BaseChartCollection collection) { MiddleChartComponent bcc = null; if (instance.chartComponentClass != null) { try { bcc = instance.chartComponentClass.newInstance(); bcc.populate(collection); } catch (InstantiationException e) { FRContext.getLogger().error("Error in ChartComponent instant", e); } catch (IllegalAccessException e) { FRContext.getLogger().error("Error in Access", e); } } return bcc; } /** * kunsnat: 初始化图表向导对话框, 调用静态方法showWindow, 参数window. * * @return 返回调出的ChartDailog */ public static MiddleChartDialog getChartDialog(Window window) { try { Constructor c; if (window instanceof Frame) { c = instance.chartDialogClass.getConstructor(Frame.class); } else { c = instance.chartDialogClass.getConstructor(Dialog.class); } return c.newInstance(window); } catch (Exception e) { FRContext.getLogger().error(e.getMessage(), e); } return null; } /** * kunsnat: 获取图表属性界面 * * @return 返回界面. */ public static BaseChartPropertyPane getChartPropertyPane() { BaseChartPropertyPane bp = null; if (instance.chartPropertyPaneClass != null) { bp = StableUtils.getInstance(instance.chartPropertyPaneClass); } return bp; } public static void clearChartPropertyPane() { if (instance.chartPropertyPaneClass != null) { StableUtils.clearInstance(instance.chartPropertyPaneClass); } } public static void registerButtonDetailPaneClass(Class clazz) { instance.buttonDetailPaneClass = clazz; } public static Class getButtonDetailPaneClass() { return instance.buttonDetailPaneClass; } public static void registerParameterReader(ParameterReader reader) { if (instance.parameterReaderList == null) { instance.parameterReaderList = new ArrayList(); } instance.parameterReaderList.add(reader); } public static ParameterReader[] getParameterReaders() { if (instance.parameterReaderList == null) { return new ParameterReader[0]; } return instance.parameterReaderList.toArray(new ParameterReader[instance.parameterReaderList.size()]); } } \ No newline at end of file +package com.fr.design.module; import com.fr.base.FRContext; import com.fr.base.chart.BaseChartCollection; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.gui.chart.BaseChartPropertyPane; import com.fr.design.gui.chart.MiddleChartComponent; import com.fr.design.gui.chart.MiddleChartDialog; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.BaseHyperlinkGroup; import com.fr.design.gui.frpane.HyperlinkGroupType; import com.fr.design.mainframe.BaseFormDesigner; import com.fr.design.mainframe.BaseWidgetPropertyPane; import com.fr.design.parameter.HierarchyTreePane; import com.fr.design.parameter.ParameterDesignerProvider; import com.fr.design.parameter.ParameterReader; import com.fr.form.ui.Widget; import com.fr.stable.StableUtils; import java.awt.*; import java.lang.reflect.Constructor; import java.util.ArrayList; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 7.0.3 * Date: 13-7-8 * Time: 下午1:57 */ public class DesignModuleFactory { private static DesignModuleFactory instance = new DesignModuleFactory(); private static ChartCollection chartCollection; public static ChartCollection getChartCollection() { return chartCollection; } public static void setChartCollection(ChartCollection chartCollection) { DesignModuleFactory.chartCollection = chartCollection; } private DesignModuleFactory() { } private HyperlinkGroupType hyperlinkGroupType = new BaseHyperlinkGroup(); private NameableCreator[] creators4Hyperlink; private WidgetOption[] extraOptions; private Class chartEditorClass; private Class chartComponentClass; private Class chartDialogClass; private Class chartPropertyPaneClass; private Class newFormAction; private Class formParaDesigner; private Class paraPropertyPane; private Class formHierarchyPaneCls; private Class widgetPropertyPane; private Class buttonDetailPaneClass; private java.util.List parameterReaderList; public static void registerHyperlinkGroupType(HyperlinkGroupType hyperlinkGroupType) { instance.hyperlinkGroupType = hyperlinkGroupType; } public static HyperlinkGroupType getHyperlinkGroupType() { return instance.hyperlinkGroupType; } public static void registerCreators4Hyperlink(NameableCreator[] nameableCreators) { instance.creators4Hyperlink = nameableCreators; } public static NameableCreator[] getCreators4Hyperlink() { return instance.creators4Hyperlink; } public static void registerExtraWidgetOptions(WidgetOption[] options) { instance.extraOptions = options; } public static WidgetOption[] getExtraWidgetOptions() { if (instance.extraOptions == null) { instance.extraOptions = new WidgetOption[0]; } return instance.extraOptions; } public static void registerChartEditorClass(Class cls) { instance.chartEditorClass = cls; } public static Class getChartEditorClass() { return instance.chartEditorClass; } public static void registerChartComponentClass(Class bcc) { instance.chartComponentClass = bcc; } public static void registerChartDialogClass(Class cd) { instance.chartDialogClass = cd; } public static void registerChartPropertyPaneClass(Class p) { instance.chartPropertyPaneClass = p; } public static void registerNewFormActionClass(Class f) { instance.newFormAction = f; } public static Class getNewFormAction() { return instance.newFormAction; } public static void registerParaPropertyPaneClass(Class p) { instance.paraPropertyPane = p; } /** * 获取参数属性界面 * * @return 参数属性界面. */ public static Object getParaPropertyPane() { if (instance.paraPropertyPane != null) { try { return instance.paraPropertyPane.newInstance(); } catch (Exception e) { FRContext.getLogger().error("Error in Para PropertyPane"); } } return null; } public static void registerFormParaDesignerClass(Class f) { instance.formParaDesigner = f; } public static ParameterDesignerProvider getFormParaDesigner() { if (instance.formParaDesigner != null) { try { return (ParameterDesignerProvider) instance.formParaDesigner.newInstance(); } catch (Exception e) { FRContext.getLogger().error("error in form para designer"); } } return null; } public static void registerFormHierarchyPaneClass(Class fClass) { instance.formHierarchyPaneCls = fClass; } public static HierarchyTreePane getFormHierarchyPane() { return StableUtils.getInstance(instance.formHierarchyPaneCls); } public static void registerWidgetPropertyPaneClass(Class wp) { instance.widgetPropertyPane = wp; } public static BaseWidgetPropertyPane getWidgetPropertyPane(BaseFormDesigner fd) { BaseWidgetPropertyPane wp = null; if (instance.widgetPropertyPane != null) { wp = StableUtils.getInstance(instance.widgetPropertyPane); wp.setEditingFormDesigner(fd); wp.refreshDockingView(); } return wp; } public static MiddleChartComponent getChartComponent(BaseChartCollection collection) { MiddleChartComponent bcc = null; if (instance.chartComponentClass != null) { try { bcc = instance.chartComponentClass.newInstance(); bcc.populate(collection); } catch (InstantiationException e) { FRContext.getLogger().error("Error in ChartComponent instant", e); } catch (IllegalAccessException e) { FRContext.getLogger().error("Error in Access", e); } } return bcc; } /** * kunsnat: 初始化图表向导对话框, 调用静态方法showWindow, 参数window. * * @return 返回调出的ChartDailog */ public static MiddleChartDialog getChartDialog(Window window) { try { Constructor c; if (window instanceof Frame) { c = instance.chartDialogClass.getConstructor(Frame.class); } else { c = instance.chartDialogClass.getConstructor(Dialog.class); } return c.newInstance(window); } catch (Exception e) { FRContext.getLogger().error(e.getMessage(), e); } return null; } /** * kunsnat: 获取图表属性界面 * * @return 返回界面. */ public static BaseChartPropertyPane getChartPropertyPane() { BaseChartPropertyPane bp = null; if (instance.chartPropertyPaneClass != null) { bp = StableUtils.getInstance(instance.chartPropertyPaneClass); } return bp; } public static void clearChartPropertyPane() { if (instance.chartPropertyPaneClass != null) { StableUtils.clearInstance(instance.chartPropertyPaneClass); } } public static void registerButtonDetailPaneClass(Class clazz) { instance.buttonDetailPaneClass = clazz; } public static Class getButtonDetailPaneClass() { return instance.buttonDetailPaneClass; } public static void registerParameterReader(ParameterReader reader) { if (instance.parameterReaderList == null) { instance.parameterReaderList = new ArrayList(); } instance.parameterReaderList.add(reader); } public static ParameterReader[] getParameterReaders() { if (instance.parameterReaderList == null) { return new ParameterReader[0]; } return instance.parameterReaderList.toArray(new ParameterReader[instance.parameterReaderList.size()]); } } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index 58920a4aa..142ee19a0 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -11,7 +11,7 @@ import com.fr.design.chart.fun.IndependentChartUIProvider; import com.fr.design.chart.gui.ChartWidgetOption; import com.fr.design.chartinterface.*; import com.fr.design.condition.ConditionAttributesPane; -import com.fr.design.dialog.BasicPane; +import com.fr.design.extra.ChartTypeInterfaceCloseableHandler; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; @@ -23,11 +23,13 @@ import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane import com.fr.design.module.DesignModuleFactory; import com.fr.file.XMLFileManager; import com.fr.form.ui.ChartEditor; -import com.fr.general.*; +import com.fr.general.FRLogger; +import com.fr.general.GeneralContext; +import com.fr.general.IOUtils; +import com.fr.general.Inter; import com.fr.plugin.PluginCollector; import com.fr.plugin.PluginLicenseManager; import com.fr.plugin.PluginMessage; -import com.fr.design.extra.ChartTypeInterfaceCloseableHandler; import com.fr.plugin.proxy.PluginInstanceProxyFactory; import com.fr.plugin.proxy.PluginInvocationHandler; import com.fr.stable.ArrayUtils; @@ -411,7 +413,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh private AbstractTableDataContentPane getTableDataSourcePane(String priority, Plot plot, ChartDataPane parent) { return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getTableDataSourcePane(plot, parent); } - public BasicBeanPane getChartConfigPane(String plotID) { + public ChartEditPane getChartConfigPane(String plotID) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry entry = (Map.Entry) iterator.next(); @@ -423,7 +425,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plotID); } - private BasicBeanPane getChartConfigPane(String priority, String plotID) { + private ChartEditPane getChartConfigPane(String priority, String plotID) { return chartTypeInterfaces.get(priority).get(plotID).getChartConfigPane(plotID); } diff --git a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java index a0a1595fc..fa581301e 100644 --- a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java +++ b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java @@ -90,6 +90,6 @@ public interface IndependentChartUIProvider extends Level { */ String getPlotTypeTitle4PopupWindow(); - BasicBeanPane getChartConfigPane(String plotID); + ChartEditPane getChartConfigPane(String plotID); } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java index e6b429417..eef4ef4a7 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java @@ -11,6 +11,7 @@ import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.general.ComparatorUtils; +import com.fr.stable.StableUtils; /** @@ -54,6 +55,6 @@ public abstract class AbstractIndependentChartUI implements IndependentChartUIPr public ConditionAttributesPane getPlotConditionPane(Plot plot){ return new DataSeriesConditionPane(); } - public BasicBeanPane getChartConfigPane(String plotID){ return null;} + public ChartEditPane getChartConfigPane(String plotID){ return StableUtils.construct(ChartEditPane.class);} } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java index c847859ad..001c510dc 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java @@ -11,6 +11,7 @@ import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.general.ComparatorUtils; +import com.fr.stable.StableUtils; /** * Created by Mitisky on 16/3/7. @@ -67,5 +68,5 @@ public abstract class AbstractIndependentChartUIWithAPILevel implements Independ return getPlotTypePane().title4PopupWindow(); } - public BasicBeanPane getChartConfigPane(String plotID){ return null;} + public ChartEditPane getChartConfigPane(String plotID){ return StableUtils.construct(ChartEditPane.class);} } diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index 49eaab0cc..4a59585fa 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -3,25 +3,22 @@ */ package com.fr.design.mainframe; -import java.awt.BorderLayout; - -import javax.swing.Icon; -import javax.swing.JComponent; - import com.fr.base.BaseUtils; import com.fr.base.chart.BaseChartCollection; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.ChartTypeInterfaceManager; import com.fr.design.designer.TargetComponent; -import com.fr.design.dialog.BasicPane; import com.fr.design.gui.chart.BaseChartPropertyPane; import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.UITitlePanel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itabpane.TitleChangeListener; import com.fr.design.mainframe.chart.ChartEditPane; +import com.fr.design.module.DesignModuleFactory; import com.fr.general.Inter; -import com.fr.stable.StableUtils; + +import javax.swing.*; +import java.awt.*; public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ @@ -29,9 +26,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected UILabel nameLabel; protected ChartEditPane chartEditPane; - protected ChartCollection chartCollection; - protected String plotID; - protected BasicPane chartPane; + protected ChartCollection chartCollection= DesignModuleFactory.getChartCollection(); + protected String plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); public MiddleChartPropertyPane() { initComponenet(); @@ -43,7 +39,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ createNameLabel(); this.add(createNorthComponent(), BorderLayout.NORTH); - chartEditPane = StableUtils.construct(ChartEditPane.class); +// chartEditPane =StableUtils.construct(ChartEditPane.class); + chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); chartEditPane.setSupportCellData(true); this.createMainPane(); } @@ -70,16 +67,7 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected void resetChartEditPane() { remove(chartEditPane); - if (plotID != null) { - chartPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); - if (chartPane != null) { - add(chartPane, BorderLayout.CENTER); - } - } - if (chartPane == null) { - chartEditPane = StableUtils.construct(ChartEditPane.class); - add(chartEditPane, BorderLayout.CENTER); - } + add(chartEditPane, BorderLayout.CENTER); validate(); repaint(); revalidate(); @@ -99,6 +87,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ * @param ePane 面板 */ public void populateChartPropertyPane(ChartCollection collection, TargetComponent ePane) { +// chartCollection = collection; +// plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); this.container.setEPane(ePane); chartEditPane.populate(collection); } @@ -110,8 +100,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ */ public void populateChartPropertyPane(BaseChartCollection collection, TargetComponent ePane) { if (collection instanceof ChartCollection) { - chartCollection = (ChartCollection) collection; - plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); +// chartCollection = (ChartCollection) collection; +// plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); resetChartEditPane(); populateChartPropertyPane((ChartCollection)collection, ePane); } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java index 92177a8e3..dbb3280b2 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java @@ -49,8 +49,8 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4 private ChartCollection lastCollection; protected CardLayout card; protected JPanel center; - private TargetComponentContainer container = null; - private TitleChangeListener titleChangeListener = null; + protected TargetComponentContainer container = null; + protected TitleChangeListener titleChangeListener = null; private Calendar lastTime; diff --git a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java new file mode 100644 index 000000000..e07ecde3c --- /dev/null +++ b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java @@ -0,0 +1,173 @@ +package com.fr.design.mainframe.chart; + +import com.fr.chart.chartattr.Chart; +import com.fr.chart.chartattr.ChartCollection; +import com.fr.design.ChartTypeInterfaceManager; +import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.design.gui.ibutton.UIHeadGroup; +import com.fr.design.gui.itabpane.TitleChangeListener; +import com.fr.design.mainframe.TargetComponentContainer; +import com.fr.design.mainframe.chart.gui.ChartDataPane; + +import javax.swing.*; +import java.awt.*; + +/** + * Created by mengao on 2017/5/3. + */ +public class CustomChartEditPane extends ChartEditPane { + //构建主面板 + protected void createTabsPane() { + Icon[] iconArray = new Icon[paneList.size()]; + card = new CardLayout(); + center = new JPanel(card); + + + tabsHeaderIconPane = new UIHeadGroup(iconArray) { + @Override + public void tabChanged(int index) { + } + }; + tabsHeaderIconPane.setNeedLeftRightOutLine(false); + + } + + AttributeChangeListener listener = new AttributeChangeListener() { + @Override + public void attributeChange() { + + } + }; + + /** + * 重新构造面板 + * @param currentChart 图表 + */ + public void reLayout(Chart currentChart){ + } + + protected ChartDataPane createChartDataPane(String plotID) { + ChartDataPane chartDataPane = ChartTypeInterfaceManager.getInstance().getChartDataPane(plotID, listener); + chartDataPane.setSupportCellData(dataPane4SupportCell.isSupportCellData()); + return chartDataPane; + } + + protected void addTypePane() { + paneList.add(typePane); + } + + protected void setSelectedTab() { + } + + /** + * 设置是否支持单元格 + */ + public void setSupportCellData(boolean supportCellData) { + + } + + /** + * 返回选中的tab名称. + */ + public String getSelectedTabName() { + int index = Math.min(tabsHeaderIconPane.getSelectedIndex(), paneList.size() - 1); + return paneList.get(index).title4PopupWindow(); + } + + /** + * 添加标题变化监听事件. + * + * @param titleChangeListener 标题的ChangeListener + */ + public void addTitleChangeListener(TitleChangeListener titleChangeListener) { + this.titleChangeListener = titleChangeListener; + } + + /** + * 设置容器. + */ + public void setContainer(TargetComponentContainer container) { + + } + + + + public void populate(ChartCollection collection) { + + } + + protected ChartEditPane getCurrentChartEditPane() { + return this; + } + + + /** + * 响应事件. + */ + public void fire() { + + } + + public int getSelectedChartIndex(Chart chart){ + int index = 0; + return index; + } + + //populate的时候看看要不要重构面板 + private boolean checkNeedsReLayout(Chart chart){ + + return false; + } + + /** + * 当前界面是否是默认的界面 + * @return 是否是默认的界面 + */ + public boolean isDefaultPane(){ + return this.isDefaultPane; + } + + /** + * 展开到对应id的pane. + * + * @param id 界面的标志.id + */ + public void gotoPane(String... id) { + + } + + /** + * 设置选中的id + * + * @param id 界面的标志.id + */ + public void setSelectedIndex(String... id) { + + } + + protected void dealWithStyleChange(){ + + } + + /** + *主要用于图表设计器,判断样式改变是否来自工具栏的全局样式按钮 + * @param isFromToolBar 是否来自工具栏 + */ + public void styleChange(boolean isFromToolBar){ + + } + + /** + * 图表设计器,显示选中的面板 + */ + public void populateSelectedTabPane() { + + } + + /** + * 数据集改变的事件监听 + */ + public void registerDSChangeListener() { + + } +} From cb009a0fbe855cd6452e5bc6d5c46b952ded0f6a Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Thu, 4 May 2017 18:55:10 +0800 Subject: [PATCH 09/27] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/chart/ChartEditPane.java | 16 ++++++++++++++-- .../mainframe/chart/CustomChartEditPane.java | 12 ++++++------ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java index dbb3280b2..d899853ed 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java @@ -5,10 +5,10 @@ import com.fr.base.BaseUtils; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.ChartTypeInterfaceManager; +import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.tabledata.Prepare4DataSourceChange; -import com.fr.design.dialog.BasicPane; import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.gui.ibutton.UIHeadGroup; @@ -31,7 +31,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.List; -public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4DataSourceChange, ChartEditPaneProvider { +public class ChartEditPane extends BasicBeanPane implements AttributeChange,Prepare4DataSourceChange, ChartEditPaneProvider { private final static int CHANGE_MIN_TIME = 80; @@ -51,6 +51,7 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4 protected JPanel center; protected TargetComponentContainer container = null; protected TitleChangeListener titleChangeListener = null; + protected ChartEditPane chartEditPane =this; private Calendar lastTime; @@ -108,6 +109,7 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4 } AbstractChartAttrPane selectedPane = paneList.get(tabsHeaderIconPane.getSelectedIndex()); selectedPane.update(collection); + if (!ComparatorUtils.equals(collection, lastCollection)) { //此处画图 @@ -346,4 +348,14 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4 } }); } + + @Override + public void populateBean(Object ob) { + + } + + @Override + public Object updateBean() { + return null; + } } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java index e07ecde3c..a5125d0bf 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java @@ -15,7 +15,7 @@ import java.awt.*; /** * Created by mengao on 2017/5/3. */ -public class CustomChartEditPane extends ChartEditPane { +public class CustomChartEditPane extends ChartEditPane { //构建主面板 protected void createTabsPane() { Icon[] iconArray = new Icon[paneList.size()]; @@ -26,16 +26,16 @@ public class CustomChartEditPane extends ChartEditPane { tabsHeaderIconPane = new UIHeadGroup(iconArray) { @Override public void tabChanged(int index) { +// chartEditPane.populateBean(collection.getSelectedChart()); } }; - tabsHeaderIconPane.setNeedLeftRightOutLine(false); } AttributeChangeListener listener = new AttributeChangeListener() { @Override public void attributeChange() { - + chartEditPane.updateBean(); } }; @@ -93,7 +93,7 @@ public class CustomChartEditPane extends ChartEditPane { public void populate(ChartCollection collection) { - + chartEditPane.populateBean(collection.getSelectedChart()); } protected ChartEditPane getCurrentChartEditPane() { @@ -146,7 +146,7 @@ public class CustomChartEditPane extends ChartEditPane { } protected void dealWithStyleChange(){ - + chartEditPane.populateBean(collection.getSelectedChart()); } /** @@ -161,7 +161,7 @@ public class CustomChartEditPane extends ChartEditPane { * 图表设计器,显示选中的面板 */ public void populateSelectedTabPane() { - + chartEditPane.populateBean(collection.getSelectedChart()); } /** From b50179be25055586c31a1ed8568375c9307f23df Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Fri, 5 May 2017 09:01:08 +0800 Subject: [PATCH 10/27] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/MiddleChartPropertyPane.java | 5 ----- .../com/fr/design/mainframe/chart/CustomChartEditPane.java | 1 - 2 files changed, 6 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index 4a59585fa..f9e0b8fee 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -39,7 +39,6 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ createNameLabel(); this.add(createNorthComponent(), BorderLayout.NORTH); -// chartEditPane =StableUtils.construct(ChartEditPane.class); chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); chartEditPane.setSupportCellData(true); this.createMainPane(); @@ -87,8 +86,6 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ * @param ePane 面板 */ public void populateChartPropertyPane(ChartCollection collection, TargetComponent ePane) { -// chartCollection = collection; -// plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); this.container.setEPane(ePane); chartEditPane.populate(collection); } @@ -100,8 +97,6 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ */ public void populateChartPropertyPane(BaseChartCollection collection, TargetComponent ePane) { if (collection instanceof ChartCollection) { -// chartCollection = (ChartCollection) collection; -// plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); resetChartEditPane(); populateChartPropertyPane((ChartCollection)collection, ePane); } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java index a5125d0bf..103206dca 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java @@ -26,7 +26,6 @@ public class CustomChartEditPane extends ChartEditPane { tabsHeaderIconPane = new UIHeadGroup(iconArray) { @Override public void tabChanged(int index) { -// chartEditPane.populateBean(collection.getSelectedChart()); } }; From a42c7b00fb8541e077e313d6c84ad79ea3b638c4 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Fri, 5 May 2017 15:10:22 +0800 Subject: [PATCH 11/27] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/chart/CustomChartEditPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java index 103206dca..19572b8a9 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java @@ -34,7 +34,7 @@ public class CustomChartEditPane extends ChartEditPane { AttributeChangeListener listener = new AttributeChangeListener() { @Override public void attributeChange() { - chartEditPane.updateBean(); + chartEditPane.updateBean(collection.getSelectedChart()); } }; From d037450fa2518e4aa5af8c640c1314490e194d05 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Sun, 7 May 2017 20:01:41 +0800 Subject: [PATCH 12/27] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/quickeditor/ChartQuickEditor.java | 1 + .../src/com/fr/design/ChartTypeInterfaceManager.java | 1 + .../com/fr/design/mainframe/MiddleChartPropertyPane.java | 2 +- .../src/com/fr/design/mainframe/chart/ChartEditPane.java | 2 +- .../fr/design/mainframe/chart/gui/data/TableDataPane.java | 6 ++++-- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/designer/src/com/fr/quickeditor/ChartQuickEditor.java b/designer/src/com/fr/quickeditor/ChartQuickEditor.java index c6f0c37a7..991cf3398 100644 --- a/designer/src/com/fr/quickeditor/ChartQuickEditor.java +++ b/designer/src/com/fr/quickeditor/ChartQuickEditor.java @@ -46,6 +46,7 @@ public class ChartQuickEditor extends QuickEditor{ element = ((ElementCasePane)tc).getEditingElementCase().getFloatElement(fs.getSelectedFloatName()); } collection = (BaseChartCollection) element.getValue(); + //将chartCollection存在DesignModuleFactory DesignModuleFactory.setChartCollection((ChartCollection) collection); add(editingPropertyPane = DesignModuleFactory.getChartPropertyPane(), BorderLayout.CENTER); editingPropertyPane.setSupportCellData(true); diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index 142ee19a0..fc345b25d 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -413,6 +413,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh private AbstractTableDataContentPane getTableDataSourcePane(String priority, Plot plot, ChartDataPane parent) { return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getTableDataSourcePane(plot, parent); } + //获取指定图表的编辑面板 public ChartEditPane getChartConfigPane(String plotID) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); while (iterator.hasNext()){ diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index f9e0b8fee..3da46c373 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -26,6 +26,7 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected UILabel nameLabel; protected ChartEditPane chartEditPane; + //获取ChartCollection和当前图表的plotID,用来获取对应的面板 protected ChartCollection chartCollection= DesignModuleFactory.getChartCollection(); protected String plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); @@ -97,7 +98,6 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ */ public void populateChartPropertyPane(BaseChartCollection collection, TargetComponent ePane) { if (collection instanceof ChartCollection) { - resetChartEditPane(); populateChartPropertyPane((ChartCollection)collection, ePane); } } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java index d899853ed..1e855476e 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java @@ -348,7 +348,7 @@ public class ChartEditPane extends BasicBeanPane implements AttributeChange,Prep } }); } - + //添加populate和update方法,第三方图表继承使用 @Override public void populateBean(Object ob) { diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java index fb80ac54f..7a957ba75 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java @@ -24,12 +24,12 @@ public class TableDataPane extends FurtherBasicBeanPane{ private DatabaseTableDataPane tableDataPane; private AbstractTableDataContentPane dataContentPane; - private ChartDataPane parent; - protected AbstractTableDataContentPane getDataContentPane() { return dataContentPane; } + private ChartDataPane parent; + public TableDataPane(ChartDataPane parent) { this.parent = parent; initDataPane(); @@ -120,6 +120,8 @@ public class TableDataPane extends FurtherBasicBeanPane{ add(dataContentPane, BorderLayout.CENTER); } } + + /** * 更新界面属性 */ From 1642c8ad2a71e7f9c80a3504c82a1e0db630466e Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Sun, 7 May 2017 20:07:29 +0800 Subject: [PATCH 13/27] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E5=A4=9A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/gui/data/TableDataPane.java | 34 +++++-------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java index 7a957ba75..42ba6750c 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/TableDataPane.java @@ -1,8 +1,7 @@ package com.fr.design.mainframe.chart.gui.data; import com.fr.base.TableData; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.Plot; +import com.fr.chart.chartattr.*; import com.fr.chart.chartdata.TableDataDefinition; import com.fr.chart.chartdata.TopDefinition; import com.fr.data.impl.NameTableData; @@ -12,7 +11,7 @@ import com.fr.design.data.tabledata.wrapper.TableDataWrapper; import com.fr.design.gui.ilable.BoldFontTextLabel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.chart.gui.ChartDataPane; -import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; +import com.fr.design.mainframe.chart.gui.data.table.*; import com.fr.general.Inter; import javax.swing.*; @@ -24,10 +23,6 @@ public class TableDataPane extends FurtherBasicBeanPane{ private DatabaseTableDataPane tableDataPane; private AbstractTableDataContentPane dataContentPane; - protected AbstractTableDataContentPane getDataContentPane() { - return dataContentPane; - } - private ChartDataPane parent; public TableDataPane(ChartDataPane parent) { @@ -108,20 +103,15 @@ public class TableDataPane extends FurtherBasicBeanPane{ * @param collection 图表属性的集合 */ public void refreshContentPane(ChartCollection collection) { - refreshContentPane(getContentPane(collection.getSelectedChart().getPlot())); - } - - protected void refreshContentPane(AbstractTableDataContentPane contentPane) { if(dataContentPane != null) { remove(dataContentPane); } - dataContentPane = contentPane; + dataContentPane = getContentPane(collection.getSelectedChart().getPlot()); if(dataContentPane != null) { add(dataContentPane, BorderLayout.CENTER); } } - /** * 更新界面属性 */ @@ -130,21 +120,17 @@ public class TableDataPane extends FurtherBasicBeanPane{ return; } TableDataDefinition data = (TableDataDefinition)collection.getSelectedChart().getFilterDefinition(); - populateDSName(data); - if(dataContentPane != null) { - dataContentPane.populateBean(collection); - } - } - protected void populateDSName(TableDataDefinition dataDefinition){ - TableData tableData = null; - if(dataDefinition != null) { - tableData = dataDefinition.getTableData(); + if(data != null) { + tableData = data.getTableData(); } onSelectTableData(); checkBoxUse(); tableDataPane.populateBean(tableData); + if(dataContentPane != null) { + dataContentPane.populateBean(collection); + } } /** @@ -155,10 +141,6 @@ public class TableDataPane extends FurtherBasicBeanPane{ dataContentPane.updateBean(collection); } TopDefinition dataDefinition = (TopDefinition)collection.getSelectedChart().getFilterDefinition(); - updateDSName(dataDefinition); - } - - protected void updateDSName(TopDefinition dataDefinition) { if(dataDefinition instanceof TableDataDefinition) { TableDataWrapper tableDataWrapper = tableDataPane.getTableDataWrapper(); if (dataDefinition != null && tableDataWrapper != null){ From 21a0ac10fc6d3fe633061417c548fcc591e25cbf Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 8 May 2017 09:01:36 +0800 Subject: [PATCH 14/27] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/ChartTypeInterfaceManager.java | 3 ++- .../com/fr/design/mainframe/MiddleChartPropertyPane.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index fc345b25d..67a04c19f 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -413,10 +413,11 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh private AbstractTableDataContentPane getTableDataSourcePane(String priority, Plot plot, ChartDataPane parent) { return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getTableDataSourcePane(plot, parent); } + //获取指定图表的编辑面板 public ChartEditPane getChartConfigPane(String plotID) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); - while (iterator.hasNext()){ + while (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); String priority = (String) entry.getKey(); if (plotInChart(plotID, priority)) { diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index 3da46c373..00f38d533 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -27,8 +27,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected ChartEditPane chartEditPane; //获取ChartCollection和当前图表的plotID,用来获取对应的面板 - protected ChartCollection chartCollection= DesignModuleFactory.getChartCollection(); - protected String plotID=chartCollection.getSelectedChart().getPlot().getPlotID(); + protected ChartCollection chartCollection = DesignModuleFactory.getChartCollection(); + protected String plotID = chartCollection.getSelectedChart().getPlot().getPlotID(); public MiddleChartPropertyPane() { initComponenet(); @@ -40,7 +40,7 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ createNameLabel(); this.add(createNorthComponent(), BorderLayout.NORTH); - chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); + chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); chartEditPane.setSupportCellData(true); this.createMainPane(); } From b306c9d5fea0f21072fc02bd29b84806989460b7 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 8 May 2017 15:30:12 +0800 Subject: [PATCH 15/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=B8=AD=E5=AD=98=E5=9C=A8=E7=9A=84=E4=B8=80=E4=BA=9B=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E3=80=82=20=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=EF=BC=8C=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/quickeditor/ChartQuickEditor.java | 4 +- .../gui/chart/BaseChartPropertyPane.java | 3 +- .../fr/design/module/DesignModuleFactory.java | 256 +++++++++++++++++- .../fr/design/ChartTypeInterfaceManager.java | 6 +- .../chart/fun/IndependentChartUIProvider.java | 4 +- .../AbstractIndependentChartUI4Custom.java | 2 +- .../design/mainframe/ChartPropertyPane.java | 12 +- .../mainframe/MiddleChartPropertyPane.java | 10 +- .../design/mainframe/chart/ChartEditPane.java | 20 +- ...tEditPane.java => ThirdChartEditPane.java} | 28 +- .../mainframe/chart/ThirdChartInterface.java | 11 + 11 files changed, 300 insertions(+), 56 deletions(-) rename designer_chart/src/com/fr/design/mainframe/chart/{CustomChartEditPane.java => ThirdChartEditPane.java} (84%) create mode 100644 designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java diff --git a/designer/src/com/fr/quickeditor/ChartQuickEditor.java b/designer/src/com/fr/quickeditor/ChartQuickEditor.java index 991cf3398..b64cd6834 100644 --- a/designer/src/com/fr/quickeditor/ChartQuickEditor.java +++ b/designer/src/com/fr/quickeditor/ChartQuickEditor.java @@ -46,9 +46,9 @@ public class ChartQuickEditor extends QuickEditor{ element = ((ElementCasePane)tc).getEditingElementCase().getFloatElement(fs.getSelectedFloatName()); } collection = (BaseChartCollection) element.getValue(); - //将chartCollection存在DesignModuleFactory - DesignModuleFactory.setChartCollection((ChartCollection) collection); + add(editingPropertyPane = DesignModuleFactory.getChartPropertyPane(), BorderLayout.CENTER); + editingPropertyPane.addChartEditPane(((ChartCollection)collection).getSelectedChart().getPlot().getPlotID()); editingPropertyPane.setSupportCellData(true); } editingPropertyPane.populateChartPropertyPane(collection, tc); diff --git a/designer_base/src/com/fr/design/gui/chart/BaseChartPropertyPane.java b/designer_base/src/com/fr/design/gui/chart/BaseChartPropertyPane.java index c5b58ae26..327c44468 100644 --- a/designer_base/src/com/fr/design/gui/chart/BaseChartPropertyPane.java +++ b/designer_base/src/com/fr/design/gui/chart/BaseChartPropertyPane.java @@ -2,7 +2,6 @@ package com.fr.design.gui.chart; import com.fr.base.chart.BaseChartCollection; import com.fr.design.designer.TargetComponent; -import com.fr.design.mainframe.BaseWidgetPropertyPane; import com.fr.design.mainframe.DockingView; /** @@ -23,5 +22,7 @@ public abstract class BaseChartPropertyPane extends DockingView { public abstract ChartEditPaneProvider getChartEditPane(); + public abstract void addChartEditPane(String plotID); + //public abstract void clear(); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/module/DesignModuleFactory.java b/designer_base/src/com/fr/design/module/DesignModuleFactory.java index 960236e48..2e1d39006 100644 --- a/designer_base/src/com/fr/design/module/DesignModuleFactory.java +++ b/designer_base/src/com/fr/design/module/DesignModuleFactory.java @@ -1 +1,255 @@ -package com.fr.design.module; import com.fr.base.FRContext; import com.fr.base.chart.BaseChartCollection; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.gui.chart.BaseChartPropertyPane; import com.fr.design.gui.chart.MiddleChartComponent; import com.fr.design.gui.chart.MiddleChartDialog; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.BaseHyperlinkGroup; import com.fr.design.gui.frpane.HyperlinkGroupType; import com.fr.design.mainframe.BaseFormDesigner; import com.fr.design.mainframe.BaseWidgetPropertyPane; import com.fr.design.parameter.HierarchyTreePane; import com.fr.design.parameter.ParameterDesignerProvider; import com.fr.design.parameter.ParameterReader; import com.fr.form.ui.Widget; import com.fr.stable.StableUtils; import java.awt.*; import java.lang.reflect.Constructor; import java.util.ArrayList; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 7.0.3 * Date: 13-7-8 * Time: 下午1:57 */ public class DesignModuleFactory { private static DesignModuleFactory instance = new DesignModuleFactory(); private static ChartCollection chartCollection; public static ChartCollection getChartCollection() { return chartCollection; } public static void setChartCollection(ChartCollection chartCollection) { DesignModuleFactory.chartCollection = chartCollection; } private DesignModuleFactory() { } private HyperlinkGroupType hyperlinkGroupType = new BaseHyperlinkGroup(); private NameableCreator[] creators4Hyperlink; private WidgetOption[] extraOptions; private Class chartEditorClass; private Class chartComponentClass; private Class chartDialogClass; private Class chartPropertyPaneClass; private Class newFormAction; private Class formParaDesigner; private Class paraPropertyPane; private Class formHierarchyPaneCls; private Class widgetPropertyPane; private Class buttonDetailPaneClass; private java.util.List parameterReaderList; public static void registerHyperlinkGroupType(HyperlinkGroupType hyperlinkGroupType) { instance.hyperlinkGroupType = hyperlinkGroupType; } public static HyperlinkGroupType getHyperlinkGroupType() { return instance.hyperlinkGroupType; } public static void registerCreators4Hyperlink(NameableCreator[] nameableCreators) { instance.creators4Hyperlink = nameableCreators; } public static NameableCreator[] getCreators4Hyperlink() { return instance.creators4Hyperlink; } public static void registerExtraWidgetOptions(WidgetOption[] options) { instance.extraOptions = options; } public static WidgetOption[] getExtraWidgetOptions() { if (instance.extraOptions == null) { instance.extraOptions = new WidgetOption[0]; } return instance.extraOptions; } public static void registerChartEditorClass(Class cls) { instance.chartEditorClass = cls; } public static Class getChartEditorClass() { return instance.chartEditorClass; } public static void registerChartComponentClass(Class bcc) { instance.chartComponentClass = bcc; } public static void registerChartDialogClass(Class cd) { instance.chartDialogClass = cd; } public static void registerChartPropertyPaneClass(Class p) { instance.chartPropertyPaneClass = p; } public static void registerNewFormActionClass(Class f) { instance.newFormAction = f; } public static Class getNewFormAction() { return instance.newFormAction; } public static void registerParaPropertyPaneClass(Class p) { instance.paraPropertyPane = p; } /** * 获取参数属性界面 * * @return 参数属性界面. */ public static Object getParaPropertyPane() { if (instance.paraPropertyPane != null) { try { return instance.paraPropertyPane.newInstance(); } catch (Exception e) { FRContext.getLogger().error("Error in Para PropertyPane"); } } return null; } public static void registerFormParaDesignerClass(Class f) { instance.formParaDesigner = f; } public static ParameterDesignerProvider getFormParaDesigner() { if (instance.formParaDesigner != null) { try { return (ParameterDesignerProvider) instance.formParaDesigner.newInstance(); } catch (Exception e) { FRContext.getLogger().error("error in form para designer"); } } return null; } public static void registerFormHierarchyPaneClass(Class fClass) { instance.formHierarchyPaneCls = fClass; } public static HierarchyTreePane getFormHierarchyPane() { return StableUtils.getInstance(instance.formHierarchyPaneCls); } public static void registerWidgetPropertyPaneClass(Class wp) { instance.widgetPropertyPane = wp; } public static BaseWidgetPropertyPane getWidgetPropertyPane(BaseFormDesigner fd) { BaseWidgetPropertyPane wp = null; if (instance.widgetPropertyPane != null) { wp = StableUtils.getInstance(instance.widgetPropertyPane); wp.setEditingFormDesigner(fd); wp.refreshDockingView(); } return wp; } public static MiddleChartComponent getChartComponent(BaseChartCollection collection) { MiddleChartComponent bcc = null; if (instance.chartComponentClass != null) { try { bcc = instance.chartComponentClass.newInstance(); bcc.populate(collection); } catch (InstantiationException e) { FRContext.getLogger().error("Error in ChartComponent instant", e); } catch (IllegalAccessException e) { FRContext.getLogger().error("Error in Access", e); } } return bcc; } /** * kunsnat: 初始化图表向导对话框, 调用静态方法showWindow, 参数window. * * @return 返回调出的ChartDailog */ public static MiddleChartDialog getChartDialog(Window window) { try { Constructor c; if (window instanceof Frame) { c = instance.chartDialogClass.getConstructor(Frame.class); } else { c = instance.chartDialogClass.getConstructor(Dialog.class); } return c.newInstance(window); } catch (Exception e) { FRContext.getLogger().error(e.getMessage(), e); } return null; } /** * kunsnat: 获取图表属性界面 * * @return 返回界面. */ public static BaseChartPropertyPane getChartPropertyPane() { BaseChartPropertyPane bp = null; if (instance.chartPropertyPaneClass != null) { bp = StableUtils.getInstance(instance.chartPropertyPaneClass); } return bp; } public static void clearChartPropertyPane() { if (instance.chartPropertyPaneClass != null) { StableUtils.clearInstance(instance.chartPropertyPaneClass); } } public static void registerButtonDetailPaneClass(Class clazz) { instance.buttonDetailPaneClass = clazz; } public static Class getButtonDetailPaneClass() { return instance.buttonDetailPaneClass; } public static void registerParameterReader(ParameterReader reader) { if (instance.parameterReaderList == null) { instance.parameterReaderList = new ArrayList(); } instance.parameterReaderList.add(reader); } public static ParameterReader[] getParameterReaders() { if (instance.parameterReaderList == null) { return new ParameterReader[0]; } return instance.parameterReaderList.toArray(new ParameterReader[instance.parameterReaderList.size()]); } } \ No newline at end of file +package com.fr.design.module; + +import com.fr.base.FRContext; +import com.fr.base.chart.BaseChartCollection; +import com.fr.chart.chartattr.ChartCollection; +import com.fr.design.gui.chart.BaseChartPropertyPane; +import com.fr.design.gui.chart.MiddleChartComponent; +import com.fr.design.gui.chart.MiddleChartDialog; +import com.fr.design.gui.controlpane.NameableCreator; +import com.fr.design.gui.core.WidgetOption; +import com.fr.design.gui.frpane.BaseHyperlinkGroup; +import com.fr.design.gui.frpane.HyperlinkGroupType; +import com.fr.design.mainframe.BaseFormDesigner; +import com.fr.design.mainframe.BaseWidgetPropertyPane; +import com.fr.design.parameter.HierarchyTreePane; +import com.fr.design.parameter.ParameterDesignerProvider; +import com.fr.design.parameter.ParameterReader; +import com.fr.form.ui.Widget; +import com.fr.stable.StableUtils; + +import java.awt.*; +import java.lang.reflect.Constructor; +import java.util.ArrayList; + +/** + * Created by IntelliJ IDEA. + * Author : Richer + * Version: 7.0.3 + * Date: 13-7-8 + * Time: 下午1:57 + */ +public class DesignModuleFactory { + private static DesignModuleFactory instance = new DesignModuleFactory(); + private static ChartCollection chartCollection; + + public static ChartCollection getChartCollection() { + return chartCollection; + } + + public static void setChartCollection(ChartCollection chartCollection) { + DesignModuleFactory.chartCollection = chartCollection; + } + + private DesignModuleFactory() { + + } + + private HyperlinkGroupType hyperlinkGroupType = new BaseHyperlinkGroup(); + private NameableCreator[] creators4Hyperlink; + private WidgetOption[] extraOptions; + private Class chartEditorClass; + private Class chartComponentClass; + private Class chartDialogClass; + private Class chartPropertyPaneClass; + private Class newFormAction; + private Class formParaDesigner; + private Class paraPropertyPane; + private Class formHierarchyPaneCls; + private Class widgetPropertyPane; + private Class buttonDetailPaneClass; + private java.util.List parameterReaderList; + + + public static void registerHyperlinkGroupType(HyperlinkGroupType hyperlinkGroupType) { + instance.hyperlinkGroupType = hyperlinkGroupType; + } + + public static HyperlinkGroupType getHyperlinkGroupType() { + return instance.hyperlinkGroupType; + } + + public static void registerCreators4Hyperlink(NameableCreator[] nameableCreators) { + instance.creators4Hyperlink = nameableCreators; + } + + public static NameableCreator[] getCreators4Hyperlink() { + return instance.creators4Hyperlink; + } + + public static void registerExtraWidgetOptions(WidgetOption[] options) { + instance.extraOptions = options; + } + + public static WidgetOption[] getExtraWidgetOptions() { + if (instance.extraOptions == null) { + instance.extraOptions = new WidgetOption[0]; + } + + return instance.extraOptions; + } + + public static void registerChartEditorClass(Class cls) { + instance.chartEditorClass = cls; + } + + public static Class getChartEditorClass() { + return instance.chartEditorClass; + } + + public static void registerChartComponentClass(Class bcc) { + instance.chartComponentClass = bcc; + } + + public static void registerChartDialogClass(Class cd) { + instance.chartDialogClass = cd; + } + + public static void registerChartPropertyPaneClass(Class p) { + instance.chartPropertyPaneClass = p; + } + + + public static void registerNewFormActionClass(Class f) { + instance.newFormAction = f; + } + + public static Class getNewFormAction() { + return instance.newFormAction; + } + + public static void registerParaPropertyPaneClass(Class p) { + instance.paraPropertyPane = p; + } + + /** + * 获取参数属性界面 + * + * @return 参数属性界面. + */ + public static Object getParaPropertyPane() { + if (instance.paraPropertyPane != null) { + try { + return instance.paraPropertyPane.newInstance(); + } catch (Exception e) { + FRContext.getLogger().error("Error in Para PropertyPane"); + } + } + return null; + } + + public static void registerFormParaDesignerClass(Class f) { + instance.formParaDesigner = f; + } + + public static ParameterDesignerProvider getFormParaDesigner() { + if (instance.formParaDesigner != null) { + try { + return (ParameterDesignerProvider) instance.formParaDesigner.newInstance(); + } catch (Exception e) { + FRContext.getLogger().error("error in form para designer"); + } + } + return null; + } + + public static void registerFormHierarchyPaneClass(Class fClass) { + instance.formHierarchyPaneCls = fClass; + } + + public static HierarchyTreePane getFormHierarchyPane() { + return StableUtils.getInstance(instance.formHierarchyPaneCls); + } + + public static void registerWidgetPropertyPaneClass(Class wp) { + instance.widgetPropertyPane = wp; + } + + public static BaseWidgetPropertyPane getWidgetPropertyPane(BaseFormDesigner fd) { + BaseWidgetPropertyPane wp = null; + if (instance.widgetPropertyPane != null) { + wp = StableUtils.getInstance(instance.widgetPropertyPane); + wp.setEditingFormDesigner(fd); + wp.refreshDockingView(); + } + return wp; + } + + public static MiddleChartComponent getChartComponent(BaseChartCollection collection) { + MiddleChartComponent bcc = null; + if (instance.chartComponentClass != null) { + try { + bcc = instance.chartComponentClass.newInstance(); + bcc.populate(collection); + } catch (InstantiationException e) { + FRContext.getLogger().error("Error in ChartComponent instant", e); + } catch (IllegalAccessException e) { + FRContext.getLogger().error("Error in Access", e); + } + } + return bcc; + } + + /** + * kunsnat: 初始化图表向导对话框, 调用静态方法showWindow, 参数window. + * + * @return 返回调出的ChartDailog + */ + public static MiddleChartDialog getChartDialog(Window window) { + try { + Constructor c; + if (window instanceof Frame) { + c = instance.chartDialogClass.getConstructor(Frame.class); + } else { + c = instance.chartDialogClass.getConstructor(Dialog.class); + } + return c.newInstance(window); + } catch (Exception e) { + FRContext.getLogger().error(e.getMessage(), e); + } + return null; + } + + /** + * kunsnat: 获取图表属性界面 + * + * @return 返回界面. + */ + public static BaseChartPropertyPane getChartPropertyPane() { + BaseChartPropertyPane bp = null; + if (instance.chartPropertyPaneClass != null) { + bp = StableUtils.getInstance(instance.chartPropertyPaneClass); + } + return bp; + } + + + public static void clearChartPropertyPane() { + if (instance.chartPropertyPaneClass != null) { + StableUtils.clearInstance(instance.chartPropertyPaneClass); + } + } + + + public static void registerButtonDetailPaneClass(Class clazz) { + instance.buttonDetailPaneClass = clazz; + } + + public static Class getButtonDetailPaneClass() { + return instance.buttonDetailPaneClass; + } + + public static void registerParameterReader(ParameterReader reader) { + if (instance.parameterReaderList == null) { + instance.parameterReaderList = new ArrayList(); + } + instance.parameterReaderList.add(reader); + } + + public static ParameterReader[] getParameterReaders() { + if (instance.parameterReaderList == null) { + return new ParameterReader[0]; + } + return instance.parameterReaderList.toArray(new ParameterReader[instance.parameterReaderList.size()]); + } +} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index 67a04c19f..1168009e8 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -12,10 +12,10 @@ import com.fr.design.chart.gui.ChartWidgetOption; import com.fr.design.chartinterface.*; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.extra.ChartTypeInterfaceCloseableHandler; +import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; -import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; @@ -415,7 +415,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh } //获取指定图表的编辑面板 - public ChartEditPane getChartConfigPane(String plotID) { + public ChartEditPaneProvider getChartConfigPane(String plotID) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); @@ -427,7 +427,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plotID); } - private ChartEditPane getChartConfigPane(String priority, String plotID) { + private ChartEditPaneProvider getChartConfigPane(String priority, String plotID) { return chartTypeInterfaces.get(priority).get(plotID).getChartConfigPane(plotID); } diff --git a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java index fa581301e..46677df62 100644 --- a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java +++ b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java @@ -3,9 +3,9 @@ package com.fr.design.chart.fun; import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.condition.ConditionAttributesPane; +import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; -import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; @@ -90,6 +90,6 @@ public interface IndependentChartUIProvider extends Level { */ String getPlotTypeTitle4PopupWindow(); - ChartEditPane getChartConfigPane(String plotID); + ChartEditPaneProvider getChartConfigPane(String plotID); } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index fdc7ac64d..4ba55e055 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -21,7 +21,7 @@ import com.fr.general.ComparatorUtils; */ public abstract class AbstractIndependentChartUI4Custom implements IndependentChartUIProvider { - int CURRENT_API_LEVEL = 3; + int CURRENT_API_LEVEL = 100000; @Override public AbstractChartTypePane getPlotTypePane() { return new PiePlotPane(); diff --git a/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java index 1c04543d6..457379245 100644 --- a/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java @@ -3,15 +3,11 @@ */ package com.fr.design.mainframe; -import java.awt.BorderLayout; -import java.awt.Dimension; - -import javax.swing.BorderFactory; -import javax.swing.JComponent; -import javax.swing.SwingConstants; - import com.fr.design.gui.ilable.UILabel; +import javax.swing.*; +import java.awt.*; + public class ChartPropertyPane extends MiddleChartPropertyPane{ /** @@ -21,8 +17,6 @@ public class ChartPropertyPane extends MiddleChartPropertyPane{ if(singleton == null) { singleton = new ChartPropertyPane(); } - - singleton.setSureProperty(); return singleton; } diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index 00f38d533..7e37d8beb 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -14,7 +14,6 @@ import com.fr.design.gui.frpane.UITitlePanel; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itabpane.TitleChangeListener; import com.fr.design.mainframe.chart.ChartEditPane; -import com.fr.design.module.DesignModuleFactory; import com.fr.general.Inter; import javax.swing.*; @@ -26,9 +25,6 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ protected UILabel nameLabel; protected ChartEditPane chartEditPane; - //获取ChartCollection和当前图表的plotID,用来获取对应的面板 - protected ChartCollection chartCollection = DesignModuleFactory.getChartCollection(); - protected String plotID = chartCollection.getSelectedChart().getPlot().getPlotID(); public MiddleChartPropertyPane() { initComponenet(); @@ -40,9 +36,13 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ createNameLabel(); this.add(createNorthComponent(), BorderLayout.NORTH); - chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); + } + + public void addChartEditPane(String plotID){ + chartEditPane = (ChartEditPane) ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); chartEditPane.setSupportCellData(true); this.createMainPane(); + setSureProperty(); } protected abstract void createNameLabel(); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java index 1e855476e..fc3b70108 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java @@ -5,10 +5,10 @@ import com.fr.base.BaseUtils; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.ChartTypeInterfaceManager; -import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.tabledata.Prepare4DataSourceChange; +import com.fr.design.dialog.BasicPane; import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.gui.ibutton.UIHeadGroup; @@ -31,7 +31,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.List; -public class ChartEditPane extends BasicBeanPane implements AttributeChange,Prepare4DataSourceChange, ChartEditPaneProvider { +public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4DataSourceChange, ChartEditPaneProvider { private final static int CHANGE_MIN_TIME = 80; @@ -49,10 +49,8 @@ public class ChartEditPane extends BasicBeanPane implements AttributeChange,Prep private ChartCollection lastCollection; protected CardLayout card; protected JPanel center; - protected TargetComponentContainer container = null; - protected TitleChangeListener titleChangeListener = null; - protected ChartEditPane chartEditPane =this; - + private TargetComponentContainer container = null; + private TitleChangeListener titleChangeListener = null; private Calendar lastTime; protected ChartEditPane() { @@ -348,14 +346,4 @@ public class ChartEditPane extends BasicBeanPane implements AttributeChange,Prep } }); } - //添加populate和update方法,第三方图表继承使用 - @Override - public void populateBean(Object ob) { - - } - - @Override - public Object updateBean() { - return null; - } } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java similarity index 84% rename from designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java rename to designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java index 19572b8a9..823f0e7dc 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java @@ -3,9 +3,9 @@ package com.fr.design.mainframe.chart; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; import com.fr.design.ChartTypeInterfaceManager; +import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.gui.ibutton.UIHeadGroup; -import com.fr.design.gui.itabpane.TitleChangeListener; import com.fr.design.mainframe.TargetComponentContainer; import com.fr.design.mainframe.chart.gui.ChartDataPane; @@ -15,7 +15,7 @@ import java.awt.*; /** * Created by mengao on 2017/5/3. */ -public class CustomChartEditPane extends ChartEditPane { +public abstract class ThirdChartEditPane extends ChartEditPane implements ChartEditPaneProvider, ThirdChartInterface { //构建主面板 protected void createTabsPane() { Icon[] iconArray = new Icon[paneList.size()]; @@ -34,7 +34,7 @@ public class CustomChartEditPane extends ChartEditPane { AttributeChangeListener listener = new AttributeChangeListener() { @Override public void attributeChange() { - chartEditPane.updateBean(collection.getSelectedChart()); + updateBean(collection.getSelectedChart()); } }; @@ -72,16 +72,6 @@ public class CustomChartEditPane extends ChartEditPane { int index = Math.min(tabsHeaderIconPane.getSelectedIndex(), paneList.size() - 1); return paneList.get(index).title4PopupWindow(); } - - /** - * 添加标题变化监听事件. - * - * @param titleChangeListener 标题的ChangeListener - */ - public void addTitleChangeListener(TitleChangeListener titleChangeListener) { - this.titleChangeListener = titleChangeListener; - } - /** * 设置容器. */ @@ -92,7 +82,7 @@ public class CustomChartEditPane extends ChartEditPane { public void populate(ChartCollection collection) { - chartEditPane.populateBean(collection.getSelectedChart()); + populateBean(collection.getSelectedChart()); } protected ChartEditPane getCurrentChartEditPane() { @@ -145,7 +135,7 @@ public class CustomChartEditPane extends ChartEditPane { } protected void dealWithStyleChange(){ - chartEditPane.populateBean(collection.getSelectedChart()); + populateBean(collection.getSelectedChart()); } /** @@ -160,7 +150,7 @@ public class CustomChartEditPane extends ChartEditPane { * 图表设计器,显示选中的面板 */ public void populateSelectedTabPane() { - chartEditPane.populateBean(collection.getSelectedChart()); + populateBean(collection.getSelectedChart()); } /** @@ -169,4 +159,10 @@ public class CustomChartEditPane extends ChartEditPane { public void registerDSChangeListener() { } + + @Override + protected String title4PopupWindow() { + return null; + } + } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java new file mode 100644 index 000000000..bdef854b4 --- /dev/null +++ b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java @@ -0,0 +1,11 @@ +package com.fr.design.mainframe.chart; + +/** + * Created by mengao on 2017/5/8. + */ +public interface ThirdChartInterface { + + void populateBean(Object ob); + + void updateBean(Object ob); +} From b0185ea9b7957c91033a36b69ea822a497c16dfa Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 8 May 2017 15:45:46 +0800 Subject: [PATCH 16/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=8D=A2=E8=A1=8C=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/module/DesignModuleFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer_base/src/com/fr/design/module/DesignModuleFactory.java b/designer_base/src/com/fr/design/module/DesignModuleFactory.java index 2e1d39006..5b9dcb762 100644 --- a/designer_base/src/com/fr/design/module/DesignModuleFactory.java +++ b/designer_base/src/com/fr/design/module/DesignModuleFactory.java @@ -31,6 +31,7 @@ import java.util.ArrayList; */ public class DesignModuleFactory { private static DesignModuleFactory instance = new DesignModuleFactory(); + private static ChartCollection chartCollection; public static ChartCollection getChartCollection() { From a869bef3232e9ee73d4b45c8ef5f2404e3dba5ce Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 8 May 2017 17:07:38 +0800 Subject: [PATCH 17/27] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/quickeditor/ChartQuickEditor.java | 14 +++++++++++++- .../impl/AbstractIndependentChartUI4Custom.java | 3 +-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/designer/src/com/fr/quickeditor/ChartQuickEditor.java b/designer/src/com/fr/quickeditor/ChartQuickEditor.java index b64cd6834..6187c967a 100644 --- a/designer/src/com/fr/quickeditor/ChartQuickEditor.java +++ b/designer/src/com/fr/quickeditor/ChartQuickEditor.java @@ -2,8 +2,10 @@ package com.fr.quickeditor; import com.fr.base.chart.BaseChartCollection; import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.ThirdChart; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.chart.BaseChartPropertyPane; +import com.fr.design.mainframe.ChartPropertyPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.module.DesignModuleFactory; import com.fr.design.selection.QuickEditor; @@ -19,7 +21,7 @@ import java.awt.*; public class ChartQuickEditor extends QuickEditor{ // kunsnat: editingPropertyPane初始化 避开设计器启动, 在用到的时候再初始化. //private BaseChartPropertyPane editingPropertyPane = null; - + private static boolean lastChartType =false; public ChartQuickEditor() { setLayout(new BorderLayout()); setBorder(null); @@ -46,10 +48,20 @@ public class ChartQuickEditor extends QuickEditor{ element = ((ElementCasePane)tc).getEditingElementCase().getFloatElement(fs.getSelectedFloatName()); } collection = (BaseChartCollection) element.getValue(); + boolean chartType = false; + if (((ChartCollection) collection).getSelectedChart() instanceof ThirdChart) { + chartType = true; + } + if (chartType != lastChartType) { + ChartPropertyPane.clear(); + } add(editingPropertyPane = DesignModuleFactory.getChartPropertyPane(), BorderLayout.CENTER); editingPropertyPane.addChartEditPane(((ChartCollection)collection).getSelectedChart().getPlot().getPlotID()); editingPropertyPane.setSupportCellData(true); + if (((ChartCollection) collection).getSelectedChart() instanceof ThirdChart) { + lastChartType = true; + } } editingPropertyPane.populateChartPropertyPane(collection, tc); } diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 4ba55e055..7ec5bf141 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -21,7 +21,6 @@ import com.fr.general.ComparatorUtils; */ public abstract class AbstractIndependentChartUI4Custom implements IndependentChartUIProvider { - int CURRENT_API_LEVEL = 100000; @Override public AbstractChartTypePane getPlotTypePane() { return new PiePlotPane(); @@ -85,7 +84,7 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh } @Override public int currentAPILevel() { - return CURRENT_API_LEVEL; + return Integer.MAX_VALUE; } } From 7602e92a1f288ec9867f859592f44a333ff9e7d4 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Wed, 10 May 2017 11:47:02 +0800 Subject: [PATCH 18/27] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/quickeditor/ChartQuickEditor.java | 17 ++--------------- .../fun/impl/AbstractIndependentChartUI.java | 2 ++ .../fr/design/mainframe/ChartPropertyPane.java | 4 +--- .../mainframe/chart/ThirdChartEditPane.java | 6 +++--- 4 files changed, 8 insertions(+), 21 deletions(-) diff --git a/designer/src/com/fr/quickeditor/ChartQuickEditor.java b/designer/src/com/fr/quickeditor/ChartQuickEditor.java index 6187c967a..48033aa23 100644 --- a/designer/src/com/fr/quickeditor/ChartQuickEditor.java +++ b/designer/src/com/fr/quickeditor/ChartQuickEditor.java @@ -2,10 +2,8 @@ package com.fr.quickeditor; import com.fr.base.chart.BaseChartCollection; import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.ThirdChart; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.chart.BaseChartPropertyPane; -import com.fr.design.mainframe.ChartPropertyPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.module.DesignModuleFactory; import com.fr.design.selection.QuickEditor; @@ -21,7 +19,6 @@ import java.awt.*; public class ChartQuickEditor extends QuickEditor{ // kunsnat: editingPropertyPane初始化 避开设计器启动, 在用到的时候再初始化. //private BaseChartPropertyPane editingPropertyPane = null; - private static boolean lastChartType =false; public ChartQuickEditor() { setLayout(new BorderLayout()); setBorder(null); @@ -48,20 +45,10 @@ public class ChartQuickEditor extends QuickEditor{ element = ((ElementCasePane)tc).getEditingElementCase().getFloatElement(fs.getSelectedFloatName()); } collection = (BaseChartCollection) element.getValue(); - boolean chartType = false; - if (((ChartCollection) collection).getSelectedChart() instanceof ThirdChart) { - chartType = true; - } - if (chartType != lastChartType) { - ChartPropertyPane.clear(); - } - + String plotID=((ChartCollection)collection).getSelectedChart().getPlot().getPlotID(); add(editingPropertyPane = DesignModuleFactory.getChartPropertyPane(), BorderLayout.CENTER); - editingPropertyPane.addChartEditPane(((ChartCollection)collection).getSelectedChart().getPlot().getPlotID()); + editingPropertyPane.addChartEditPane(plotID); editingPropertyPane.setSupportCellData(true); - if (((ChartCollection) collection).getSelectedChart() instanceof ThirdChart) { - lastChartType = true; - } } editingPropertyPane.populateChartPropertyPane(collection, tc); } diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java index eef4ef4a7..8af87fb9d 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java @@ -32,6 +32,7 @@ public abstract class AbstractIndependentChartUI implements IndependentChartUIPr public ChartDataPane getChartDataPane(AttributeChangeListener listener){ return new ChartDataPane(listener); } + /** * 是否使用默认的界面,为了避免界面来回切换 * @return 是否使用默认的界面 @@ -55,6 +56,7 @@ public abstract class AbstractIndependentChartUI implements IndependentChartUIPr public ConditionAttributesPane getPlotConditionPane(Plot plot){ return new DataSeriesConditionPane(); } + public ChartEditPane getChartConfigPane(String plotID){ return StableUtils.construct(ChartEditPane.class);} } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java index 457379245..aa7b66542 100644 --- a/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java @@ -14,9 +14,7 @@ public class ChartPropertyPane extends MiddleChartPropertyPane{ * 创建图表属性表实例. */ private synchronized static ChartPropertyPane getInstance() { - if(singleton == null) { - singleton = new ChartPropertyPane(); - } + singleton = new ChartPropertyPane(); return singleton; } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java index 823f0e7dc..e40f038c2 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java @@ -39,7 +39,7 @@ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartE }; /** - * 重新构造面板 + * 重新构造面板 * @param currentChart 图表 */ public void reLayout(Chart currentChart){ @@ -72,6 +72,7 @@ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartE int index = Math.min(tabsHeaderIconPane.getSelectedIndex(), paneList.size() - 1); return paneList.get(index).title4PopupWindow(); } + /** * 设置容器. */ @@ -104,7 +105,6 @@ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartE //populate的时候看看要不要重构面板 private boolean checkNeedsReLayout(Chart chart){ - return false; } @@ -162,7 +162,7 @@ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartE @Override protected String title4PopupWindow() { - return null; + return "CustomChart"; } } From fb6e8823a4e15581cc06aeb6a5f53d6787125466 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Wed, 10 May 2017 14:03:59 +0800 Subject: [PATCH 19/27] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/ChartPropertyPane.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java index aa7b66542..f29efe7af 100644 --- a/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/ChartPropertyPane.java @@ -14,6 +14,8 @@ public class ChartPropertyPane extends MiddleChartPropertyPane{ * 创建图表属性表实例. */ private synchronized static ChartPropertyPane getInstance() { + //todo + //创建新图表时,创建属性表配置面板 singleton = new ChartPropertyPane(); return singleton; } From d2bd8c424e47782cbdaa4e1345af1f3a656db71a Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Wed, 10 May 2017 14:18:43 +0800 Subject: [PATCH 20/27] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/fun/impl/AbstractIndependentChartUI4Custom.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 7ec5bf141..1ba7e9488 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -82,10 +82,7 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh public String getPlotTypeTitle4PopupWindow(){ return getPlotTypePane().title4PopupWindow(); } - @Override - public int currentAPILevel() { - return Integer.MAX_VALUE; - } + } From 62883951ce62d735ebecea52486265f1323050cb Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Wed, 10 May 2017 14:23:33 +0800 Subject: [PATCH 21/27] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/fun/impl/AbstractIndependentChartUI4Custom.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 1ba7e9488..d8d72c83e 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -83,10 +83,4 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh return getPlotTypePane().title4PopupWindow(); } -} - - - - - - +} \ No newline at end of file From 2c523e108821a700d2180c51e87d50b2da624740 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Wed, 10 May 2017 20:08:25 +0800 Subject: [PATCH 22/27] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/chart/ThirdChartEditPane.java | 7 +++++-- .../design/mainframe/chart/ThirdChartInterface.java | 11 ----------- 2 files changed, 5 insertions(+), 13 deletions(-) delete mode 100644 designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java index e40f038c2..2325da151 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java @@ -15,14 +15,13 @@ import java.awt.*; /** * Created by mengao on 2017/5/3. */ -public abstract class ThirdChartEditPane extends ChartEditPane implements ChartEditPaneProvider, ThirdChartInterface { +public abstract class ThirdChartEditPane extends ChartEditPane implements ChartEditPaneProvider { //构建主面板 protected void createTabsPane() { Icon[] iconArray = new Icon[paneList.size()]; card = new CardLayout(); center = new JPanel(card); - tabsHeaderIconPane = new UIHeadGroup(iconArray) { @Override public void tabChanged(int index) { @@ -165,4 +164,8 @@ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartE return "CustomChart"; } + protected abstract void populateBean(Object ob); + + protected abstract void updateBean(Object ob); + } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java deleted file mode 100644 index bdef854b4..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartInterface.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.fr.design.mainframe.chart; - -/** - * Created by mengao on 2017/5/8. - */ -public interface ThirdChartInterface { - - void populateBean(Object ob); - - void updateBean(Object ob); -} From 316e203c8ee9e5968ec3a68bfd40b73bdcee2416 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Thu, 11 May 2017 10:53:28 +0800 Subject: [PATCH 23/27] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E6=96=B9=E6=B3=95=EF=BC=8C=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E9=9D=A2=E6=9D=BF=E8=BF=94=E5=9B=9Enull?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ChartTypeInterfaceManager.java | 6 +- .../chart/fun/IndependentChartUIProvider.java | 4 +- .../AbstractIndependentChartUI4Custom.java | 9 +- .../mainframe/MiddleChartPropertyPane.java | 2 +- .../mainframe/chart/ThirdChartEditPane.java | 128 +----------------- 5 files changed, 12 insertions(+), 137 deletions(-) diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index 1168009e8..67a04c19f 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -12,10 +12,10 @@ import com.fr.design.chart.gui.ChartWidgetOption; import com.fr.design.chartinterface.*; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.extra.ChartTypeInterfaceCloseableHandler; -import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; +import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; @@ -415,7 +415,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh } //获取指定图表的编辑面板 - public ChartEditPaneProvider getChartConfigPane(String plotID) { + public ChartEditPane getChartConfigPane(String plotID) { Iterator iterator = chartTypeInterfaces.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); @@ -427,7 +427,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plotID); } - private ChartEditPaneProvider getChartConfigPane(String priority, String plotID) { + private ChartEditPane getChartConfigPane(String priority, String plotID) { return chartTypeInterfaces.get(priority).get(plotID).getChartConfigPane(plotID); } diff --git a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java index 46677df62..fa581301e 100644 --- a/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java +++ b/designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java @@ -3,9 +3,9 @@ package com.fr.design.chart.fun; import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.condition.ConditionAttributesPane; -import com.fr.design.gui.chart.ChartEditPaneProvider; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; +import com.fr.design.mainframe.chart.ChartEditPane; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; @@ -90,6 +90,6 @@ public interface IndependentChartUIProvider extends Level { */ String getPlotTypeTitle4PopupWindow(); - ChartEditPaneProvider getChartConfigPane(String plotID); + ChartEditPane getChartConfigPane(String plotID); } \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index d8d72c83e..ce65ddb86 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -3,7 +3,6 @@ package com.fr.design.chart.fun.impl; import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.chart.fun.IndependentChartUIProvider; -import com.fr.design.chart.series.SeriesCondition.DataSeriesConditionPane; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.mainframe.chart.AbstractChartAttrPane; @@ -28,7 +27,7 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh @Override public ChartDataPane getChartDataPane(AttributeChangeListener listener) { - return new ChartDataPane(listener); + return null; } @Override @@ -42,7 +41,7 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh } public BasicBeanPane getPlotSeriesPane(ChartStylePane parent, Plot plot){ - return getPlotSeriesPane(); + return null; } public BasicBeanPane getPlotSeriesPane(){ @@ -54,12 +53,12 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh } public ConditionAttributesPane getPlotConditionPane(Plot plot){ - return new DataSeriesConditionPane(); + return null; } @Override public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener){ - return new AbstractChartAttrPane[]{}; + return null; } @Override diff --git a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java index 7e37d8beb..68eb0da0c 100644 --- a/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java +++ b/designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java @@ -39,7 +39,7 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{ } public void addChartEditPane(String plotID){ - chartEditPane = (ChartEditPane) ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); + chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID); chartEditPane.setSupportCellData(true); this.createMainPane(); setSureProperty(); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java index 2325da151..680b7e86a 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java @@ -1,150 +1,27 @@ package com.fr.design.mainframe.chart; -import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; -import com.fr.design.ChartTypeInterfaceManager; import com.fr.design.gui.chart.ChartEditPaneProvider; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.ibutton.UIHeadGroup; -import com.fr.design.mainframe.TargetComponentContainer; -import com.fr.design.mainframe.chart.gui.ChartDataPane; - -import javax.swing.*; -import java.awt.*; /** * Created by mengao on 2017/5/3. */ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartEditPaneProvider { - //构建主面板 - protected void createTabsPane() { - Icon[] iconArray = new Icon[paneList.size()]; - card = new CardLayout(); - center = new JPanel(card); - - tabsHeaderIconPane = new UIHeadGroup(iconArray) { - @Override - public void tabChanged(int index) { - } - }; - - } - - AttributeChangeListener listener = new AttributeChangeListener() { - @Override - public void attributeChange() { - updateBean(collection.getSelectedChart()); - } - }; - - /** - * 重新构造面板 - * @param currentChart 图表 - */ - public void reLayout(Chart currentChart){ - } - - protected ChartDataPane createChartDataPane(String plotID) { - ChartDataPane chartDataPane = ChartTypeInterfaceManager.getInstance().getChartDataPane(plotID, listener); - chartDataPane.setSupportCellData(dataPane4SupportCell.isSupportCellData()); - return chartDataPane; - } - - protected void addTypePane() { - paneList.add(typePane); - } - - protected void setSelectedTab() { - } - /** - * 设置是否支持单元格 - */ - public void setSupportCellData(boolean supportCellData) { - - } + protected void createTabsPane() {} - /** - * 返回选中的tab名称. - */ public String getSelectedTabName() { - int index = Math.min(tabsHeaderIconPane.getSelectedIndex(), paneList.size() - 1); - return paneList.get(index).title4PopupWindow(); + return paneList.get(1).title4PopupWindow(); } - /** - * 设置容器. - */ - public void setContainer(TargetComponentContainer container) { - - } - - - public void populate(ChartCollection collection) { populateBean(collection.getSelectedChart()); } - protected ChartEditPane getCurrentChartEditPane() { - return this; - } - - - /** - * 响应事件. - */ - public void fire() { - - } - - public int getSelectedChartIndex(Chart chart){ - int index = 0; - return index; - } - - //populate的时候看看要不要重构面板 - private boolean checkNeedsReLayout(Chart chart){ - return false; - } - - /** - * 当前界面是否是默认的界面 - * @return 是否是默认的界面 - */ - public boolean isDefaultPane(){ - return this.isDefaultPane; - } - - /** - * 展开到对应id的pane. - * - * @param id 界面的标志.id - */ - public void gotoPane(String... id) { - - } - - /** - * 设置选中的id - * - * @param id 界面的标志.id - */ - public void setSelectedIndex(String... id) { - - } - protected void dealWithStyleChange(){ populateBean(collection.getSelectedChart()); } - /** - *主要用于图表设计器,判断样式改变是否来自工具栏的全局样式按钮 - * @param isFromToolBar 是否来自工具栏 - */ - public void styleChange(boolean isFromToolBar){ - - } - /** * 图表设计器,显示选中的面板 */ @@ -156,7 +33,6 @@ public abstract class ThirdChartEditPane extends ChartEditPane implements ChartE * 数据集改变的事件监听 */ public void registerDSChangeListener() { - } @Override From e0231440f29e93af332bc3e3910ca1fbca13b99b Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Thu, 11 May 2017 13:42:21 +0800 Subject: [PATCH 24/27] =?UTF-8?q?=E6=8F=90=E4=BE=9B=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E7=BB=A7=E6=89=BF=E7=9A=84=E6=8A=BD=E8=B1=A1=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/fun/impl/AbstractIndependentChartUI4Custom.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index ce65ddb86..1af79ea39 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -82,4 +82,9 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh return getPlotTypePane().title4PopupWindow(); } + @Override + public int currentAPILevel() { + return CURRENT_API_LEVEL; + } + } \ No newline at end of file From 8f42aecfdff91f469e2d0b46528307fd64c72607 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 15 May 2017 10:28:56 +0800 Subject: [PATCH 25/27] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E4=BB=A3=E7=A0=81=EF=BC=8CAPI=E7=AD=89?= =?UTF-8?q?=E7=BA=A7=E6=94=B9=E4=B8=BA=E7=94=B1=E7=94=A8=E6=88=B7=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/fun/impl/AbstractIndependentChartUI4Custom.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index 1af79ea39..ce65ddb86 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -82,9 +82,4 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh return getPlotTypePane().title4PopupWindow(); } - @Override - public int currentAPILevel() { - return CURRENT_API_LEVEL; - } - } \ No newline at end of file From 0c07bf40b8ab7694cc8589b4ba7d5c81119e7261 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 15 May 2017 10:43:10 +0800 Subject: [PATCH 26/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9PMD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/fun/impl/AbstractIndependentChartUI4Custom.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java index ce65ddb86..76dcefa32 100644 --- a/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java +++ b/designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI4Custom.java @@ -58,7 +58,7 @@ public abstract class AbstractIndependentChartUI4Custom implements IndependentCh @Override public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener){ - return null; + return new AbstractChartAttrPane[]{}; } @Override From bf75d4d9b9979ca5aa7a989223bdea870d7eb657 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Mon, 15 May 2017 12:39:23 +0800 Subject: [PATCH 27/27] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/chart/ThirdChartEditPane.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java index 680b7e86a..d1f97a15c 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/ThirdChartEditPane.java @@ -1,12 +1,11 @@ package com.fr.design.mainframe.chart; import com.fr.chart.chartattr.ChartCollection; -import com.fr.design.gui.chart.ChartEditPaneProvider; /** * Created by mengao on 2017/5/3. */ -public abstract class ThirdChartEditPane extends ChartEditPane implements ChartEditPaneProvider { +public abstract class ThirdChartEditPane extends ChartEditPane { protected void createTabsPane() {}