forked from fanruan/design
Qinghui.Liu
4 years ago
9 changed files with 534 additions and 141 deletions
@ -0,0 +1,123 @@
|
||||
package com.fr.van.chart.box.data; |
||||
|
||||
import com.fr.chart.base.ChartConstants; |
||||
import com.fr.chart.chartattr.ChartCollection; |
||||
import com.fr.chart.chartdata.NormalTableDataDefinition; |
||||
import com.fr.chart.chartdata.TableDataDefinition; |
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.i18n.Toolkit; |
||||
import com.fr.design.mainframe.chart.gui.data.ChartDataFilterPane; |
||||
import com.fr.general.ComparatorUtils; |
||||
import com.fr.plugin.chart.box.data.VanBoxTableDefinitionHelper; |
||||
import com.fr.plugin.chart.box.data.VanBoxTableResultDefinition; |
||||
import com.fr.stable.ArrayUtils; |
||||
import com.fr.stable.StringUtils; |
||||
|
||||
import javax.swing.ComboBoxModel; |
||||
|
||||
public class BoxPlotDataContentPaneHelp { |
||||
|
||||
public static void populateDataScreeningPane(ChartDataFilterPane dataScreeningPane, ChartCollection collection) { |
||||
NormalTableDataDefinition detailedDefinition = VanBoxTableDefinitionHelper.getBoxTableDetailedDefinition(collection); |
||||
VanBoxTableResultDefinition resultDefinition = VanBoxTableDefinitionHelper.getBoxTableResultDefinition(collection); |
||||
|
||||
if (detailedDefinition != null) { |
||||
dataScreeningPane.populateDefinition(detailedDefinition, false); |
||||
} else if (resultDefinition != null) { |
||||
dataScreeningPane.populateDefinition(resultDefinition, false); |
||||
} |
||||
} |
||||
|
||||
public static void updateDataScreeningPane(ChartDataFilterPane dataScreeningPane, ChartCollection collection) { |
||||
NormalTableDataDefinition detailedDefinition = VanBoxTableDefinitionHelper.getBoxTableDetailedDefinition(collection); |
||||
VanBoxTableResultDefinition resultDefinition = VanBoxTableDefinitionHelper.getBoxTableResultDefinition(collection); |
||||
|
||||
if (detailedDefinition != null) { |
||||
dataScreeningPane.updateDefinition(detailedDefinition); |
||||
} |
||||
|
||||
if (resultDefinition != null) { |
||||
dataScreeningPane.updateDefinition(resultDefinition); |
||||
} |
||||
} |
||||
|
||||
public static void updateCategoryPane(UIComboBox categoryCombox, ChartCollection collection, boolean isDetailed) { |
||||
Object categoryName = categoryCombox.getSelectedItem(); |
||||
|
||||
TableDataDefinition dataDefinition; |
||||
|
||||
if (isDetailed) { |
||||
dataDefinition = VanBoxTableDefinitionHelper.getBoxTableDetailedDefinition(collection); |
||||
|
||||
if (dataDefinition == null) { |
||||
return; |
||||
} |
||||
|
||||
if (ArrayUtils.contains(ChartConstants.getNoneKeys(), categoryName)) { |
||||
((NormalTableDataDefinition) dataDefinition).setCategoryName(StringUtils.EMPTY); |
||||
} else { |
||||
((NormalTableDataDefinition) dataDefinition).setCategoryName(categoryName == null ? null : categoryName.toString()); |
||||
} |
||||
} else { |
||||
dataDefinition = VanBoxTableDefinitionHelper.getBoxTableResultDefinition(collection); |
||||
|
||||
if (dataDefinition == null) { |
||||
return; |
||||
} |
||||
|
||||
if (ArrayUtils.contains(ChartConstants.getNoneKeys(), categoryName)) { |
||||
((VanBoxTableResultDefinition) dataDefinition).setCategoryName(StringUtils.EMPTY); |
||||
} else { |
||||
((VanBoxTableResultDefinition) dataDefinition).setCategoryName(categoryName == null ? null : categoryName.toString()); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public static void populateCategoryPane(UIComboBox categoryCombox, ChartCollection collection, boolean isDetailed) { |
||||
TableDataDefinition data; |
||||
|
||||
if (isDetailed) { |
||||
data = VanBoxTableDefinitionHelper.getBoxTableDetailedDefinition(collection); |
||||
|
||||
if (data == null) { |
||||
categoryCombox.setSelectedItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); |
||||
} else { |
||||
populateCategoryItem(categoryCombox, ((NormalTableDataDefinition) data).getCategoryName()); |
||||
} |
||||
} else { |
||||
data = VanBoxTableDefinitionHelper.getBoxTableResultDefinition(collection); |
||||
|
||||
if (data == null) { |
||||
categoryCombox.setSelectedItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); |
||||
} else { |
||||
populateCategoryItem(categoryCombox, ((VanBoxTableResultDefinition) data).getCategoryName()); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public static void populateCategoryItem(UIComboBox categoryCombox, Object item) { |
||||
if (ComparatorUtils.equals(item, StringUtils.EMPTY)) { |
||||
categoryCombox.setSelectedItem(Toolkit.i18nText("Fine-Design_Chart_Use_None")); |
||||
} else if (!boxItemsContainsObject(categoryCombox, item)) { |
||||
categoryCombox.setSelectedItem(null); |
||||
} else { |
||||
categoryCombox.setSelectedItem(item); |
||||
} |
||||
} |
||||
|
||||
public static boolean boxItemsContainsObject(UIComboBox box, Object item) { |
||||
if (box == null) { |
||||
return false; |
||||
} |
||||
|
||||
ComboBoxModel dataModel = box.getModel(); |
||||
|
||||
for (int i = 0; i < dataModel.getSize(); i++) { |
||||
if (ComparatorUtils.equals(dataModel.getElementAt(i), item)) { |
||||
return true; |
||||
} |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
} |
@ -1,20 +0,0 @@
|
||||
package com.fr.van.chart.box.data; |
||||
|
||||
import com.fr.design.mainframe.chart.gui.ChartDataPane; |
||||
import com.fr.design.mainframe.chart.gui.data.table.CategoryPlotTableDataContentPane; |
||||
|
||||
import java.util.List; |
||||
|
||||
public class BoxPlotTableDetailedDataSeriesPane extends CategoryPlotTableDataContentPane { |
||||
|
||||
public BoxPlotTableDetailedDataSeriesPane(ChartDataPane parent) { |
||||
super(parent); |
||||
} |
||||
|
||||
public void refreshBoxListWithSelectTableData(List list) { |
||||
refreshBoxItems(categoryCombox, list); |
||||
categoryCombox.addItem(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_None")); |
||||
|
||||
seriesTypeComboxPane.refreshBoxListWithSelectTableData(list); |
||||
} |
||||
} |
@ -0,0 +1,143 @@
|
||||
package com.fr.van.chart.box.data; |
||||
|
||||
import com.fr.chart.chartattr.ChartCollection; |
||||
import com.fr.chart.chartdata.MoreNameCDDefinition; |
||||
import com.fr.chart.chartdata.NormalTableDataDefinition; |
||||
import com.fr.chart.chartdata.OneValueCDDefinition; |
||||
import com.fr.design.beans.FurtherBasicBeanPane; |
||||
import com.fr.design.constants.LayoutConstants; |
||||
import com.fr.design.gui.frpane.UIComboBoxPane; |
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.i18n.Toolkit; |
||||
import com.fr.design.mainframe.chart.gui.ChartDataPane; |
||||
import com.fr.design.mainframe.chart.gui.data.table.SeriesNameUseFieldNamePane; |
||||
import com.fr.design.mainframe.chart.gui.data.table.SeriesNameUseFieldValuePane; |
||||
import com.fr.design.utils.gui.GUICoreUtils; |
||||
import com.fr.design.utils.gui.UIComponentUtils; |
||||
import com.fr.plugin.chart.box.data.VanBoxTableDefinition; |
||||
import com.fr.plugin.chart.box.data.VanBoxTableDefinitionHelper; |
||||
|
||||
import javax.swing.BorderFactory; |
||||
import javax.swing.JPanel; |
||||
import java.awt.BorderLayout; |
||||
import java.awt.Component; |
||||
import java.awt.Dimension; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollection> { |
||||
|
||||
private static boolean NEED_SUMMERY = false; |
||||
|
||||
private SeriesNameUseFieldValuePane nameFieldValuePane; |
||||
private SeriesNameUseFieldNamePane nameFieldNamePane; |
||||
|
||||
public BoxPlotTableSeriesTypeUsePane() { |
||||
cards = initPaneList(); |
||||
initComponents(); |
||||
} |
||||
|
||||
protected void initLayout() { |
||||
this.setLayout(new BorderLayout(4, LayoutConstants.VGAP_MEDIUM)); |
||||
|
||||
cardPane.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15)); |
||||
|
||||
this.add(createNorthPane(), BorderLayout.NORTH); |
||||
this.add(cardPane, BorderLayout.CENTER); |
||||
} |
||||
|
||||
protected UIComboBox createComboBox() { |
||||
UIComboBox uiComboBox = new UIComboBox(); |
||||
UIComponentUtils.setPreferedWidth(uiComboBox, 100); |
||||
return uiComboBox; |
||||
} |
||||
|
||||
private JPanel createNorthPane() { |
||||
JPanel north = new JPanel(new BorderLayout(4, 0)); |
||||
|
||||
UILabel label = new UILabel(Toolkit.i18nText("Fine-Design_Chart_Series_Name_From")); |
||||
label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH, ChartDataPane.LABEL_HEIGHT)); |
||||
north.add(GUICoreUtils.createBorderLayoutPane(new Component[]{jcb, null, null, label, null})); |
||||
north.setBorder(BorderFactory.createEmptyBorder(10, 24, 0, 15)); |
||||
|
||||
return north; |
||||
} |
||||
|
||||
public void checkBoxUse(boolean hasUse) { |
||||
jcb.setEnabled(hasUse); |
||||
nameFieldValuePane.checkUse(hasUse); |
||||
} |
||||
|
||||
public void refreshBoxListWithSelectTableData(List list) { |
||||
nameFieldValuePane.refreshBoxListWithSelectTableData(list); |
||||
nameFieldNamePane.refreshBoxListWithSelectTableData(list); |
||||
} |
||||
|
||||
public void clearAllBoxList() { |
||||
nameFieldValuePane.clearAllBoxList(); |
||||
nameFieldNamePane.clearAllBoxList(); |
||||
} |
||||
|
||||
protected String title4PopupWindow() { |
||||
return Toolkit.i18nText("Fine-Design_Chart_Series_Name_From"); |
||||
} |
||||
|
||||
protected List<FurtherBasicBeanPane<? extends ChartCollection>> initPaneList() { |
||||
nameFieldValuePane = new SeriesNameUseFieldValuePane(); |
||||
nameFieldNamePane = new SeriesNameUseFieldNamePane(); |
||||
|
||||
nameFieldValuePane.relayoutPane(NEED_SUMMERY); |
||||
nameFieldNamePane.relayoutPane(NEED_SUMMERY); |
||||
|
||||
List<FurtherBasicBeanPane<? extends ChartCollection>> paneList = new ArrayList<FurtherBasicBeanPane<? extends ChartCollection>>(); |
||||
|
||||
paneList.add(nameFieldValuePane); |
||||
paneList.add(nameFieldNamePane); |
||||
|
||||
return paneList; |
||||
} |
||||
|
||||
public void relayoutPane() { |
||||
if (jcb.getSelectedIndex() == 0) { |
||||
nameFieldValuePane.relayoutPane(NEED_SUMMERY); |
||||
} else { |
||||
nameFieldNamePane.relayoutPane(NEED_SUMMERY); |
||||
} |
||||
} |
||||
|
||||
protected void comboBoxItemStateChanged() { |
||||
if (jcb.getSelectedIndex() == 0) { |
||||
nameFieldValuePane.relayoutPane(NEED_SUMMERY); |
||||
} else { |
||||
nameFieldNamePane.relayoutPane(NEED_SUMMERY); |
||||
} |
||||
} |
||||
|
||||
public void populateBean(ChartCollection collection) { |
||||
NormalTableDataDefinition definition = VanBoxTableDefinitionHelper.getBoxTableDetailedDefinition(collection); |
||||
|
||||
if (definition instanceof OneValueCDDefinition) { |
||||
this.setSelectedIndex(0); |
||||
nameFieldValuePane.populateDefinition(definition, NEED_SUMMERY); |
||||
} else if (definition instanceof MoreNameCDDefinition) { |
||||
this.setSelectedIndex(1); |
||||
nameFieldNamePane.populateDefinition(definition, NEED_SUMMERY); |
||||
} |
||||
} |
||||
|
||||
public void updateBean(ChartCollection ob) { |
||||
VanBoxTableDefinition table = VanBoxTableDefinitionHelper.getBoxTableDefinition(ob); |
||||
|
||||
NormalTableDataDefinition definition; |
||||
|
||||
if (this.getSelectedIndex() == 0) { |
||||
definition = nameFieldValuePane.updateDefinition(); |
||||
} else { |
||||
definition = nameFieldNamePane.updateDefinition(table.getDetailedDefinition()); |
||||
} |
||||
|
||||
table.setDetailedDefinition(definition); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue