Browse Source

CHART-11634 试管仪表盘从横向变成纵向 标签位置应该从上下变成左右

feature/big-screen
shine 5 years ago
parent
commit
72a50125db
  1. 2
      designer-base/src/main/java/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java
  2. 95
      designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelDetailPane.java

2
designer-base/src/main/java/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java

@ -65,7 +65,7 @@ public abstract class AbstractAttrNoScrollPane extends BasicPane {
} }
protected void initListener(Container parentComponent) { public void initListener(Container parentComponent) {
for (int i = 0; i < parentComponent.getComponentCount(); i++) { for (int i = 0; i < parentComponent.getComponentCount(); i++) {
Component tmpComp = parentComponent.getComponent(i); Component tmpComp = parentComponent.getComponent(i);

95
designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPlotLabelDetailPane.java

@ -1,6 +1,7 @@
package com.fr.van.chart.designer.style.label; package com.fr.van.chart.designer.style.label;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.chartx.TwoTuple;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
@ -11,6 +12,7 @@ import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane;
import com.fr.design.style.color.ColorSelectBox; import com.fr.design.style.color.ColorSelectBox;
import com.fr.general.ComparatorUtils;
import com.fr.plugin.chart.attr.plot.VanChartLabelPositionPlot; import com.fr.plugin.chart.attr.plot.VanChartLabelPositionPlot;
import com.fr.plugin.chart.base.AttrLabelDetail; import com.fr.plugin.chart.base.AttrLabelDetail;
import com.fr.plugin.chart.base.AttrTooltipContent; import com.fr.plugin.chart.base.AttrTooltipContent;
@ -47,11 +49,16 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
protected ColorSelectBox backgroundColor; protected ColorSelectBox backgroundColor;
private JPanel tractionLinePane; private JPanel tractionLinePane;
private JPanel positionPane;
private Integer[] oldPositionValues;
protected VanChartStylePane parent; protected VanChartStylePane parent;
private Plot plot;
public VanChartPlotLabelDetailPane(Plot plot, VanChartStylePane parent) { public VanChartPlotLabelDetailPane(Plot plot, VanChartStylePane parent) {
this.parent = parent; this.parent = parent;
this.plot = plot;
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
initToolTipContentPane(plot); initToolTipContentPane(plot);
JPanel contentPane = createLabelPane(plot); JPanel contentPane = createLabelPane(plot);
@ -105,42 +112,80 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(title, panel); return TableLayout4VanChartHelper.createExpandablePaneWithTitle(title, panel);
} }
protected JPanel createLabelPositionPane(double[] row, double[] col, Plot plot) { private TwoTuple<String[], Integer[]> getPositionNamesAndValues() {
if(plot instanceof VanChartLabelPositionPlot){ if (plot instanceof VanChartLabelPositionPlot) {
String[] names = ((VanChartLabelPositionPlot) plot).getLabelLocationNameArray(); String[] names = ((VanChartLabelPositionPlot) plot).getLabelLocationNameArray();
Integer[] values = ((VanChartLabelPositionPlot) plot).getLabelLocationValueArray(); Integer[] values = ((VanChartLabelPositionPlot) plot).getLabelLocationValueArray();
if(names == null || names.length == 0){ if (names == null || names.length == 0) {
return new JPanel(); return null;
} }
if(values == null || values.length == 0){ if (values == null || values.length == 0) {
return new JPanel(); return null;
} }
position = new UIButtonGroup<Integer>(names, values); return new TwoTuple<>(names, values);
autoAdjust = new UIButtonGroup<Boolean>(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}); }
return null;
}
private JPanel createLabelPositionPane(double[] row, double[] col, Plot plot) {
Component[][] comps = new Component[2][2]; if (getPositionNamesAndValues() == null) {
return new JPanel();
}
comps[0] = new Component[]{null,null}; autoAdjust = new UIButtonGroup<Boolean>(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});
comps[1] = new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), SwingConstants.LEFT), position};
JPanel panel =new JPanel(new BorderLayout()); JPanel panel = new JPanel(new BorderLayout());
panel.add(getLabelPositionPane(comps,row,col),BorderLayout.CENTER);
if(plot.isSupportLeadLine()){ positionPane = new JPanel();
tractionLine = new UIToggleButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Show_Guideline")); checkPositionPane();
tractionLinePane = TableLayout4VanChartHelper.createGapTableLayoutPane("",tractionLine); panel.add(positionPane, BorderLayout.CENTER);
panel.add(tractionLinePane, BorderLayout.SOUTH);
initPositionListener();
} else if(PlotFactory.plotAutoAdjustLabelPosition(plot)){ if (plot.isSupportLeadLine()) {
panel.add(TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Auto_Adjust"),autoAdjust), BorderLayout.SOUTH); tractionLine = new UIToggleButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Show_Guideline"));
} tractionLinePane = TableLayout4VanChartHelper.createGapTableLayoutPane("", tractionLine);
return panel; panel.add(tractionLinePane, BorderLayout.SOUTH);
initPositionListener();
} else if (PlotFactory.plotAutoAdjustLabelPosition(plot)) {
panel.add(TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Auto_Adjust"), autoAdjust), BorderLayout.SOUTH);
} }
return new JPanel(); return panel;
} }
private void checkPositionPane() {
TwoTuple<String[], Integer[]> result = getPositionNamesAndValues();
if (result == null) {
return;
}
Integer[] values = result.getSecond();
if (ComparatorUtils.equals(values, oldPositionValues)) {
return;
}
oldPositionValues = values;
position = new UIButtonGroup<Integer>(result.getFirst(), values);
Component[][] comps = new Component[2][2];
comps[0] = new Component[]{null, null};
comps[1] = new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), SwingConstants.LEFT), position};
double[] row = new double[]{TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED};
double[] col = new double[]{TableLayout.FILL, TableLayout4VanChartHelper.EDIT_AREA_WIDTH};
positionPane.removeAll();
positionPane.setLayout(new BorderLayout());
positionPane.add(getLabelPositionPane(comps, row, col), BorderLayout.CENTER);
parent.initListener(positionPane);
}
protected JPanel getLabelPositionPane (Component[][] comps, double[] row, double[] col){ protected JPanel getLabelPositionPane (Component[][] comps, double[] row, double[] col){
JPanel panel = TableLayoutHelper.createTableLayoutPane(comps,row,col); JPanel panel = TableLayoutHelper.createTableLayoutPane(comps,row,col);
return createTableLayoutPaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Attr_Layout"), panel); return createTableLayoutPaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Attr_Layout"), panel);
@ -228,6 +273,8 @@ public class VanChartPlotLabelDetailPane extends BasicPane {
} }
public void populate(AttrLabelDetail detail) { public void populate(AttrLabelDetail detail) {
checkPositionPane();
dataLabelContentPane.populateBean(detail.getContent()); dataLabelContentPane.populateBean(detail.getContent());
if(position != null){ if(position != null){
position.setSelectedItem(detail.getPosition()); position.setSelectedItem(detail.getPosition());

Loading…
Cancel
Save