Browse Source

第三方图表接口

master
mengao 7 years ago
parent
commit
14a57b92e6
  1. 5
      designer/src/com/fr/quickeditor/ChartQuickEditor.java
  2. 2
      designer_base/src/com/fr/design/module/DesignModuleFactory.java
  3. 12
      designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java
  4. 2
      designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java
  5. 3
      designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java
  6. 3
      designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java
  7. 36
      designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java
  8. 4
      designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java
  9. 173
      designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java

5
designer/src/com/fr/quickeditor/ChartQuickEditor.java

@ -1,17 +1,18 @@
package com.fr.quickeditor;
import com.fr.base.chart.BaseChartCollection;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.design.designer.TargetComponent;
import com.fr.design.gui.chart.BaseChartPropertyPane;
import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.module.DesignModuleFactory;
import com.fr.design.selection.QuickEditor;
import com.fr.grid.selection.CellSelection;
import com.fr.grid.selection.FloatSelection;
import com.fr.grid.selection.Selection;
import com.fr.poly.PolyDesigner;
import com.fr.poly.creator.ChartBlockEditor;
import com.fr.report.cell.Elem;
import com.fr.design.selection.QuickEditor;
import java.awt.*;
@ -45,7 +46,7 @@ public class ChartQuickEditor extends QuickEditor<TargetComponent>{
element = ((ElementCasePane)tc).getEditingElementCase().getFloatElement(fs.getSelectedFloatName());
}
collection = (BaseChartCollection) element.getValue();
DesignModuleFactory.setChartCollection((ChartCollection) collection);
add(editingPropertyPane = DesignModuleFactory.getChartPropertyPane(), BorderLayout.CENTER);
editingPropertyPane.setSupportCellData(true);
}

2
designer_base/src/com/fr/design/module/DesignModuleFactory.java

File diff suppressed because one or more lines are too long

12
designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java

@ -11,7 +11,7 @@ import com.fr.design.chart.fun.IndependentChartUIProvider;
import com.fr.design.chart.gui.ChartWidgetOption;
import com.fr.design.chartinterface.*;
import com.fr.design.condition.ConditionAttributesPane;
import com.fr.design.dialog.BasicPane;
import com.fr.design.extra.ChartTypeInterfaceCloseableHandler;
import com.fr.design.gui.core.WidgetOption;
import com.fr.design.gui.frpane.AttributeChangeListener;
import com.fr.design.mainframe.chart.AbstractChartAttrPane;
@ -23,11 +23,13 @@ import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane
import com.fr.design.module.DesignModuleFactory;
import com.fr.file.XMLFileManager;
import com.fr.form.ui.ChartEditor;
import com.fr.general.*;
import com.fr.general.FRLogger;
import com.fr.general.GeneralContext;
import com.fr.general.IOUtils;
import com.fr.general.Inter;
import com.fr.plugin.PluginCollector;
import com.fr.plugin.PluginLicenseManager;
import com.fr.plugin.PluginMessage;
import com.fr.design.extra.ChartTypeInterfaceCloseableHandler;
import com.fr.plugin.proxy.PluginInstanceProxyFactory;
import com.fr.plugin.proxy.PluginInvocationHandler;
import com.fr.stable.ArrayUtils;
@ -411,7 +413,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh
private AbstractTableDataContentPane getTableDataSourcePane(String priority, Plot plot, ChartDataPane parent) {
return chartTypeInterfaces.get(priority).get(plot.getPlotID()).getTableDataSourcePane(plot, parent);
}
public BasicBeanPane getChartConfigPane(String plotID) {
public ChartEditPane getChartConfigPane(String plotID) {
Iterator iterator = chartTypeInterfaces.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry entry = (Map.Entry) iterator.next();
@ -423,7 +425,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh
return getChartConfigPane(ChartTypeManager.CHART_PRIORITY, plotID);
}
private BasicBeanPane getChartConfigPane(String priority, String plotID) {
private ChartEditPane getChartConfigPane(String priority, String plotID) {
return chartTypeInterfaces.get(priority).get(plotID).getChartConfigPane(plotID);
}

2
designer_chart/src/com/fr/design/chart/fun/IndependentChartUIProvider.java

@ -90,6 +90,6 @@ public interface IndependentChartUIProvider extends Level {
*/
String getPlotTypeTitle4PopupWindow();
BasicBeanPane getChartConfigPane(String plotID);
ChartEditPane getChartConfigPane(String plotID);
}

3
designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUI.java

@ -11,6 +11,7 @@ import com.fr.design.mainframe.chart.ChartEditPane;
import com.fr.design.mainframe.chart.gui.ChartDataPane;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.general.ComparatorUtils;
import com.fr.stable.StableUtils;
/**
@ -54,6 +55,6 @@ public abstract class AbstractIndependentChartUI implements IndependentChartUIPr
public ConditionAttributesPane getPlotConditionPane(Plot plot){
return new DataSeriesConditionPane();
}
public BasicBeanPane getChartConfigPane(String plotID){ return null;}
public ChartEditPane getChartConfigPane(String plotID){ return StableUtils.construct(ChartEditPane.class);}
}

3
designer_chart/src/com/fr/design/chart/fun/impl/AbstractIndependentChartUIWithAPILevel.java

@ -11,6 +11,7 @@ import com.fr.design.mainframe.chart.ChartEditPane;
import com.fr.design.mainframe.chart.gui.ChartDataPane;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.general.ComparatorUtils;
import com.fr.stable.StableUtils;
/**
* Created by Mitisky on 16/3/7.
@ -67,5 +68,5 @@ public abstract class AbstractIndependentChartUIWithAPILevel implements Independ
return getPlotTypePane().title4PopupWindow();
}
public BasicBeanPane getChartConfigPane(String plotID){ return null;}
public ChartEditPane getChartConfigPane(String plotID){ return StableUtils.construct(ChartEditPane.class);}
}

36
designer_chart/src/com/fr/design/mainframe/MiddleChartPropertyPane.java

@ -3,25 +3,22 @@
*/
package com.fr.design.mainframe;
import java.awt.BorderLayout;
import javax.swing.Icon;
import javax.swing.JComponent;
import com.fr.base.BaseUtils;
import com.fr.base.chart.BaseChartCollection;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.design.ChartTypeInterfaceManager;
import com.fr.design.designer.TargetComponent;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.chart.BaseChartPropertyPane;
import com.fr.design.gui.chart.ChartEditPaneProvider;
import com.fr.design.gui.frpane.UITitlePanel;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itabpane.TitleChangeListener;
import com.fr.design.mainframe.chart.ChartEditPane;
import com.fr.design.module.DesignModuleFactory;
import com.fr.general.Inter;
import com.fr.stable.StableUtils;
import javax.swing.*;
import java.awt.*;
public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
@ -29,9 +26,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
protected UILabel nameLabel;
protected ChartEditPane chartEditPane;
protected ChartCollection chartCollection;
protected String plotID;
protected BasicPane chartPane;
protected ChartCollection chartCollection= DesignModuleFactory.getChartCollection();
protected String plotID=chartCollection.getSelectedChart().getPlot().getPlotID();
public MiddleChartPropertyPane() {
initComponenet();
@ -43,7 +39,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
createNameLabel();
this.add(createNorthComponent(), BorderLayout.NORTH);
chartEditPane = StableUtils.construct(ChartEditPane.class);
// chartEditPane =StableUtils.construct(ChartEditPane.class);
chartEditPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID);
chartEditPane.setSupportCellData(true);
this.createMainPane();
}
@ -70,16 +67,7 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
protected void resetChartEditPane() {
remove(chartEditPane);
if (plotID != null) {
chartPane = ChartTypeInterfaceManager.getInstance().getChartConfigPane(plotID);
if (chartPane != null) {
add(chartPane, BorderLayout.CENTER);
}
}
if (chartPane == null) {
chartEditPane = StableUtils.construct(ChartEditPane.class);
add(chartEditPane, BorderLayout.CENTER);
}
add(chartEditPane, BorderLayout.CENTER);
validate();
repaint();
revalidate();
@ -99,6 +87,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
* @param ePane 面板
*/
public void populateChartPropertyPane(ChartCollection collection, TargetComponent<?> ePane) {
// chartCollection = collection;
// plotID=chartCollection.getSelectedChart().getPlot().getPlotID();
this.container.setEPane(ePane);
chartEditPane.populate(collection);
}
@ -110,8 +100,8 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
*/
public void populateChartPropertyPane(BaseChartCollection collection, TargetComponent<?> ePane) {
if (collection instanceof ChartCollection) {
chartCollection = (ChartCollection) collection;
plotID=chartCollection.getSelectedChart().getPlot().getPlotID();
// chartCollection = (ChartCollection) collection;
// plotID=chartCollection.getSelectedChart().getPlot().getPlotID();
resetChartEditPane();
populateChartPropertyPane((ChartCollection)collection, ePane);
}

4
designer_chart/src/com/fr/design/mainframe/chart/ChartEditPane.java

@ -49,8 +49,8 @@ public class ChartEditPane extends BasicPane implements AttributeChange,Prepare4
private ChartCollection lastCollection;
protected CardLayout card;
protected JPanel center;
private TargetComponentContainer container = null;
private TitleChangeListener titleChangeListener = null;
protected TargetComponentContainer container = null;
protected TitleChangeListener titleChangeListener = null;
private Calendar lastTime;

173
designer_chart/src/com/fr/design/mainframe/chart/CustomChartEditPane.java

@ -0,0 +1,173 @@
package com.fr.design.mainframe.chart;
import com.fr.chart.chartattr.Chart;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.design.ChartTypeInterfaceManager;
import com.fr.design.gui.frpane.AttributeChangeListener;
import com.fr.design.gui.ibutton.UIHeadGroup;
import com.fr.design.gui.itabpane.TitleChangeListener;
import com.fr.design.mainframe.TargetComponentContainer;
import com.fr.design.mainframe.chart.gui.ChartDataPane;
import javax.swing.*;
import java.awt.*;
/**
* Created by mengao on 2017/5/3.
*/
public class CustomChartEditPane extends ChartEditPane {
//构建主面板
protected void createTabsPane() {
Icon[] iconArray = new Icon[paneList.size()];
card = new CardLayout();
center = new JPanel(card);
tabsHeaderIconPane = new UIHeadGroup(iconArray) {
@Override
public void tabChanged(int index) {
}
};
tabsHeaderIconPane.setNeedLeftRightOutLine(false);
}
AttributeChangeListener listener = new AttributeChangeListener() {
@Override
public void attributeChange() {
}
};
/**
* 重新构造面板
* @param currentChart 图表
*/
public void reLayout(Chart currentChart){
}
protected ChartDataPane createChartDataPane(String plotID) {
ChartDataPane chartDataPane = ChartTypeInterfaceManager.getInstance().getChartDataPane(plotID, listener);
chartDataPane.setSupportCellData(dataPane4SupportCell.isSupportCellData());
return chartDataPane;
}
protected void addTypePane() {
paneList.add(typePane);
}
protected void setSelectedTab() {
}
/**
* 设置是否支持单元格
*/
public void setSupportCellData(boolean supportCellData) {
}
/**
* 返回选中的tab名称.
*/
public String getSelectedTabName() {
int index = Math.min(tabsHeaderIconPane.getSelectedIndex(), paneList.size() - 1);
return paneList.get(index).title4PopupWindow();
}
/**
* 添加标题变化监听事件.
*
* @param titleChangeListener 标题的ChangeListener
*/
public void addTitleChangeListener(TitleChangeListener titleChangeListener) {
this.titleChangeListener = titleChangeListener;
}
/**
* 设置容器.
*/
public void setContainer(TargetComponentContainer container) {
}
public void populate(ChartCollection collection) {
}
protected ChartEditPane getCurrentChartEditPane() {
return this;
}
/**
* 响应事件.
*/
public void fire() {
}
public int getSelectedChartIndex(Chart chart){
int index = 0;
return index;
}
//populate的时候看看要不要重构面板
private boolean checkNeedsReLayout(Chart chart){
return false;
}
/**
* 当前界面是否是默认的界面
* @return 是否是默认的界面
*/
public boolean isDefaultPane(){
return this.isDefaultPane;
}
/**
* 展开到对应id的pane.
*
* @param id 界面的标志.id
*/
public void gotoPane(String... id) {
}
/**
* 设置选中的id
*
* @param id 界面的标志.id
*/
public void setSelectedIndex(String... id) {
}
protected void dealWithStyleChange(){
}
/**
*主要用于图表设计器判断样式改变是否来自工具栏的全局样式按钮
* @param isFromToolBar 是否来自工具栏
*/
public void styleChange(boolean isFromToolBar){
}
/**
* 图表设计器显示选中的面板
*/
public void populateSelectedTabPane() {
}
/**
* 数据集改变的事件监听
*/
public void registerDSChangeListener() {
}
}
Loading…
Cancel
Save