From d56742c6dab1409854acb7e1a2052023db548a64 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Mon, 26 Oct 2020 17:18:53 +0800 Subject: [PATCH] =?UTF-8?q?CHART-15902=20=E5=88=86=E7=B1=BB=E8=BD=B4?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=98=BE=E7=A4=BA=E6=96=B9=E5=BC=8F=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../style/axis/VanChartBaseAxisPane.java | 113 ++++++++++-------- .../component/AxisLabelDisplayComboBox.java | 48 ++++++++ 2 files changed, 112 insertions(+), 49 deletions(-) create mode 100644 designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/AxisLabelDisplayComboBox.java diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java index be2c7d8a5f..4590d132b8 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java @@ -34,6 +34,7 @@ import com.fr.stable.StringUtils; import com.fr.van.chart.designer.TableLayout4VanChartHelper; import com.fr.van.chart.designer.component.VanChartHtmlLabelPane; import com.fr.van.chart.designer.style.VanChartStylePane; +import com.fr.van.chart.designer.style.axis.component.AxisLabelDisplayComboBox; import javax.swing.BorderFactory; import javax.swing.Icon; @@ -66,6 +67,8 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { protected ChartTextAttrPane labelTextAttrPane; protected UINumberDragPane labelTextRotation; + private AxisLabelDisplayComboBox labelDisplayComboBox; + //轴标签缩略间隔显示 恢复用注释。下面6行删除。 protected UITextField labelGapValue; @@ -75,8 +78,10 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { //protected UISpinner labelGapValue; protected JPanel labelPanel; + private JPanel labelGapPane; private JPanel labelGapStylePane; private JPanel labelGapValuePane; + private JPanel labelDisplayPane; protected LineComboBox axisLineStyle; protected ColorSelectBox axisLineColor; @@ -127,7 +132,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { double[] rowSize = {p, p, p, p, p, p, p, p}; Component[][] components = new Component[][]{ new Component[]{createTitlePane(new double[]{p, p, p, p, p, p}, column, isXAxis), null}, - new Component[]{createLabelPane(new double[]{p, p}, column), null}, + new Component[]{createLabelPane(new double[]{p, p, p}, column), null}, new Component[]{createLineStylePane(new double[]{p, p, p, p, p}, columnSize), null}, new Component[]{createAxisPositionPane(new double[]{p, p, p}, columnSize, isXAxis), null}, new Component[]{createDisplayStrategy(), null}, @@ -142,7 +147,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { titleAlignPane = isXAxis ? getXAxisTitleAlignPane() : getYAxisTitleAlignPane(); titleAlignPane.setSelectedItem(Constants.CENTER); titleContent = new TinyFormulaPane(); - titleUseHtml = new UIToggleButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Html")); + titleUseHtml = new UIToggleButton(Toolkit.i18nText("Fine-Design_Chart_Html")); UIComponentUtils.setLineWrap(titleUseHtml); titleTextAttrPane = getChartTextAttrPane(); titleTextRotation = new UINumberDragPane(-ROTATION_MAX, ROTATION_MAX); @@ -153,12 +158,12 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { } Component[][] components = new Component[][]{ new Component[]{null, null}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Content")), titleContent}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Content")), titleContent}, new Component[]{null, titleUseHtml}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Position")), titleAlignPane}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Layout_Position")), titleAlignPane}, new Component[]{titleTextAttrPane, null}, new Component[]{ - FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_TextRotation")), + FRWidgetFactory.createLineWrapLabel(Toolkit.i18nText("Fine-Design_Chart_TextRotation")), UIComponentUtils.wrapWithBorderLayoutPane(titleTextRotation) }, }; @@ -199,31 +204,39 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { } protected JPanel createLabelPane(double[] row, double[] col) { - showLabel = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Show"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Hidden")}); - labelTextAttrPane = getChartTextAttrPane(); + showLabel = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Use_Show"), Toolkit.i18nText("Fine-Design_Chart_Hidden")}); + labelDisplayComboBox = new AxisLabelDisplayComboBox(); + labelTextAttrPane = getChartTextAttrPane(); labelTextRotation = new UINumberDragPane(-ROTATION_MAX, ROTATION_MAX); - labelGapStyle = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Automatic"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Fixed")}); + labelGapStyle = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Automatic"), Toolkit.i18nText("Fine-Design_Chart_Fixed")}); labelGapValue = new UITextField(); Component[][] gapComponents = new Component[][]{ new Component[]{ - FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_TextRotation")), + FRWidgetFactory.createLineWrapLabel(Toolkit.i18nText("Fine-Design_Chart_TextRotation")), UIComponentUtils.wrapWithBorderLayoutPane(labelTextRotation) }, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Label_Interval")), labelGapStyle}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Label_Interval")), labelGapStyle}, + new Component[]{null, null} }; - JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(gapComponents, row, col); - labelGapValuePane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText(""), labelGapValue, TableLayout4VanChartHelper.SECOND_EDIT_AREA_WIDTH); - JPanel gapPanel = new JPanel(new BorderLayout()); - gapPanel.add(panel, BorderLayout.CENTER); - gapPanel.add(labelGapValuePane, BorderLayout.SOUTH); + + JPanel gapDetailPane = TableLayout4VanChartHelper.createGapTableLayoutPane(gapComponents, row, col); + + labelDisplayPane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Axis_Label_Show"), labelDisplayComboBox); + labelGapValuePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText(""), labelGapValue, TableLayout4VanChartHelper.SECOND_EDIT_AREA_WIDTH); + + labelGapPane = new JPanel(new BorderLayout()); + labelGapPane.add(gapDetailPane, BorderLayout.CENTER); + labelGapPane.add(labelGapValuePane, BorderLayout.SOUTH); Component[][] components = new Component[][]{ + new Component[]{labelDisplayPane, null}, new Component[]{labelTextAttrPane, null}, - new Component[]{gapPanel, null}, + new Component[]{labelGapPane, null}, }; - JPanel showLabelPane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Label"), showLabel); + JPanel showLabelPane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Axis_Label"), showLabel); + labelPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col); labelPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0)); showLabel.addActionListener(new ActionListener() { @@ -238,15 +251,17 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { checkLabelGapValuePane(); } }); - JPanel jPanel = new JPanel(new BorderLayout()); - jPanel.add(showLabelPane, BorderLayout.NORTH); - jPanel.add(labelPanel, BorderLayout.CENTER); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(PaneTitleConstants.CHART_STYLE_LABEL_TITLE, jPanel); + + JPanel labelPane = new JPanel(new BorderLayout()); + labelPane.add(showLabelPane, BorderLayout.NORTH); + labelPane.add(labelPanel, BorderLayout.CENTER); + + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(PaneTitleConstants.CHART_STYLE_LABEL_TITLE, labelPane); } // protected JPanel createLabelPane(double[] row, double[] col){ // double p = TableLayout.PREFERRED; -// showLabel = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Show"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Hidden")}); +// showLabel = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Use_Show"), Toolkit.i18nText("Fine-Design_Chart_Hidden")}); // labelTextAttrPane = getChartTextAttrPane(); // // JPanel rotationPane = createLabelRotationPane(col); @@ -259,7 +274,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { // new Component[]{overlapPane, null}, // }; // -// JPanel showLabelPane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Label"),showLabel); +// JPanel showLabelPane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Axis_Label"),showLabel); // labelPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p}, col); // labelPanel.setBorder(BorderFactory.createEmptyBorder(0,10,0,0)); // showLabel.addActionListener(new ActionListener() { @@ -279,7 +294,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { Component[][] gapComponents = new Component[][]{ new Component[]{ - FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_TextRotation")), + FRWidgetFactory.createLineWrapLabel(Toolkit.i18nText("Fine-Design_Chart_TextRotation")), UIComponentUtils.wrapWithBorderLayoutPane(labelTextRotation) } }; @@ -345,13 +360,13 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { protected JPanel createLineStylePane(double[] row, double[] col) { axisLineStyle = createLineComboBox(); axisLineColor = new ColorSelectBox(100); - String[] strings = new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")}; + String[] strings = new String[]{Toolkit.i18nText("Fine-Design_Chart_Open"), Toolkit.i18nText("Fine-Design_Chart_Close")}; AxisTickLineType[] values = new AxisTickLineType[]{AxisTickLineType.TICK_LINE_OUTSIDE, AxisTickLineType.TICK_LINE_NONE}; mainTick = new UIButtonGroup(strings, values); secondTick = new UIButtonGroup(strings, values); JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(getLineStylePaneComponents(), row, col); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Line_Style"), panel); + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Axis_Line_Style"), panel); } protected LineComboBox createLineComboBox() { @@ -361,34 +376,34 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { protected Component[][] getLineStylePaneComponents() { return new Component[][]{ new Component[]{null, null}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Type")), axisLineStyle}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Color")), axisLineColor}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Main_Graduation_Line")), mainTick}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Second_Graduation_Line")), secondTick}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Type")), axisLineStyle}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Color")), axisLineColor}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Main_Graduation_Line")), mainTick}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Second_Graduation_Line")), secondTick}, }; } protected JPanel createAxisPositionPane(double[] row, double[] col, boolean isXAxis) { position = new UIButtonGroup(getAxisPositionNameArray(isXAxis), getAxisPositionValueArray(isXAxis)); - reversed = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_On"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Off")}, new Boolean[]{true, false}); + reversed = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_On"), Toolkit.i18nText("Fine-Design_Chart_Off")}, new Boolean[]{true, false}); Component[][] components = new Component[][]{ new Component[]{null, null}, new Component[]{ - FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Label_Position")), + FRWidgetFactory.createLineWrapLabel(Toolkit.i18nText("Fine-Design_Chart_Axis_Label_Position")), UIComponentUtils.wrapWithBorderLayoutPane(position) }, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_AxisReversed")), reversed}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_AxisReversed")), reversed}, }; JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), panel); + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), panel); } private String[] getAxisPositionNameArray(boolean isXAxis) { if (isXAxis) { - return new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Top"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Bottom"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Vertical_Zero")}; + return new String[]{Toolkit.i18nText("Fine-Design_Chart_Axis_Top"), Toolkit.i18nText("Fine-Design_Chart_Axis_Bottom"), Toolkit.i18nText("Fine-Design_Chart_Axis_Vertical_Zero")}; } else { - return new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Left"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Right"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Vertical_Zero")}; + return new String[]{Toolkit.i18nText("Fine-Design_Chart_Layout_Left"), Toolkit.i18nText("Fine-Design_Chart_Layout_Right"), Toolkit.i18nText("Fine-Design_Chart_Axis_Vertical_Zero")}; } } @@ -403,10 +418,10 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { protected JPanel createDisplayStrategy() { //区域显示策略 恢复用注释。删除到return,即除了注释的代码都删除。 maxProportion = new UISpinner(0, 100, 1, 30); - axisLimitSize = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Limit"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Not_Limit")}); + axisLimitSize = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Limit"), Toolkit.i18nText("Fine-Design_Chart_Not_Limit")}); - JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Area_Size"), axisLimitSize); - maxProportionPane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Max_Proportion"), maxProportion, TableLayout4VanChartHelper.SECOND_EDIT_AREA_WIDTH); + JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Area_Size"), axisLimitSize); + maxProportionPane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Max_Proportion"), maxProportion, TableLayout4VanChartHelper.SECOND_EDIT_AREA_WIDTH); maxProportionPane.setBorder(BorderFactory.createEmptyBorder(0, 12, 0, 0)); JPanel panel = new JPanel(new BorderLayout()); panel.add(limitSizePane, BorderLayout.NORTH); @@ -419,7 +434,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { } }); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Display_Strategy"), panel); + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Display_Strategy"), panel); //区域显示策略 恢复用注释。取消注释。 // limitPane = new LimitPane(); @@ -427,8 +442,8 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { } protected JPanel createValueStylePane() { - valueFormatStyle = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Common"), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")}); + valueFormatStyle = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Common"), + Toolkit.i18nText("Fine-Design_Chart_Custom")}); valueFormat = createFormatPane(); checkFormatType(); @@ -436,8 +451,8 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { htmlLabelPane = new VanChartHtmlLabelPane(); centerPane = new JPanel(new CardLayout()); - centerPane.add(valueFormat, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Common")); - centerPane.add(htmlLabelPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")); + centerPane.add(valueFormat, Toolkit.i18nText("Fine-Design_Chart_Common")); + centerPane.add(htmlLabelPane, Toolkit.i18nText("Fine-Design_Chart_Custom")); double p = TableLayout.PREFERRED; double f = TableLayout.FILL; @@ -445,7 +460,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { double[] rowSize = {p, p, p}; Component[][] components = new Component[][]{ new Component[]{null, null}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis_Label_Format"), SwingConstants.LEFT), valueFormatStyle}, + new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Axis_Label_Format"), SwingConstants.LEFT), valueFormatStyle}, new Component[]{null, centerPane}, }; JPanel contentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); @@ -458,7 +473,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { } }); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Format"), contentPane); + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Use_Format"), contentPane); } protected FormatPane createFormatPane() { @@ -502,9 +517,9 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { if (centerPane != null && valueFormatStyle != null) { CardLayout cardLayout = (CardLayout) centerPane.getLayout(); if (valueFormatStyle.getSelectedIndex() == 1) { - cardLayout.show(centerPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")); + cardLayout.show(centerPane, Toolkit.i18nText("Fine-Design_Chart_Custom")); } else { - cardLayout.show(centerPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Common")); + cardLayout.show(centerPane, Toolkit.i18nText("Fine-Design_Chart_Common")); } } } @@ -568,7 +583,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { */ @Override public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Category_Axis"); + return Toolkit.i18nText("Fine-Design_Chart_Category_Axis"); } /** diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/AxisLabelDisplayComboBox.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/AxisLabelDisplayComboBox.java new file mode 100644 index 0000000000..33b837eb76 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/AxisLabelDisplayComboBox.java @@ -0,0 +1,48 @@ +package com.fr.van.chart.designer.style.axis.component; + +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.i18n.Toolkit; +import com.fr.plugin.chart.type.AxisLabelDisplay; + +public class AxisLabelDisplayComboBox extends UIComboBox { + + public static final String[] DISPLAY_ITEM_GROUP = { + Toolkit.i18nText("Fine-Design_Chart_Label_OverlapInterval"), + Toolkit.i18nText("Fine-Design_Chart_Label_OverlapAbbreviate"), + Toolkit.i18nText("Fine-Design_Chart_Label_OverlapMulti_Line") + }; + + public static final AxisLabelDisplay[] DISPLAY_TYPE_GROUP = { + AxisLabelDisplay.INTERVAL, + AxisLabelDisplay.ELLIPSIS, + AxisLabelDisplay.MULTI_LINE + }; + + public AxisLabelDisplayComboBox() { + super(DISPLAY_ITEM_GROUP); + setSelectedIndex(0); + } + + public void reset() { + this.setSelectedItem(DISPLAY_ITEM_GROUP[0]); + } + + public void populateBean(AxisLabelDisplay type) { + for (int i = 0; i < DISPLAY_TYPE_GROUP.length; i++) { + if (type != null && type == DISPLAY_TYPE_GROUP[i]) { + setSelectedIndex(i); + break; + } + } + } + + public AxisLabelDisplay updateBean() { + int selectIndex = getSelectedIndex(); + + if (selectIndex >= 0 && selectIndex < DISPLAY_TYPE_GROUP.length) { + return DISPLAY_TYPE_GROUP[selectIndex]; + } + + return null; + } +}