|
|
|
@ -5,9 +5,10 @@ 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.BasicBeanPane; |
|
|
|
|
import com.fr.design.beans.FurtherBasicBeanPane; |
|
|
|
|
import com.fr.design.constants.LayoutConstants; |
|
|
|
|
import com.fr.design.gui.frpane.UIComboBoxPane; |
|
|
|
|
import com.fr.design.gui.ibutton.UIButtonGroup; |
|
|
|
|
import com.fr.design.gui.icombobox.UIComboBox; |
|
|
|
|
import com.fr.design.gui.ilable.BoldFontTextLabel; |
|
|
|
|
import com.fr.design.gui.ilable.UILabel; |
|
|
|
@ -15,7 +16,6 @@ import com.fr.design.i18n.Toolkit;
|
|
|
|
|
import com.fr.design.mainframe.chart.gui.ChartDataPane; |
|
|
|
|
import com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper; |
|
|
|
|
import com.fr.design.utils.gui.GUICoreUtils; |
|
|
|
|
import com.fr.design.utils.gui.UIComponentUtils; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.plugin.chart.box.data.VanBoxTableDefinition; |
|
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
@ -24,47 +24,91 @@ import com.fr.stable.StringUtils;
|
|
|
|
|
import javax.swing.BorderFactory; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
import java.awt.BorderLayout; |
|
|
|
|
import java.awt.CardLayout; |
|
|
|
|
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; |
|
|
|
|
|
|
|
|
|
public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollection> { |
|
|
|
|
public class BoxPlotTableSeriesTypeUsePane extends BasicBeanPane<ChartCollection> { |
|
|
|
|
|
|
|
|
|
private static boolean NEED_SUMMERY = false; |
|
|
|
|
private static final boolean NEED_SUMMERY = false; |
|
|
|
|
|
|
|
|
|
private UIComboBox categoryCombox; |
|
|
|
|
|
|
|
|
|
private BoxPlotTableSeriesNameUseFieldValuePane nameFieldValuePane; |
|
|
|
|
private BoxPlotTableSeriesNameUseFieldNamePane nameFieldNamePane; |
|
|
|
|
|
|
|
|
|
private UIButtonGroup<Integer> seriesFrom; |
|
|
|
|
private JPanel cardPane; |
|
|
|
|
|
|
|
|
|
public BoxPlotTableSeriesTypeUsePane() { |
|
|
|
|
cards = initPaneList(); |
|
|
|
|
initComponents(); |
|
|
|
|
initLayout(); |
|
|
|
|
initListener(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected void initLayout() { |
|
|
|
|
this.setLayout(new BorderLayout(4, LayoutConstants.VGAP_MEDIUM)); |
|
|
|
|
private void initComponents() { |
|
|
|
|
nameFieldValuePane = new BoxPlotTableSeriesNameUseFieldValuePane(); |
|
|
|
|
nameFieldNamePane = new BoxPlotTableSeriesNameUseFieldNamePane(); |
|
|
|
|
|
|
|
|
|
nameFieldValuePane.relayoutPane(NEED_SUMMERY); |
|
|
|
|
nameFieldNamePane.relayoutPane(NEED_SUMMERY); |
|
|
|
|
|
|
|
|
|
cardPane = new JPanel(new CardLayout()) { |
|
|
|
|
public Dimension getPreferredSize() { |
|
|
|
|
if (seriesFrom.getSelectedIndex() == 0) { |
|
|
|
|
return nameFieldValuePane.getPreferredSize(); |
|
|
|
|
} else { |
|
|
|
|
return nameFieldNamePane.getPreferredSize(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
cardPane.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15)); |
|
|
|
|
cardPane.add(nameFieldValuePane, nameFieldValuePane.title4PopupWindow()); |
|
|
|
|
cardPane.add(nameFieldNamePane, nameFieldNamePane.title4PopupWindow()); |
|
|
|
|
|
|
|
|
|
seriesFrom = new UIButtonGroup<>(new String[]{nameFieldValuePane.title4PopupWindow(), nameFieldNamePane.title4PopupWindow()}); |
|
|
|
|
seriesFrom.setSelectedIndex(0); |
|
|
|
|
|
|
|
|
|
addItemChangeEvent(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void addItemChangeEvent() { |
|
|
|
|
seriesFrom.addActionListener(new ActionListener() { |
|
|
|
|
public void actionPerformed(ActionEvent e) { |
|
|
|
|
checkCardPane(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void checkCardPane() { |
|
|
|
|
comboBoxItemStateChanged(); |
|
|
|
|
|
|
|
|
|
CardLayout cl = (CardLayout) cardPane.getLayout(); |
|
|
|
|
if (seriesFrom.getSelectedIndex() == 0) { |
|
|
|
|
cl.show(cardPane, nameFieldValuePane.title4PopupWindow()); |
|
|
|
|
} else { |
|
|
|
|
cl.show(cardPane, nameFieldNamePane.title4PopupWindow()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initLayout() { |
|
|
|
|
this.setLayout(new BorderLayout(4, LayoutConstants.VGAP_MEDIUM)); |
|
|
|
|
|
|
|
|
|
this.add(createNorthPane(), BorderLayout.NORTH); |
|
|
|
|
this.add(createCenterPane(), BorderLayout.CENTER); |
|
|
|
|
this.add(cardPane, BorderLayout.SOUTH); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected UIComboBox createComboBox() { |
|
|
|
|
UIComboBox uiComboBox = new UIComboBox(); |
|
|
|
|
UIComponentUtils.setPreferedWidth(uiComboBox, 100); |
|
|
|
|
return uiComboBox; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private JPanel createNorthPane() { |
|
|
|
|
JPanel north = new JPanel(new BorderLayout(4, 0)); |
|
|
|
|
north.setBorder(BorderFactory.createMatteBorder(0, 0, 6, 1, getBackground())); |
|
|
|
|
north.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, getBackground())); |
|
|
|
|
UILabel label = new BoldFontTextLabel(Toolkit.i18nText("Fine-Design_Chart_Style_Category")); |
|
|
|
|
label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH, ChartDataPane.LABEL_HEIGHT)); |
|
|
|
|
|
|
|
|
@ -74,8 +118,8 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
categoryCombox.setSelectedItem(null); |
|
|
|
|
|
|
|
|
|
north.add(GUICoreUtils.createBorderLayoutPane(new Component[]{categoryCombox, null, null, label, null})); |
|
|
|
|
north.setPreferredSize(new Dimension(246, 30)); |
|
|
|
|
north.setBorder(BorderFactory.createEmptyBorder(0, 24, 10, 15)); |
|
|
|
|
north.setPreferredSize(new Dimension(246, 20)); |
|
|
|
|
north.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15)); |
|
|
|
|
|
|
|
|
|
return north; |
|
|
|
|
} |
|
|
|
@ -85,7 +129,7 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
|
|
|
|
|
UILabel label = new UILabel(Toolkit.i18nText("Fine-Design_Chart_Series_Name_From")); |
|
|
|
|
label.setPreferredSize(new Dimension(ChartDataPane.LABEL_WIDTH, ChartDataPane.LABEL_HEIGHT)); |
|
|
|
|
center.add(GUICoreUtils.createBorderLayoutPane(new Component[]{jcb, null, null, label, null})); |
|
|
|
|
center.add(GUICoreUtils.createBorderLayoutPane(new Component[]{seriesFrom, null, null, label, null})); |
|
|
|
|
center.setBorder(BorderFactory.createEmptyBorder(0, 24, 0, 15)); |
|
|
|
|
|
|
|
|
|
return center; |
|
|
|
@ -102,7 +146,7 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
|
|
|
|
|
public void checkBoxUse(boolean hasUse) { |
|
|
|
|
categoryCombox.setEnabled(hasUse); |
|
|
|
|
jcb.setEnabled(hasUse); |
|
|
|
|
seriesFrom.setEnabled(hasUse); |
|
|
|
|
nameFieldValuePane.checkUse(hasUse); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -152,15 +196,15 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void relayoutPane() { |
|
|
|
|
if (jcb.getSelectedIndex() == 0) { |
|
|
|
|
if (seriesFrom.getSelectedIndex() == 0) { |
|
|
|
|
nameFieldValuePane.relayoutPane(NEED_SUMMERY); |
|
|
|
|
} else { |
|
|
|
|
nameFieldNamePane.relayoutPane(NEED_SUMMERY); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected void comboBoxItemStateChanged() { |
|
|
|
|
if (jcb.getSelectedIndex() == 0) { |
|
|
|
|
private void comboBoxItemStateChanged() { |
|
|
|
|
if (seriesFrom.getSelectedIndex() == 0) { |
|
|
|
|
nameFieldValuePane.relayoutPane(NEED_SUMMERY); |
|
|
|
|
} else { |
|
|
|
|
nameFieldNamePane.relayoutPane(NEED_SUMMERY); |
|
|
|
@ -176,14 +220,16 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (definition instanceof OneValueCDDefinition) { |
|
|
|
|
this.setSelectedIndex(0); |
|
|
|
|
seriesFrom.setSelectedIndex(0); |
|
|
|
|
nameFieldValuePane.populateDefinition(definition, NEED_SUMMERY); |
|
|
|
|
} else if (definition instanceof MoreNameCDDefinition) { |
|
|
|
|
this.setSelectedIndex(1); |
|
|
|
|
seriesFrom.setSelectedIndex(1); |
|
|
|
|
nameFieldNamePane.populateDefinition(definition, NEED_SUMMERY); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
populateCategoryItem(categoryCombox, definition.getCategoryName()); |
|
|
|
|
|
|
|
|
|
checkCardPane(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void updateBean(ChartCollection collection) { |
|
|
|
@ -195,7 +241,7 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
|
|
|
|
|
NormalTableDataDefinition definition; |
|
|
|
|
|
|
|
|
|
if (this.getSelectedIndex() == 0) { |
|
|
|
|
if (seriesFrom.getSelectedIndex() == 0) { |
|
|
|
|
definition = nameFieldValuePane.updateDefinition(); |
|
|
|
|
} else { |
|
|
|
|
definition = nameFieldNamePane.updateDefinition(table.getDetailedDefinition()); |
|
|
|
@ -222,4 +268,8 @@ public class BoxPlotTableSeriesTypeUsePane extends UIComboBoxPane<ChartCollectio
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public ChartCollection updateBean() { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|