Browse Source

CHART-10233 接口修改

research/11.0
白岳 5 years ago
parent
commit
e9767aa0db
  1. 5
      designer-chart/src/main/java/com/fr/design/chart/fun/impl/AbstractChartTypeUI.java
  2. 79
      designer-chart/src/main/java/com/fr/design/chartx/impl/DefaultTypePane.java
  3. 73
      designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/AbstractChartTypePane.java

5
designer-chart/src/main/java/com/fr/design/chart/fun/impl/AbstractChartTypeUI.java

@ -5,7 +5,6 @@ import com.fr.design.beans.BasicBeanPane;
import com.fr.design.chart.fun.ChartTypeUIProvider;
import com.fr.design.chartx.impl.AbstractDataPane;
import com.fr.design.chartx.impl.AbstractOtherPane;
import com.fr.design.chartx.impl.DefaultTypePane;
import com.fr.design.condition.ConditionAttributesPane;
import com.fr.design.gui.frpane.AttributeChangeListener;
import com.fr.design.mainframe.chart.ChartEditPane;
@ -25,9 +24,7 @@ import com.fr.stable.fun.mark.API;
public abstract class AbstractChartTypeUI extends AbstractProvider implements ChartTypeUIProvider {
@Override
public AbstractChartTypePane getPlotTypePane() {
return new DefaultTypePane();
}
public abstract AbstractChartTypePane getPlotTypePane();
@Override
public abstract AbstractDataPane getChartDataPane(AttributeChangeListener listener);

79
designer-chart/src/main/java/com/fr/design/chartx/impl/DefaultTypePane.java

@ -1,79 +0,0 @@
package com.fr.design.chartx.impl;
import com.fr.chart.charttypes.ChartTypeManager;
import com.fr.chart.impl.AbstractChartWithData;
import com.fr.chartx.attr.ChartProvider;
import com.fr.design.ChartTypeInterfaceManager;
import com.fr.design.mainframe.chart.gui.type.AbstractChartTypePane;
import com.fr.design.mainframe.chart.gui.type.ChartImagePane;
/**
* Created by shine on 2019/09/04.
*/
public class DefaultTypePane<T extends AbstractChartWithData> extends AbstractChartTypePane<T> {
@Override
protected String[] getTypeIconPath() {
return ChartTypeInterfaceManager.getInstance().getDemoImagePath(getPlotID());
}
@Override
protected String[] getTypeTipName() {
return ChartTypeInterfaceManager.getInstance().getSubName(getPlotID());
}
@Override
public ChartProvider getDefaultChart() {
return ChartTypeManager.getInstance().getChartTypes(getPlotID())[0];
}
@Override
public String title4PopupWindow() {
return ChartTypeInterfaceManager.getInstance().getName(getPlotID());
}
protected int getSelectIndexInChart(T chart) {
return 0;
}
protected void setSelectIndexInChart(T chart, int index) {
}
@Override
public void populateBean(T ob) {
if (getTypeIconPath().length > 0) {
for (ChartImagePane imagePane : typeDemo) {
imagePane.isPressing = false;
}
typeDemo.get(getSelectIndexInChart(ob)).isPressing = true;
checkDemosBackground();
}
}
@Override
public void updateBean(T ob) {
if (getTypeIconPath().length > 0) {
for (int index = 0, len = typeDemo.size(); index < len; index++) {
if (typeDemo.get(index).isPressing) {
setSelectIndexInChart(ob, index);
return;
}
}
}
}
@Override
protected String[] getTypeLayoutPath() {
return new String[0];
}
@Override
protected String[] getTypeLayoutTipName() {
return new String[0];
}
@Override
protected String getPlotTypeID() {
return null;
}
}

73
designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/AbstractChartTypePane.java

@ -17,11 +17,11 @@ import com.fr.stable.Constants;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import java.util.ArrayList;
import java.util.List;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.util.ArrayList;
import java.util.List;
public abstract class AbstractChartTypePane<T extends ChartProvider> extends FurtherBasicBeanPane<T> {
@ -31,7 +31,7 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
protected static final int STYLE_SHADE = 0;
protected static final int STYLE_TRANSPARENT = 1;
protected static final int STYLE_PLANE3D = 2;
protected static final int STYLE_HIGHLIGHT = 3;
protected static final int STYLE_HIGHLIGHT = 3;
protected static final int BAIDU = 0;
protected static final int GOOGLE = 1;
@ -43,15 +43,24 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
protected JPanel stylePane; //样式布局的面板
private JPanel typePane;
protected abstract String[] getTypeIconPath();
protected abstract String[] getTypeTipName();
protected abstract String[] getTypeLayoutPath();
protected abstract String[] getTypeLayoutTipName();
protected String[] getTypeLayoutPath() {
return new String[0];
}
protected String[] getTypeLayoutTipName() {
return new String[0];
}
protected int lastStyleIndex = -1;
protected boolean typeChanged = false;//图表类型是否发生变化
protected String[] getNormalLayoutTipName() {
return new String[] {
return new String[]{
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Style_TopDownShade"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Style_Transparent"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Style_Plane3D"),
@ -75,37 +84,37 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
checkDemosBackground();
typePane = FRGUIPaneFactory.createNColumnGridInnerContainer_S_Pane(4);
for(int i = 0; i < typeDemo.size(); i++) {
for (int i = 0; i < typeDemo.size(); i++) {
ChartImagePane tmp = typeDemo.get(i);
typePane.add(tmp);
tmp.setDemoGroup(typeDemo.toArray(new ChartSelectDemoPane[typeDemo.size()]));
}
JPanel layoutPane = FRGUIPaneFactory.createNColumnGridInnerContainer_S_Pane(4);
if(styleList != null && !styleList.isEmpty()) {
for(int i = 0; i < styleList.size(); i ++) {
if (styleList != null && !styleList.isEmpty()) {
for (int i = 0; i < styleList.size(); i++) {
ChartImagePane tmp = styleList.get(i);
layoutPane.add(tmp);
tmp.setDemoGroup(styleList.toArray(new ChartSelectDemoPane[styleList.size()]));
}
}
double[] columnSize = { p, vs, f };
double[] rowSize = { p,p,p,p,p,p,p};
double[] columnSize = {p, vs, f};
double[] rowSize = {p, p, p, p, p, p, p};
if(styleList != null && !styleList.isEmpty()) {
if (styleList != null && !styleList.isEmpty()) {
Component[][] styleComp = new Component[][]{
new Component[]{new JSeparator()},
new Component[]{new BoldFontTextLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout"))},
new Component[]{layoutPane},
};
stylePane = TableLayoutHelper.createTableLayoutPane(styleComp,rowSize,columnSize);
stylePane = TableLayoutHelper.createTableLayoutPane(styleComp, rowSize, columnSize);
stylePane.setVisible(false);
}
JPanel panel = TableLayoutHelper.createTableLayoutPane(getPaneComponents(typePane),rowSize,columnSize);
JPanel panel = TableLayoutHelper.createTableLayoutPane(getPaneComponents(typePane), rowSize, columnSize);
this.setLayout(new BorderLayout());
this.add(panel,BorderLayout.CENTER);
this.add(panel, BorderLayout.CENTER);
}
protected List<ChartImagePane> createTypeDemoList() {
@ -120,7 +129,7 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
List<ChartImagePane> list = new ArrayList<ChartImagePane>();
int iconLen = iconPaths.length;
int tipLen = tipNames.length;
for(int i = 0, len = Math.min(iconLen, tipLen); i < len; i++) {
for (int i = 0, len = Math.min(iconLen, tipLen); i < len; i++) {
boolean isDrawRightLine = (i != len - 1 || (i + 1) % ONE_LINE_NUM != 0);
ChartImagePane imagePane = new ChartImagePane(iconPaths[i], tipNames[i], isDrawRightLine);
imagePane.isPressing = (i == 0);
@ -129,7 +138,7 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
return list;
}
protected Component[][] getPaneComponents(JPanel typePane){
protected Component[][] getPaneComponents(JPanel typePane) {
return new Component[][]{
new Component[]{typePane},
new Component[]{stylePane}
@ -137,14 +146,14 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
}
//子类覆盖
protected <T extends Plot> T getSelectedClonedPlot(){
protected <T extends Plot> T getSelectedClonedPlot() {
return null;
}
protected void checkTypeChange(Plot oldPlot){
if(styleList != null && !styleList.isEmpty()){
for(int i = 0; i < typeDemo.size(); i++){
if(typeDemo.get(i).isPressing && i != oldPlot.getDetailType()){
protected void checkTypeChange(Plot oldPlot) {
if (styleList != null && !styleList.isEmpty()) {
for (int i = 0; i < typeDemo.size(); i++) {
if (typeDemo.get(i).isPressing && i != oldPlot.getDetailType()) {
typeChanged = true;
break;
}
@ -154,8 +163,8 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
}
protected void checkDemosBackground() {
if(this.styleList != null && !styleList.isEmpty()){
for(int i = 0; i < styleList.size(); i++) {
if (this.styleList != null && !styleList.isEmpty()) {
for (int i = 0; i < styleList.size(); i++) {
styleList.get(i).checkBorder();
styleList.get(i).repaint();
}
@ -177,7 +186,7 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
}
//图表区属性清空
protected void resetChart(Chart chart){
protected void resetChart(Chart chart) {
chart.setTitle(new Title(chart.getTitle().getTextObject()));
chart.setBorderStyle(Constants.LINE_NONE);
chart.setBorderColor(new Color(150, 150, 150));
@ -192,20 +201,22 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
/**
* 此接口已删除不用实现了
*
* <p>
* 获取各图表类型界面ID, 本质是plotID
* 使用getPlotID
*
* @return 图表类型界面ID
*/
@Deprecated
protected abstract String getPlotTypeID();
protected String getPlotTypeID() {
return null;
}
public String getPlotID() {
return plotID;
}
/**
*
* @param ob 对象
* @return
*/
@ -216,13 +227,13 @@ public abstract class AbstractChartTypePane<T extends ChartProvider> extends Fur
return false;
}
protected boolean needsResetChart(Chart chart){
protected boolean needsResetChart(Chart chart) {
return chart != null
&&chart.getPlot() != null
&& chart.getPlot() != null
&& chart.getPlot().getPlotStyle() != ChartConstants.STYLE_NONE;
}
protected JPanel getTypePane(){
protected JPanel getTypePane() {
return typePane;
}

Loading…
Cancel
Save