forked from fanruan/design
eason-skx
5 years ago
6 changed files with 173 additions and 78 deletions
@ -0,0 +1,99 @@ |
|||||||
|
package com.fr.design.chartx.component; |
||||||
|
|
||||||
|
import com.fr.chartx.data.field.ColumnField; |
||||||
|
import com.fr.chartx.data.field.DataFilterProperties; |
||||||
|
import com.fr.chartx.data.field.SeriesValueCorrelationDefinition; |
||||||
|
import com.fr.chartx.data.field.diff.MultiCategoryColumnFieldCollection; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
import com.fr.van.chart.map.designer.VanChartGroupPane; |
||||||
|
|
||||||
|
import javax.swing.BorderFactory; |
||||||
|
import javax.swing.JPanel; |
||||||
|
import java.util.List; |
||||||
|
import java.awt.BorderLayout; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author shine |
||||||
|
* @version 10.0 |
||||||
|
* Created by shine on 2019/9/26 |
||||||
|
*/ |
||||||
|
public class CategorySeriesFilterPane extends JPanel { |
||||||
|
|
||||||
|
private AbstractSingleFilterPane seriesFilterPane; |
||||||
|
private AbstractSingleFilterPane categoryFilterPane; |
||||||
|
|
||||||
|
public CategorySeriesFilterPane() { |
||||||
|
seriesFilterPane = new AbstractSingleFilterPane() { |
||||||
|
@Override |
||||||
|
public String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Fine-Design_Chart_Series"); |
||||||
|
} |
||||||
|
}; |
||||||
|
categoryFilterPane = new AbstractSingleFilterPane() { |
||||||
|
@Override |
||||||
|
public String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Fine-Design_Chart_Style_Category"); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel groupPane = new VanChartGroupPane(new String[]{categoryFilterPane.title4PopupWindow(), seriesFilterPane.title4PopupWindow()} |
||||||
|
, new JPanel[]{categoryFilterPane, seriesFilterPane}) { |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel contentPane = new JPanel(new BorderLayout()); |
||||||
|
contentPane.add(new JPanel(), BorderLayout.NORTH); |
||||||
|
contentPane.add(groupPane, BorderLayout.CENTER); |
||||||
|
groupPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 15)); |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
this.add(TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Data_Filter"), contentPane), BorderLayout.CENTER); |
||||||
|
} |
||||||
|
|
||||||
|
public void populateMultiCategoryFieldCollection(MultiCategoryColumnFieldCollection fieldCollection) { |
||||||
|
|
||||||
|
SeriesValueCorrelationDefinition seriesValueCorrelationDefinition = fieldCollection.getSeriesValueCorrelationDefinition(); |
||||||
|
if (seriesValueCorrelationDefinition != null) { |
||||||
|
populateSeries(seriesValueCorrelationDefinition.getFilterProperties()); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
List<ColumnField> categoryList = fieldCollection.getCategoryList(); |
||||||
|
if (!categoryList.isEmpty()) { |
||||||
|
populateCategory(categoryList.get(0).getFilterProperties()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void updateMultiCategoryFieldCollection(MultiCategoryColumnFieldCollection fieldCollection) { |
||||||
|
|
||||||
|
SeriesValueCorrelationDefinition seriesValueCorrelationDefinition = fieldCollection.getSeriesValueCorrelationDefinition(); |
||||||
|
if (seriesValueCorrelationDefinition != null) { |
||||||
|
seriesValueCorrelationDefinition.setFilterProperties(updateSeries()); |
||||||
|
} |
||||||
|
|
||||||
|
List<ColumnField> categoryList = fieldCollection.getCategoryList(); |
||||||
|
if (!categoryList.isEmpty()) { |
||||||
|
categoryList.get(0).setFilterProperties(updateCategory()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void populateSeries(DataFilterProperties series) { |
||||||
|
seriesFilterPane.populateBean(series); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private void populateCategory(DataFilterProperties category) { |
||||||
|
categoryFilterPane.populateBean(category); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private DataFilterProperties updateSeries() { |
||||||
|
return seriesFilterPane.updateBean(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private DataFilterProperties updateCategory() { |
||||||
|
return categoryFilterPane.updateBean(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue