From d7d95ef78abbd69ca4c13d6d5cdd1398264e91f4 Mon Sep 17 00:00:00 2001 From: zheng Date: Tue, 4 Jun 2019 14:20:13 +0800 Subject: [PATCH 1/6] =?UTF-8?q?CHART-4027=20=E7=B3=BB=E5=88=97+=E5=80=BC?= =?UTF-8?q?=20=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9B=B8=E5=85=B3=20design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/CustomFieldComboBoxPane.java | 58 ---------- .../SeriesValueFieldComboBoxPane.java | 108 ++++++++++++++++++ ...ractDataSetFieldsWithSeriesValuePane.java} | 28 ++--- .../diff/MultiCategoryDataSetFieldsPane.java | 2 +- 4 files changed, 123 insertions(+), 73 deletions(-) delete mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/CustomFieldComboBoxPane.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java rename designer-chart/src/main/java/com/fr/design/chartx/fields/diff/{AbstractDataSetFieldsWithCustomFieldPane.java => AbstractDataSetFieldsWithSeriesValuePane.java} (60%) diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/CustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/CustomFieldComboBoxPane.java deleted file mode 100644 index 8e6b98577..000000000 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/CustomFieldComboBoxPane.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.fr.design.chartx.component; - -import com.fr.chartx.data.field.CustomFieldValueColumnFields; - -/** - * Created by shine on 2019/5/17. - */ -public class CustomFieldComboBoxPane extends AbstractCustomFieldComboBoxPane { - - @Override - protected AbstractUseFieldValuePane createUseFieldValuePane() { - return new UseFieldValuePane(); - } - - @Override - protected AbstractCustomFieldNamePane createCustomFieldNamePane() { - return new CustomFieldNamePane(); - } - - @Override - public void populateBean(CustomFieldValueColumnFields ob) { - if (ob.isCustomFieldValue()) { - populateCustomFieldNamePane(ob); - jcb.setSelectedIndex(1); - } else { - populateUseFieldValuePane(ob); - jcb.setSelectedIndex(0); - } - } - - @Override - public void updateBean(CustomFieldValueColumnFields ob) { - if (jcb.getSelectedIndex() == 0) { - ob.setCustomFieldValue(false); - updateUseFieldValuePane(ob); - } else { - ob.setCustomFieldValue(true); - updateCustomFieldNamePane(ob); - } - } - - private class UseFieldValuePane extends AbstractUseFieldValuePane { - - @Override - public void populateBean(CustomFieldValueColumnFields ob) { - - } - } - - private class CustomFieldNamePane extends AbstractCustomFieldNamePane { - - @Override - public void populateBean(CustomFieldValueColumnFields ob) { - - } - } - -} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java new file mode 100644 index 000000000..b6c080d52 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java @@ -0,0 +1,108 @@ +package com.fr.design.chartx.component; + +import com.fr.chartx.data.field.ColumnField; +import com.fr.chartx.data.field.SeriesValueColumnFields; +import com.fr.chartx.data.field.SeriesValueField; +import com.fr.data.util.function.AbstractDataFunction; +import com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper; +import com.fr.general.GeneralUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by shine on 2019/5/17. + */ +public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPane { + + @Override + protected AbstractUseFieldValuePane createUseFieldValuePane() { + return new UseFieldValuePane(); + } + + @Override + protected AbstractCustomFieldNamePane createCustomFieldNamePane() { + return new CustomFieldNamePane(); + } + + @Override + public void populateBean(SeriesValueColumnFields ob) { + if (ob.isCustomFieldValue()) { + populateCustomFieldNamePane(ob); + jcb.setSelectedIndex(1); + } else { + populateUseFieldValuePane(ob); + jcb.setSelectedIndex(0); + } + } + + @Override + public void updateBean(SeriesValueColumnFields ob) { + if (jcb.getSelectedIndex() == 0) { + ob.setCustomFieldValue(false); + updateUseFieldValuePane(ob); + } else { + ob.setCustomFieldValue(true); + updateCustomFieldNamePane(ob); + } + } + + private class UseFieldValuePane extends AbstractUseFieldValuePane { + + @Override + public void populateBean(SeriesValueColumnFields ob) { + List list = ob.getSeriesValueFieldList(); + if (list != null && list.size() > 0) { + populateSeries(list.get(0).getSeries().getFieldName()); + populateValue(list.get(0).getValue().getFieldName()); + populateFunction((AbstractDataFunction) list.get(0).getValue().getDataFunction()); + } + } + + @Override + public void updateBean(SeriesValueColumnFields ob) { + List list = new ArrayList(); + SeriesValueField seriesValueField = new SeriesValueField(); + ColumnField series = new ColumnField(updateSeries()); + ColumnField value = new ColumnField(updateValue()); + value.setDataFunction(updateFunction()); + seriesValueField.setValue(value); + seriesValueField.setSeries(series); + list.add(seriesValueField); + ob.setSeriesValueFieldList(list); + } + } + + private class CustomFieldNamePane extends AbstractCustomFieldNamePane { + + @Override + public void populateBean(SeriesValueColumnFields ob) { + List list = new ArrayList(); + for (SeriesValueField seriesValueField : ob.getSeriesValueFieldList()) { + Object[] array = new Object[3]; + array[0] = seriesValueField.getSeries().getFieldName(); + array[1] = seriesValueField.getValue().getFieldName(); + array[2] = DataPaneHelper.getFunctionString(seriesValueField.getValue().getDataFunction()); + list.add(array); + } + populate(list); + } + + @Override + public void updateBean(SeriesValueColumnFields ob) { + List list = update(); + List seriesValueFields = new ArrayList(); + for (Object[] line : list) { + ColumnField series = new ColumnField(GeneralUtils.objectToString(line[0])); + ColumnField value = new ColumnField(GeneralUtils.objectToString(line[1])); + value.setDataFunction(DataPaneHelper.getFunctionByName(GeneralUtils.objectToString(line[2]))); + SeriesValueField seriesValueField = new SeriesValueField(); + seriesValueField.setValue(value); + seriesValueField.setSeries(series); + seriesValueFields.add(seriesValueField); + } + ob.setSeriesValueFieldList(seriesValueFields); + } + } + +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithCustomFieldPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java similarity index 60% rename from designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithCustomFieldPane.java rename to designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java index 9b0418c30..7c4f0f083 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithCustomFieldPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java @@ -1,7 +1,7 @@ package com.fr.design.chartx.fields.diff; -import com.fr.chartx.data.field.diff.AbstractColumnFieldCollectionWithCustomField; -import com.fr.design.chartx.component.CustomFieldComboBoxPane; +import com.fr.chartx.data.field.diff.AbstractColumnFieldCollectionWithSeriesValue; +import com.fr.design.chartx.component.SeriesValueFieldComboBoxPane; import com.fr.design.chartx.fields.AbstractDataSetFieldsPane; import javax.swing.JPanel; @@ -12,49 +12,49 @@ import java.util.List; * Created by shine on 2019/5/16. * 带有 自定义系列名(fr表现为 系列名使用字段名) 的字段集合 的一个pane */ -public abstract class AbstractDataSetFieldsWithCustomFieldPane +public abstract class AbstractDataSetFieldsWithSeriesValuePane extends AbstractDataSetFieldsPane { - private CustomFieldComboBoxPane customFieldComboBoxPane; + private SeriesValueFieldComboBoxPane seriesValueFieldComboBoxPane; @Override protected JPanel createCenterPane() { JPanel normalCenter = super.createCenterPane(); - customFieldComboBoxPane = new CustomFieldComboBoxPane(); + seriesValueFieldComboBoxPane = new SeriesValueFieldComboBoxPane(); if (normalCenter != null) { JPanel panel = new JPanel(new BorderLayout()); panel.add(normalCenter, BorderLayout.CENTER); - panel.add(customFieldComboBoxPane, BorderLayout.SOUTH); + panel.add(seriesValueFieldComboBoxPane, BorderLayout.SOUTH); return panel; } else { - return customFieldComboBoxPane; + return seriesValueFieldComboBoxPane; } } @Override public void checkBoxUse(boolean hasUse) { super.checkBoxUse(hasUse); - customFieldComboBoxPane.checkBoxUse(hasUse); + seriesValueFieldComboBoxPane.checkBoxUse(hasUse); } @Override public void clearAllBoxList() { super.clearAllBoxList(); - customFieldComboBoxPane.clearAllBoxList(); + seriesValueFieldComboBoxPane.clearAllBoxList(); } @Override public void refreshBoxListWithSelectTableData(List columnNameList) { super.refreshBoxListWithSelectTableData(columnNameList); - customFieldComboBoxPane.refreshBoxListWithSelectTableData(columnNameList); + seriesValueFieldComboBoxPane.refreshBoxListWithSelectTableData(columnNameList); } - protected void populateCustomPane(AbstractColumnFieldCollectionWithCustomField t) { - customFieldComboBoxPane.populateBean(t.getCustomFieldValueColumnFields()); + protected void populateCustomPane(AbstractColumnFieldCollectionWithSeriesValue t) { + seriesValueFieldComboBoxPane.populateBean(t.getSeriesValueColumnFields()); } - protected void updateCustomPane(AbstractColumnFieldCollectionWithCustomField t) { - customFieldComboBoxPane.updateBean(t.getCustomFieldValueColumnFields()); + protected void updateCustomPane(AbstractColumnFieldCollectionWithSeriesValue t) { + seriesValueFieldComboBoxPane.updateBean(t.getSeriesValueColumnFields()); } } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java index f3828361b..6a6983fc1 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java @@ -13,7 +13,7 @@ import java.util.List; /** * Created by shine on 2019/4/10. */ -public class MultiCategoryDataSetFieldsPane extends AbstractDataSetFieldsWithCustomFieldPane { +public class MultiCategoryDataSetFieldsPane extends AbstractDataSetFieldsWithSeriesValuePane { private MultiComboBoxPane multiCategoryPane; From 5c113a8dbb63ee07f559d3d14ea440dd1da40285 Mon Sep 17 00:00:00 2001 From: zheng Date: Tue, 4 Jun 2019 16:11:47 +0800 Subject: [PATCH 2/6] =?UTF-8?q?CHART-4027=20=E7=B3=BB=E5=88=97+=E5=80=BC?= =?UTF-8?q?=20=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9B=B8=E5=85=B3celldata=20desi?= =?UTF-8?q?gn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractChartDataCorrelationPane.java | 106 ++++++++++++++++++ .../CellDataSeriesValueFieldsPane.java | 55 +++++++++ .../FieldEditorComponentWrapper.java | 19 ++++ .../TinyFormulaPaneEditorComponent.java | 61 ++++++++++ .../fields/AbstractCellDataFieldsPane.java | 16 ++- ...ractCellDataFieldsWithSeriesValuePane.java | 41 +++++++ ...tractDataSetFieldsWithSeriesValuePane.java | 4 +- .../diff/MultiCategoryCellDataFieldsPane.java | 9 +- .../diff/MultiCategoryDataSetFieldsPane.java | 4 +- 9 files changed, 302 insertions(+), 13 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java new file mode 100644 index 000000000..1e29a818e --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java @@ -0,0 +1,106 @@ +package com.fr.design.chartx.component; + +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.gui.frpane.UICorrelationPane; +import com.fr.design.gui.itable.UITable; +import com.fr.design.gui.itable.UITableEditor; +import com.fr.stable.StringUtils; + +import javax.swing.JTable; +import javax.swing.event.ChangeEvent; +import java.awt.BorderLayout; +import java.awt.Component; +import java.util.List; + +/** + * Created by shine on 2019/6/4. + */ +public abstract class AbstractChartDataCorrelationPane extends BasicBeanPane { + private FieldEditorComponentWrapper[] editorComponents; + + private UICorrelationPane correlationPane; + + public AbstractChartDataCorrelationPane() { + + this.editorComponents = fieldEditorComponentWrappers(); + + String[] headers = new String[editorComponents.length]; + + for (int i = 0, len = editorComponents.length; i < len; i++) { + headers[i] = editorComponents[i].headerName(); + } + + initComps(headers); + } + + protected abstract FieldEditorComponentWrapper[] fieldEditorComponentWrappers(); + + protected List update() { + return correlationPane.updateBean(); + } + + protected void populate(List list) { + correlationPane.populateBean(list); + } + + @Override + public T updateBean() { + return null; + } + + private void initComps(String[] headers) { + correlationPane = new UICorrelationPane(headers) { + public UITableEditor createUITableEditor() { + return new Editor(); + } + + protected UITable initUITable() { + return new UITable(columnCount) { + + public UITableEditor createTableEditor() { + return createUITableEditor(); + } + + public void tableCellEditingStopped(ChangeEvent e) { + stopPaneEditing(e); + } + }; + } + }; + + this.setLayout(new BorderLayout()); + this.add(correlationPane, BorderLayout.CENTER); + } + + private class Editor extends UITableEditor { + + private Component currentComponent; + private FieldEditorComponentWrapper currentEditorWrapper; + + public Object getCellEditorValue() { + return currentEditorWrapper.value(currentComponent); + } + + public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { + if (column == table.getModel().getColumnCount()) { + return null; + } + + correlationPane.stopCellEditing(); + + currentEditorWrapper = AbstractChartDataCorrelationPane.this.editorComponents[column]; + + currentComponent = currentEditorWrapper.createEditorComponent(correlationPane); + currentEditorWrapper.setValue(currentComponent, value); + + return currentComponent; + } + + } + + @Override + protected String title4PopupWindow() { + return StringUtils.EMPTY; + } + +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java new file mode 100644 index 000000000..21d428012 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java @@ -0,0 +1,55 @@ +package com.fr.design.chartx.component; + +import com.fr.chartx.data.field.ColumnField; +import com.fr.chartx.data.field.SeriesValueColumnFields; +import com.fr.chartx.data.field.SeriesValueField; +import com.fr.design.i18n.Toolkit; +import com.fr.general.GeneralUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by shine on 2019/6/4. + */ +public class CellDataSeriesValueFieldsPane extends AbstractChartDataCorrelationPane { + + @Override + protected FieldEditorComponentWrapper[] fieldEditorComponentWrappers() { + return new FieldEditorComponentWrapper[]{ + new TinyFormulaPaneEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Name")), + new TinyFormulaPaneEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Value")) + }; + } + + @Override + public void populateBean(SeriesValueColumnFields ob) { + List list = new ArrayList(); + + List seriesValueFieldList = ob.getSeriesValueFieldList(); + for (SeriesValueField seriesValueField : seriesValueFieldList) { + Object[] array = new Object[]{seriesValueField.getSeries().getFieldName(), seriesValueField.getValue().getFieldName()}; + list.add(array); + } + + populate(list); + } + + @Override + public void updateBean(SeriesValueColumnFields ob) { + List list = update(); + + List seriesValueFieldList = new ArrayList(); + + for (Object[] objects : list) { + SeriesValueField seriesValueField = new SeriesValueField(); + ColumnField series = new ColumnField(GeneralUtils.objectToString(objects[0])); + ColumnField value = new ColumnField(GeneralUtils.objectToString(objects[1])); + seriesValueField.setSeries(series); + seriesValueField.setValue(value); + seriesValueFieldList.add(seriesValueField); + } + + ob.setSeriesValueFieldList(seriesValueFieldList); + } +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java b/designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java new file mode 100644 index 000000000..9d8f1a043 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java @@ -0,0 +1,19 @@ +package com.fr.design.chartx.component; + +import com.fr.design.gui.frpane.UICorrelationPane; + +import java.awt.Component; + +/** + * Created by shine on 2019/6/4. + */ +public interface FieldEditorComponentWrapper { + + String headerName(); + + T createEditorComponent(UICorrelationPane parent); + + Object value(T t); + + void setValue(T t, Object o); +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java b/designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java new file mode 100644 index 000000000..623445073 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java @@ -0,0 +1,61 @@ +package com.fr.design.chartx.component; + +import com.fr.base.BaseFormula; +import com.fr.base.Utils; +import com.fr.design.constants.UIConstants; +import com.fr.design.event.UIObserverListener; +import com.fr.design.formula.TinyFormulaPane; +import com.fr.design.gui.frpane.UICorrelationPane; + +/** + * Created by shine on 2019/6/4. + */ +public class TinyFormulaPaneEditorComponent implements FieldEditorComponentWrapper { + + private String header; + + public TinyFormulaPaneEditorComponent(String header) { + this.header = header; + } + + @Override + public String headerName() { + return this.header; + } + + @Override + public TinyFormulaPane createEditorComponent(final UICorrelationPane parent) { + TinyFormulaPane editorComponent = new TinyFormulaPane() { + @Override + public void okEvent() { + parent.stopCellEditing(); + parent.fireTargetChanged(); + } + + @Override + protected void populateTextField(BaseFormula fm) { + formulaTextField.setText(fm.getContent()); + } + }; + editorComponent.setBackground(UIConstants.FLESH_BLUE); + + editorComponent.getUITextField().registerChangeListener(new UIObserverListener() { + @Override + public void doChange() { + parent.fireTargetChanged(); + } + }); + + return editorComponent; + } + + @Override + public Object value(TinyFormulaPane formulaPane) { + return formulaPane.getUITextField().getText(); + } + + @Override + public void setValue(TinyFormulaPane formulaPane, Object o) { + formulaPane.getUITextField().setText(Utils.objectToString(o)); + } +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractCellDataFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractCellDataFieldsPane.java index 98400ed7a..6b6408d93 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractCellDataFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractCellDataFieldsPane.java @@ -31,19 +31,23 @@ public abstract class AbstractCellDataFieldsPane + extends AbstractCellDataFieldsPane { + + private CellDataSeriesValueFieldsPane seriesValueFieldsPane; + + @Override + protected JPanel createCenterPane() { + JPanel normalCenter = super.createCenterPane(); + seriesValueFieldsPane = new CellDataSeriesValueFieldsPane(); + + if (normalCenter != null) { + JPanel panel = new JPanel(new BorderLayout()); + panel.add(normalCenter, BorderLayout.CENTER); + panel.add(seriesValueFieldsPane, BorderLayout.SOUTH); + return panel; + } else { + return seriesValueFieldsPane; + } + } + + protected void populateSeriesValuePane(AbstractColumnFieldCollectionWithSeriesValue t) { + seriesValueFieldsPane.populateBean(t.getSeriesValueColumnFields()); + } + + protected void updateSeriesValuePane(AbstractColumnFieldCollectionWithSeriesValue t) { + seriesValueFieldsPane.updateBean(t.getSeriesValueColumnFields()); + } + +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java index 7c4f0f083..c62a7deaa 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java @@ -50,11 +50,11 @@ public abstract class AbstractDataSetFieldsWithSeriesValuePane { +public class MultiCategoryCellDataFieldsPane extends AbstractCellDataFieldsWithSeriesValuePane { private MultiTinyFormulaPane multiCategoryPane; @@ -23,7 +22,7 @@ public class MultiCategoryCellDataFieldsPane extends AbstractCellDataFieldsPane< } @Override - protected JPanel addNorthPane() { + protected JPanel createNorthPane() { createMultiFormulaPane(); @@ -50,6 +49,8 @@ public class MultiCategoryCellDataFieldsPane extends AbstractCellDataFieldsPane< List categoryList = ob.getCategoryList(); multiCategoryPane.populate(categoryList); + + populateSeriesValuePane(ob); } @Override @@ -60,6 +61,8 @@ public class MultiCategoryCellDataFieldsPane extends AbstractCellDataFieldsPane< multiCategoryPane.update(categoryList); + updateSeriesValuePane(fieldCollection); + return fieldCollection; } } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java index 6a6983fc1..f638cad22 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java @@ -46,7 +46,7 @@ public class MultiCategoryDataSetFieldsPane extends AbstractDataSetFieldsWithSer multiCategoryPane.populate(categoryList); - populateCustomPane(ob); + populateSeriesValuePane(ob); } @Override @@ -57,7 +57,7 @@ public class MultiCategoryDataSetFieldsPane extends AbstractDataSetFieldsWithSer multiCategoryPane.update(categoryList); - updateCustomPane(columnFieldCollection); + updateSeriesValuePane(columnFieldCollection); return columnFieldCollection; } From 4b357edbc8212e3891b39738bae413f758f776cb Mon Sep 17 00:00:00 2001 From: zheng Date: Tue, 4 Jun 2019 16:34:12 +0800 Subject: [PATCH 3/6] update --- ...taCorrelationPane.java => AbstractCorrelationPane.java} | 7 ++++--- .../chartx/component/CellDataSeriesValueFieldsPane.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) rename designer-chart/src/main/java/com/fr/design/chartx/component/{AbstractChartDataCorrelationPane.java => AbstractCorrelationPane.java} (91%) diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCorrelationPane.java similarity index 91% rename from designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java rename to designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCorrelationPane.java index 1e29a818e..e1f833b1f 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractChartDataCorrelationPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCorrelationPane.java @@ -14,13 +14,14 @@ import java.util.List; /** * Created by shine on 2019/6/4. + * 自定义editorComponent + 支持多种数据格式 */ -public abstract class AbstractChartDataCorrelationPane extends BasicBeanPane { +public abstract class AbstractCorrelationPane extends BasicBeanPane { private FieldEditorComponentWrapper[] editorComponents; private UICorrelationPane correlationPane; - public AbstractChartDataCorrelationPane() { + public AbstractCorrelationPane() { this.editorComponents = fieldEditorComponentWrappers(); @@ -88,7 +89,7 @@ public abstract class AbstractChartDataCorrelationPane extends BasicBeanPane< correlationPane.stopCellEditing(); - currentEditorWrapper = AbstractChartDataCorrelationPane.this.editorComponents[column]; + currentEditorWrapper = AbstractCorrelationPane.this.editorComponents[column]; currentComponent = currentEditorWrapper.createEditorComponent(correlationPane); currentEditorWrapper.setValue(currentComponent, value); diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java index 21d428012..83a74f854 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java @@ -12,7 +12,7 @@ import java.util.List; /** * Created by shine on 2019/6/4. */ -public class CellDataSeriesValueFieldsPane extends AbstractChartDataCorrelationPane { +public class CellDataSeriesValueFieldsPane extends AbstractCorrelationPane { @Override protected FieldEditorComponentWrapper[] fieldEditorComponentWrappers() { From 269272c280ffed502a24880f6f8355b6d2c53a65 Mon Sep 17 00:00:00 2001 From: zheng Date: Mon, 10 Jun 2019 17:15:22 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CellDataSeriesValueCorrelationPane.java | 59 +++++++++++++++++++ .../CellDataSeriesValueFieldsPane.java | 55 ----------------- .../SeriesValueFieldComboBoxPane.java | 24 ++++---- .../AbstractCorrelationPane.java | 23 ++++---- .../correlation/AbstractEditorComponent.java | 19 ++++++ .../FieldEditorComponentWrapper.java | 4 +- .../TinyFormulaPaneEditorComponent.java | 15 ++--- ...ractCellDataFieldsWithSeriesValuePane.java | 14 ++--- ...tractDataSetFieldsWithSeriesValuePane.java | 8 +-- .../diff/MultiCategoryCellDataFieldsPane.java | 6 +- .../diff/MultiCategoryDataSetFieldsPane.java | 6 +- 11 files changed, 125 insertions(+), 108 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java delete mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java rename designer-chart/src/main/java/com/fr/design/chartx/component/{ => correlation}/AbstractCorrelationPane.java (80%) create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractEditorComponent.java rename designer-chart/src/main/java/com/fr/design/chartx/component/{ => correlation}/FieldEditorComponentWrapper.java (79%) rename designer-chart/src/main/java/com/fr/design/chartx/component/{ => correlation}/TinyFormulaPaneEditorComponent.java (80%) diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java new file mode 100644 index 000000000..3d5cdc9d9 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java @@ -0,0 +1,59 @@ +package com.fr.design.chartx.component; + +import com.fr.chartx.data.field.ColumnField; +import com.fr.chartx.data.field.SeriesValueCorrelationDefinition; +import com.fr.chartx.data.field.SeriesValueField; +import com.fr.design.chartx.component.correlation.AbstractCorrelationPane; +import com.fr.design.chartx.component.correlation.FieldEditorComponentWrapper; +import com.fr.design.chartx.component.correlation.TinyFormulaPaneEditorComponent; +import com.fr.design.i18n.Toolkit; +import com.fr.general.GeneralUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by shine on 2019/6/4. + */ +public class CellDataSeriesValueCorrelationPane extends AbstractCorrelationPane { + + @Override + protected FieldEditorComponentWrapper[] createFieldEditorComponentWrappers() { + return new FieldEditorComponentWrapper[]{ + new TinyFormulaPaneEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Name")), + new TinyFormulaPaneEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Value")) + }; + } + + @Override + protected List covertTBeanToTableModelList(SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { + List result = new ArrayList(); + + List seriesValueFieldList = seriesValueCorrelationDefinition.getSeriesValueFieldList(); + for (SeriesValueField seriesValueField : seriesValueFieldList) { + Object[] array = new Object[]{seriesValueField.getSeries().getFieldName(), seriesValueField.getValue().getFieldName()}; + result.add(array); + } + + return result; + } + + @Override + protected SeriesValueCorrelationDefinition covertTableModelListToTBean(List tableValues) { + List seriesValueFieldList = new ArrayList(); + + for (Object[] oneLine : tableValues) { + SeriesValueField seriesValueField = new SeriesValueField(); + ColumnField series = new ColumnField(GeneralUtils.objectToString(oneLine[0])); + ColumnField value = new ColumnField(GeneralUtils.objectToString(oneLine[1])); + seriesValueField.setSeries(series); + seriesValueField.setValue(value); + seriesValueFieldList.add(seriesValueField); + } + + SeriesValueCorrelationDefinition seriesValueCorrelationDefinition = new SeriesValueCorrelationDefinition(); + seriesValueCorrelationDefinition.setSeriesValueFieldList(seriesValueFieldList); + + return seriesValueCorrelationDefinition; + } +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java deleted file mode 100644 index 83a74f854..000000000 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueFieldsPane.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.fr.design.chartx.component; - -import com.fr.chartx.data.field.ColumnField; -import com.fr.chartx.data.field.SeriesValueColumnFields; -import com.fr.chartx.data.field.SeriesValueField; -import com.fr.design.i18n.Toolkit; -import com.fr.general.GeneralUtils; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by shine on 2019/6/4. - */ -public class CellDataSeriesValueFieldsPane extends AbstractCorrelationPane { - - @Override - protected FieldEditorComponentWrapper[] fieldEditorComponentWrappers() { - return new FieldEditorComponentWrapper[]{ - new TinyFormulaPaneEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Name")), - new TinyFormulaPaneEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Value")) - }; - } - - @Override - public void populateBean(SeriesValueColumnFields ob) { - List list = new ArrayList(); - - List seriesValueFieldList = ob.getSeriesValueFieldList(); - for (SeriesValueField seriesValueField : seriesValueFieldList) { - Object[] array = new Object[]{seriesValueField.getSeries().getFieldName(), seriesValueField.getValue().getFieldName()}; - list.add(array); - } - - populate(list); - } - - @Override - public void updateBean(SeriesValueColumnFields ob) { - List list = update(); - - List seriesValueFieldList = new ArrayList(); - - for (Object[] objects : list) { - SeriesValueField seriesValueField = new SeriesValueField(); - ColumnField series = new ColumnField(GeneralUtils.objectToString(objects[0])); - ColumnField value = new ColumnField(GeneralUtils.objectToString(objects[1])); - seriesValueField.setSeries(series); - seriesValueField.setValue(value); - seriesValueFieldList.add(seriesValueField); - } - - ob.setSeriesValueFieldList(seriesValueFieldList); - } -} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java index b6c080d52..82f0b7a88 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java @@ -1,7 +1,7 @@ package com.fr.design.chartx.component; import com.fr.chartx.data.field.ColumnField; -import com.fr.chartx.data.field.SeriesValueColumnFields; +import com.fr.chartx.data.field.SeriesValueCorrelationDefinition; import com.fr.chartx.data.field.SeriesValueField; import com.fr.data.util.function.AbstractDataFunction; import com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper; @@ -13,7 +13,7 @@ import java.util.List; /** * Created by shine on 2019/5/17. */ -public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPane { +public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPane { @Override protected AbstractUseFieldValuePane createUseFieldValuePane() { @@ -26,7 +26,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } @Override - public void populateBean(SeriesValueColumnFields ob) { + public void populateBean(SeriesValueCorrelationDefinition ob) { if (ob.isCustomFieldValue()) { populateCustomFieldNamePane(ob); jcb.setSelectedIndex(1); @@ -37,7 +37,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } @Override - public void updateBean(SeriesValueColumnFields ob) { + public void updateBean(SeriesValueCorrelationDefinition ob) { if (jcb.getSelectedIndex() == 0) { ob.setCustomFieldValue(false); updateUseFieldValuePane(ob); @@ -47,10 +47,10 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } } - private class UseFieldValuePane extends AbstractUseFieldValuePane { + private class UseFieldValuePane extends AbstractUseFieldValuePane { @Override - public void populateBean(SeriesValueColumnFields ob) { + public void populateBean(SeriesValueCorrelationDefinition ob) { List list = ob.getSeriesValueFieldList(); if (list != null && list.size() > 0) { populateSeries(list.get(0).getSeries().getFieldName()); @@ -60,7 +60,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } @Override - public void updateBean(SeriesValueColumnFields ob) { + public void updateBean(SeriesValueCorrelationDefinition ob) { List list = new ArrayList(); SeriesValueField seriesValueField = new SeriesValueField(); ColumnField series = new ColumnField(updateSeries()); @@ -73,12 +73,12 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } } - private class CustomFieldNamePane extends AbstractCustomFieldNamePane { + private class CustomFieldNamePane extends AbstractCustomFieldNamePane { @Override - public void populateBean(SeriesValueColumnFields ob) { + public void populateBean(SeriesValueCorrelationDefinition definition) { List list = new ArrayList(); - for (SeriesValueField seriesValueField : ob.getSeriesValueFieldList()) { + for (SeriesValueField seriesValueField : definition.getSeriesValueFieldList()) { Object[] array = new Object[3]; array[0] = seriesValueField.getSeries().getFieldName(); array[1] = seriesValueField.getValue().getFieldName(); @@ -89,7 +89,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } @Override - public void updateBean(SeriesValueColumnFields ob) { + public void updateBean(SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { List list = update(); List seriesValueFields = new ArrayList(); for (Object[] line : list) { @@ -101,7 +101,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan seriesValueField.setSeries(series); seriesValueFields.add(seriesValueField); } - ob.setSeriesValueFieldList(seriesValueFields); + seriesValueCorrelationDefinition.setSeriesValueFieldList(seriesValueFields); } } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCorrelationPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java similarity index 80% rename from designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCorrelationPane.java rename to designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java index e1f833b1f..c7b459e49 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCorrelationPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java @@ -1,4 +1,4 @@ -package com.fr.design.chartx.component; +package com.fr.design.chartx.component.correlation; import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.frpane.UICorrelationPane; @@ -23,7 +23,7 @@ public abstract class AbstractCorrelationPane extends BasicBeanPane { public AbstractCorrelationPane() { - this.editorComponents = fieldEditorComponentWrappers(); + this.editorComponents = createFieldEditorComponentWrappers(); String[] headers = new String[editorComponents.length]; @@ -34,21 +34,22 @@ public abstract class AbstractCorrelationPane extends BasicBeanPane { initComps(headers); } - protected abstract FieldEditorComponentWrapper[] fieldEditorComponentWrappers(); + protected abstract FieldEditorComponentWrapper[] createFieldEditorComponentWrappers(); - protected List update() { - return correlationPane.updateBean(); - } - - protected void populate(List list) { - correlationPane.populateBean(list); + @Override + public void populateBean(T ob) { + correlationPane.populateBean(covertTBeanToTableModelList(ob)); } @Override public T updateBean() { - return null; + return covertTableModelListToTBean(correlationPane.updateBean()); } + protected abstract List covertTBeanToTableModelList(T t); + + protected abstract T covertTableModelListToTBean(List tableValues); + private void initComps(String[] headers) { correlationPane = new UICorrelationPane(headers) { public UITableEditor createUITableEditor() { @@ -79,7 +80,7 @@ public abstract class AbstractCorrelationPane extends BasicBeanPane { private FieldEditorComponentWrapper currentEditorWrapper; public Object getCellEditorValue() { - return currentEditorWrapper.value(currentComponent); + return currentEditorWrapper.getValue(currentComponent); } public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractEditorComponent.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractEditorComponent.java new file mode 100644 index 000000000..d90605830 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractEditorComponent.java @@ -0,0 +1,19 @@ +package com.fr.design.chartx.component.correlation; + +import java.awt.Component; + +/** + * Created by shine on 2019/6/10. + */ +public abstract class AbstractEditorComponent implements FieldEditorComponentWrapper { + private String header; + + public AbstractEditorComponent(String header) { + this.header = header; + } + + @Override + public String headerName() { + return this.header; + } +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java similarity index 79% rename from designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java rename to designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java index 9d8f1a043..5181b466c 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/FieldEditorComponentWrapper.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java @@ -1,4 +1,4 @@ -package com.fr.design.chartx.component; +package com.fr.design.chartx.component.correlation; import com.fr.design.gui.frpane.UICorrelationPane; @@ -13,7 +13,7 @@ public interface FieldEditorComponentWrapper { T createEditorComponent(UICorrelationPane parent); - Object value(T t); + Object getValue(T t); void setValue(T t, Object o); } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java similarity index 80% rename from designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java rename to designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java index 623445073..71a0a59e5 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/TinyFormulaPaneEditorComponent.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java @@ -1,4 +1,4 @@ -package com.fr.design.chartx.component; +package com.fr.design.chartx.component.correlation; import com.fr.base.BaseFormula; import com.fr.base.Utils; @@ -10,17 +10,10 @@ import com.fr.design.gui.frpane.UICorrelationPane; /** * Created by shine on 2019/6/4. */ -public class TinyFormulaPaneEditorComponent implements FieldEditorComponentWrapper { - - private String header; +public class TinyFormulaPaneEditorComponent extends AbstractEditorComponent { public TinyFormulaPaneEditorComponent(String header) { - this.header = header; - } - - @Override - public String headerName() { - return this.header; + super(header); } @Override @@ -50,7 +43,7 @@ public class TinyFormulaPaneEditorComponent implements FieldEditorComponentWrapp } @Override - public Object value(TinyFormulaPane formulaPane) { + public Object getValue(TinyFormulaPane formulaPane) { return formulaPane.getUITextField().getText(); } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java index a3693bf53..dc0ce33ec 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java @@ -1,7 +1,7 @@ package com.fr.design.chartx.fields.diff; import com.fr.chartx.data.field.diff.AbstractColumnFieldCollectionWithSeriesValue; -import com.fr.design.chartx.component.CellDataSeriesValueFieldsPane; +import com.fr.design.chartx.component.CellDataSeriesValueCorrelationPane; import com.fr.design.chartx.fields.AbstractCellDataFieldsPane; import javax.swing.JPanel; @@ -13,12 +13,12 @@ import java.awt.BorderLayout; public abstract class AbstractCellDataFieldsWithSeriesValuePane extends AbstractCellDataFieldsPane { - private CellDataSeriesValueFieldsPane seriesValueFieldsPane; + private CellDataSeriesValueCorrelationPane seriesValueFieldsPane; @Override protected JPanel createCenterPane() { JPanel normalCenter = super.createCenterPane(); - seriesValueFieldsPane = new CellDataSeriesValueFieldsPane(); + seriesValueFieldsPane = new CellDataSeriesValueCorrelationPane(); if (normalCenter != null) { JPanel panel = new JPanel(new BorderLayout()); @@ -30,12 +30,12 @@ public abstract class AbstractCellDataFieldsWithSeriesValuePane categoryList = ob.getCategoryList(); + List categoryList = multiCategoryColumnFieldCollection.getCategoryList(); multiCategoryPane.populate(categoryList); - populateSeriesValuePane(ob); + populateSeriesValuePane(multiCategoryColumnFieldCollection); } @Override diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java index f638cad22..0e6121812 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/MultiCategoryDataSetFieldsPane.java @@ -41,12 +41,12 @@ public class MultiCategoryDataSetFieldsPane extends AbstractDataSetFieldsWithSer } @Override - public void populateBean(MultiCategoryColumnFieldCollection ob) { - List categoryList = ob.getCategoryList(); + public void populateBean(MultiCategoryColumnFieldCollection multiCategoryColumnFieldCollection) { + List categoryList = multiCategoryColumnFieldCollection.getCategoryList(); multiCategoryPane.populate(categoryList); - populateSeriesValuePane(ob); + populateSeriesValuePane(multiCategoryColumnFieldCollection); } @Override From 852907a1cc06640363389355a32f580135c7ea01 Mon Sep 17 00:00:00 2001 From: zheng Date: Mon, 10 Jun 2019 19:35:41 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractCustomFieldComboBoxPane.java | 214 ++++-------------- .../CellDataSeriesValueCorrelationPane.java | 5 +- .../SeriesValueFieldComboBoxPane.java | 21 +- .../correlation/AbstractCorrelationPane.java | 28 ++- .../CalculateComboBoxEditorComponent.java | 45 ++++ .../FieldEditorComponentWrapper.java | 3 +- .../TinyFormulaPaneEditorComponent.java | 4 +- .../UIComboBoxEditorComponent.java | 55 +++++ .../UITextFieldEditorComponent.java | 41 ++++ .../ExtendedCustomFieldComboBoxPane.java | 15 +- 10 files changed, 235 insertions(+), 196 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/correlation/CalculateComboBoxEditorComponent.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/correlation/UIComboBoxEditorComponent.java create mode 100644 designer-chart/src/main/java/com/fr/design/chartx/component/correlation/UITextFieldEditorComponent.java diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java index 8453452d2..6f6172bc3 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java @@ -2,14 +2,15 @@ package com.fr.design.chartx.component; import com.fr.data.util.function.AbstractDataFunction; import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.event.UIObserverListener; +import com.fr.design.chartx.component.correlation.AbstractCorrelationPane; +import com.fr.design.chartx.component.correlation.CalculateComboBoxEditorComponent; +import com.fr.design.chartx.component.correlation.FieldEditorComponentWrapper; +import com.fr.design.chartx.component.correlation.UIComboBoxEditorComponent; +import com.fr.design.chartx.component.correlation.UITextFieldEditorComponent; import com.fr.design.gui.frpane.UIComboBoxPane; -import com.fr.design.gui.frpane.UICorrelationPane; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itable.UITable; -import com.fr.design.gui.itable.UITableEditor; -import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.i18n.Toolkit; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.gui.ChartDataPane; @@ -19,17 +20,11 @@ import com.fr.extended.chart.UIComboBoxWithNone; import com.fr.general.GeneralUtils; import com.fr.stable.StringUtils; -import javax.swing.JComponent; import javax.swing.JPanel; -import javax.swing.JTable; import javax.swing.SwingConstants; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; @@ -38,7 +33,6 @@ import java.util.List; * 系列名使用字段名or字段值的抽象的pane 支持多种属性结构的存取 */ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane { - private static final String[] HEADS = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Field_Name"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Series_Name"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Summary_Method")}; private AbstractUseFieldValuePane useFieldValuePane; @@ -64,7 +58,31 @@ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane< customFieldNamePane = createCustomFieldNamePane(); List> list = new ArrayList>(); list.add(useFieldValuePane); - list.add(customFieldNamePane); + FurtherBasicBeanPane pane = new FurtherBasicBeanPane() { + @Override + public String title4PopupWindow() { + return Toolkit.i18nText("Fine-Design_Chart_Enable_Field_Name"); + } + + @Override + public boolean accept(Object ob) { + return false; + } + + @Override + public void reset() { + } + + @Override + public void populateBean(Object ob) { + } + + @Override + public Object updateBean() { + return null; + } + }; + list.add(pane); return list; } @@ -129,9 +147,9 @@ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane< function = new CalculateComboBox(); Component[][] components = new Component[][]{ - new Component[]{new UILabel(HEADS[1], SwingConstants.LEFT), series}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Value"), SwingConstants.LEFT), value}, - new Component[]{new UILabel(HEADS[2], SwingConstants.LEFT), function}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Series_Name"), SwingConstants.LEFT), series}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Use_Value"), SwingConstants.LEFT), value}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Summary_Method"), SwingConstants.LEFT), function}, }; double p = TableLayout.PREFERRED; @@ -204,165 +222,25 @@ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane< } } - protected abstract class AbstractCustomFieldNamePane extends FurtherBasicBeanPane { - - private UICorrelationPane correlationPane; - - public AbstractCustomFieldNamePane() { - initComponents(); - } - - private void initComponents() { - - correlationPane = new UICorrelationPane(HEADS) { - @Override - protected ActionListener getAddButtonListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - tablePane.addLine(new String[]{StringUtils.EMPTY, StringUtils.EMPTY, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_None")}); - fireTargetChanged(); - } - }; - } + protected abstract class AbstractCustomFieldNamePane extends AbstractCorrelationPane { - public UITableEditor createUITableEditor() { - return new Editor() { + @Override + protected FieldEditorComponentWrapper[] createFieldEditorComponentWrappers() { + return new FieldEditorComponentWrapper[]{ + new UIComboBoxEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Field_Name")) { @Override - protected UICorrelationPane getParent() { - return correlationPane; + protected List items() { + return fieldList; } - }; - } + }, + new UITextFieldEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Series_Name")), + new CalculateComboBoxEditorComponent(Toolkit.i18nText("Fine-Design_Chart_Summary_Method")) }; - - this.setLayout(new BorderLayout()); - this.add(correlationPane, BorderLayout.CENTER); - - } - - - protected void populate(List list) { - correlationPane.populateBean(list); - } - - protected List update() { - return correlationPane.updateBean(); - } - - - @Override - public boolean accept(Object ob) { - return true; - } - - @Override - public void reset() { } @Override - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Enable_Field_Name"); - } - - @Override - public T updateBean() { - return null; + protected Object[] createLine() { + return new String[]{StringUtils.EMPTY, StringUtils.EMPTY, Toolkit.i18nText("Fine-Design_Chart_Use_None")}; } } - - private abstract class Editor extends UITableEditor { - private JComponent editorComponent; - - protected abstract UICorrelationPane getParent(); - - @Override - public Object getCellEditorValue() { - if (editorComponent instanceof UIComboBox) { - return ((UIComboBox) editorComponent).getSelectedItem(); - } else if (editorComponent instanceof UITextField) { - return ((UITextField) editorComponent).getText(); - } else if (editorComponent instanceof CalculateComboBox) { - return ((CalculateComboBox) editorComponent).getSelectedItem(); - } - return super.getCellEditorValue(); - } - - @Override - public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, final int row, int column) { - - switch (column) { - case 0: - editorComponent = createComboBoxEdit(row, value); - break; - case 1: - editorComponent = createTextEdit(value); - break; - default: - editorComponent = createCalculateComboBox(value); - break; - - } - return editorComponent; - } - - private void setDefaultName(int row) { - UITable table = getParent().getTable(); - Object object = table.getValueAt(row, 0); - if (object != null) { - table.setValueAt(object, row, 1); - } - } - - private UIComboBox createComboBoxEdit(final int row, Object value) { - UIComboBox uiComboBox = new UIComboBox(fieldList.toArray()); - - uiComboBox.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - getParent().stopCellEditing(); - getParent().fireTargetChanged(); - setDefaultName(row); - } - }); - - if (value != null && StringUtils.isNotEmpty(value.toString())) { - uiComboBox.getModel().setSelectedItem(value); - } else { - uiComboBox.getModel().setSelectedItem(value); - } - - return uiComboBox; - } - - private UITextField createTextEdit(Object value) { - UITextField uiTextField = new UITextField(); - if (value != null) { - uiTextField.setText(value.toString()); - } - - uiTextField.registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - getParent().fireTargetChanged(); - } - }); - - return uiTextField; - } - - private CalculateComboBox createCalculateComboBox(Object value) { - CalculateComboBox calculateComboBox = new CalculateComboBox(); - if (value != null) { - calculateComboBox.setSelectedItem(value); - } - calculateComboBox.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - getParent().stopCellEditing(); - getParent().fireTargetChanged(); - } - }); - return calculateComboBox; - } - } - } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java index 3d5cdc9d9..fe6d7db76 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/CellDataSeriesValueCorrelationPane.java @@ -39,7 +39,7 @@ public class CellDataSeriesValueCorrelationPane extends AbstractCorrelationPane< } @Override - protected SeriesValueCorrelationDefinition covertTableModelListToTBean(List tableValues) { + protected void setTableModelListToTBean(List tableValues, SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { List seriesValueFieldList = new ArrayList(); for (Object[] oneLine : tableValues) { @@ -51,9 +51,6 @@ public class CellDataSeriesValueCorrelationPane extends AbstractCorrelationPane< seriesValueFieldList.add(seriesValueField); } - SeriesValueCorrelationDefinition seriesValueCorrelationDefinition = new SeriesValueCorrelationDefinition(); seriesValueCorrelationDefinition.setSeriesValueFieldList(seriesValueFieldList); - - return seriesValueCorrelationDefinition; } } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java index 82f0b7a88..4d5fbd3b4 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java @@ -74,25 +74,24 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } private class CustomFieldNamePane extends AbstractCustomFieldNamePane { - @Override - public void populateBean(SeriesValueCorrelationDefinition definition) { + protected List covertTBeanToTableModelList(SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { List list = new ArrayList(); - for (SeriesValueField seriesValueField : definition.getSeriesValueFieldList()) { - Object[] array = new Object[3]; - array[0] = seriesValueField.getSeries().getFieldName(); - array[1] = seriesValueField.getValue().getFieldName(); - array[2] = DataPaneHelper.getFunctionString(seriesValueField.getValue().getDataFunction()); + for (SeriesValueField seriesValueField : seriesValueCorrelationDefinition.getSeriesValueFieldList()) { + Object[] array = new Object[]{ + seriesValueField.getSeries().getFieldName(), + seriesValueField.getValue().getFieldName(), + DataPaneHelper.getFunctionString(seriesValueField.getValue().getDataFunction()) + }; list.add(array); } - populate(list); + return list; } @Override - public void updateBean(SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { - List list = update(); + protected void setTableModelListToTBean(List tableValues, SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { List seriesValueFields = new ArrayList(); - for (Object[] line : list) { + for (Object[] line : tableValues) { ColumnField series = new ColumnField(GeneralUtils.objectToString(line[0])); ColumnField value = new ColumnField(GeneralUtils.objectToString(line[1])); value.setDataFunction(DataPaneHelper.getFunctionByName(GeneralUtils.objectToString(line[2]))); diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java index c7b459e49..5c468c424 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/AbstractCorrelationPane.java @@ -10,6 +10,8 @@ import javax.swing.JTable; import javax.swing.event.ChangeEvent; import java.awt.BorderLayout; import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.util.List; /** @@ -41,14 +43,19 @@ public abstract class AbstractCorrelationPane extends BasicBeanPane { correlationPane.populateBean(covertTBeanToTableModelList(ob)); } + @Override + public void updateBean(T ob) { + setTableModelListToTBean(correlationPane.updateBean(), ob); + } + @Override public T updateBean() { - return covertTableModelListToTBean(correlationPane.updateBean()); + return null; } protected abstract List covertTBeanToTableModelList(T t); - protected abstract T covertTableModelListToTBean(List tableValues); + protected abstract void setTableModelListToTBean(List tableValues, T t); private void initComps(String[] headers) { correlationPane = new UICorrelationPane(headers) { @@ -68,12 +75,27 @@ public abstract class AbstractCorrelationPane extends BasicBeanPane { } }; } + + protected ActionListener getAddButtonListener() { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + tablePane.addLine(createLine()); + fireTargetChanged(); + } + }; + } }; this.setLayout(new BorderLayout()); this.add(correlationPane, BorderLayout.CENTER); } + protected Object[] createLine() { + return new Object[this.editorComponents.length]; + } + + private class Editor extends UITableEditor { private Component currentComponent; @@ -92,7 +114,7 @@ public abstract class AbstractCorrelationPane extends BasicBeanPane { currentEditorWrapper = AbstractCorrelationPane.this.editorComponents[column]; - currentComponent = currentEditorWrapper.createEditorComponent(correlationPane); + currentComponent = currentEditorWrapper.getTableCellEditorComponent(correlationPane, table, isSelected, row, column); currentEditorWrapper.setValue(currentComponent, value); return currentComponent; diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/CalculateComboBoxEditorComponent.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/CalculateComboBoxEditorComponent.java new file mode 100644 index 000000000..9b14fdf4d --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/CalculateComboBoxEditorComponent.java @@ -0,0 +1,45 @@ +package com.fr.design.chartx.component.correlation; + +import com.fr.design.gui.frpane.UICorrelationPane; +import com.fr.design.mainframe.chart.gui.data.CalculateComboBox; + +import javax.swing.JTable; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; + +/** + * Created by shine on 2019/6/10. + */ +public class CalculateComboBoxEditorComponent extends AbstractEditorComponent { + + public CalculateComboBoxEditorComponent(String header) { + super(header); + } + + @Override + public CalculateComboBox getTableCellEditorComponent(final UICorrelationPane parent, JTable table, boolean isSelected, int row, int column) { + + CalculateComboBox calculateComboBox = new CalculateComboBox(); + + calculateComboBox.addItemListener(new ItemListener() { + public void itemStateChanged(ItemEvent e) { + parent.stopCellEditing(); + parent.fireTargetChanged(); + } + }); + return calculateComboBox; + } + + @Override + public Object getValue(CalculateComboBox calculateComboBox) { + return calculateComboBox.getSelectedItem(); + } + + @Override + public void setValue(CalculateComboBox calculateComboBox, Object o) { + + if (o != null) { + calculateComboBox.setSelectedItem(o); + } + } +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java index 5181b466c..af934c325 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/FieldEditorComponentWrapper.java @@ -2,6 +2,7 @@ package com.fr.design.chartx.component.correlation; import com.fr.design.gui.frpane.UICorrelationPane; +import javax.swing.JTable; import java.awt.Component; /** @@ -11,7 +12,7 @@ public interface FieldEditorComponentWrapper { String headerName(); - T createEditorComponent(UICorrelationPane parent); + T getTableCellEditorComponent(UICorrelationPane parent, JTable table, boolean isSelected, final int row, int column); Object getValue(T t); diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java index 71a0a59e5..7470ef62d 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/TinyFormulaPaneEditorComponent.java @@ -7,6 +7,8 @@ import com.fr.design.event.UIObserverListener; import com.fr.design.formula.TinyFormulaPane; import com.fr.design.gui.frpane.UICorrelationPane; +import javax.swing.JTable; + /** * Created by shine on 2019/6/4. */ @@ -17,7 +19,7 @@ public class TinyFormulaPaneEditorComponent extends AbstractEditorComponent { + + public UIComboBoxEditorComponent(String header) { + super(header); + } + + protected List items() { + return new ArrayList(); + } + + @Override + public UIComboBox getTableCellEditorComponent(final UICorrelationPane parent, JTable table, boolean isSelected, final int row, int column) { + UIComboBox uiComboBox = new UIComboBox(items().toArray()); + + uiComboBox.addItemListener(new ItemListener() { + public void itemStateChanged(ItemEvent e) { + parent.stopCellEditing(); + parent.fireTargetChanged(); + UITable table = parent.getTable(); + Object object = table.getValueAt(row, 0); + if (object != null) { + table.setValueAt(object, row, 1); + } + } + }); + + return uiComboBox; + } + + + @Override + public Object getValue(UIComboBox uiComboBox) { + return uiComboBox.getSelectedItem(); + } + + @Override + public void setValue(UIComboBox uiComboBox, Object o) { + uiComboBox.getModel().setSelectedItem(o); + } +} diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/UITextFieldEditorComponent.java b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/UITextFieldEditorComponent.java new file mode 100644 index 000000000..142cfb12b --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/correlation/UITextFieldEditorComponent.java @@ -0,0 +1,41 @@ +package com.fr.design.chartx.component.correlation; + +import com.fr.design.event.UIObserverListener; +import com.fr.design.gui.frpane.UICorrelationPane; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.general.GeneralUtils; + +import javax.swing.JTable; + +/** + * Created by shine on 2019/6/10. + */ +public class UITextFieldEditorComponent extends AbstractEditorComponent { + public UITextFieldEditorComponent(String header) { + super(header); + } + + @Override + public UITextField getTableCellEditorComponent(final UICorrelationPane parent, JTable table, boolean isSelected, int row, int column) { + UITextField uiTextField = new UITextField(); + + uiTextField.registerChangeListener(new UIObserverListener() { + @Override + public void doChange() { + parent.fireTargetChanged(); + } + }); + + return uiTextField; + } + + @Override + public Object getValue(UITextField uiTextField) { + return uiTextField.getText(); + } + + @Override + public void setValue(UITextField uiTextField, Object o) { + uiTextField.setText(GeneralUtils.objectToString(o)); + } +} diff --git a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java index cc2849765..f918011db 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java @@ -75,23 +75,21 @@ public class ExtendedCustomFieldComboBoxPane extends AbstractCustomFieldComboBox private class ExtendedCustomFieldNamePane extends AbstractCustomFieldNamePane { @Override - public void populateBean(AbstractDataConfig ob) { - List customFields = ob.getCustomFields(); + protected List covertTBeanToTableModelList(AbstractDataConfig dataConfig) { + List customFields = dataConfig.getCustomFields(); List list = new ArrayList(); for (ExtendedField field : customFields) { String[] array = {field.getFieldName(), field.getCustomName(), DataPaneHelper.getFunctionString(field.getDataFunction())}; list.add(array); } - populate(list); + return list; } @Override - public void updateBean(AbstractDataConfig ob) { - List list = update(); - + protected void setTableModelListToTBean(List tableValues, AbstractDataConfig dataConfig) { List customFields = new ArrayList(); - for (Object[] line : list) { + for (Object[] line : tableValues) { ExtendedField field = new ExtendedField(Utils.objectToString(line[0])); field.setCustomName(Utils.objectToString(line[1])); if (line.length > 2) { @@ -100,8 +98,9 @@ public class ExtendedCustomFieldComboBoxPane extends AbstractCustomFieldComboBox customFields.add(field); } - ob.setCustomFields(customFields); + dataConfig.setCustomFields(customFields); } + } } From 0dce6dd580fdc3deca9328f8290fc1f9663f8fac Mon Sep 17 00:00:00 2001 From: zheng Date: Mon, 10 Jun 2019 20:00:01 +0800 Subject: [PATCH 6/6] update --- .../chartx/component/AbstractCustomFieldComboBoxPane.java | 4 ++-- .../design/chartx/component/SeriesValueFieldComboBoxPane.java | 4 ++-- .../fr/extended/chart/ExtendedCustomFieldComboBoxPane.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java index 6f6172bc3..3376bd193 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractCustomFieldComboBoxPane.java @@ -130,7 +130,7 @@ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane< useFieldValuePane.updateBean(t); } - protected abstract class AbstractUseFieldValuePane extends FurtherBasicBeanPane { + protected abstract class AbstractUseFieldValuePane extends FurtherBasicBeanPane { private UIComboBox series; private UIComboBox value; private CalculateComboBox function; @@ -222,7 +222,7 @@ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane< } } - protected abstract class AbstractCustomFieldNamePane extends AbstractCorrelationPane { + protected abstract class AbstractCustomFieldNamePane extends AbstractCorrelationPane { @Override protected FieldEditorComponentWrapper[] createFieldEditorComponentWrappers() { diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java index 4d5fbd3b4..30ae364b7 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/SeriesValueFieldComboBoxPane.java @@ -47,7 +47,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } } - private class UseFieldValuePane extends AbstractUseFieldValuePane { + private class UseFieldValuePane extends AbstractUseFieldValuePane { @Override public void populateBean(SeriesValueCorrelationDefinition ob) { @@ -73,7 +73,7 @@ public class SeriesValueFieldComboBoxPane extends AbstractCustomFieldComboBoxPan } } - private class CustomFieldNamePane extends AbstractCustomFieldNamePane { + private class CustomFieldNamePane extends AbstractCustomFieldNamePane { @Override protected List covertTBeanToTableModelList(SeriesValueCorrelationDefinition seriesValueCorrelationDefinition) { List list = new ArrayList(); diff --git a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java index f918011db..108d4b605 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/ExtendedCustomFieldComboBoxPane.java @@ -45,7 +45,7 @@ public class ExtendedCustomFieldComboBoxPane extends AbstractCustomFieldComboBox } } - private class ExtendedUseFieldValuePane extends AbstractUseFieldValuePane { + private class ExtendedUseFieldValuePane extends AbstractUseFieldValuePane { @Override public void populateBean(AbstractDataConfig ob) { @@ -72,7 +72,7 @@ public class ExtendedCustomFieldComboBoxPane extends AbstractCustomFieldComboBox } - private class ExtendedCustomFieldNamePane extends AbstractCustomFieldNamePane { + private class ExtendedCustomFieldNamePane extends AbstractCustomFieldNamePane { @Override protected List covertTBeanToTableModelList(AbstractDataConfig dataConfig) {