白岳
4 years ago
7 changed files with 230 additions and 18 deletions
@ -0,0 +1,100 @@ |
|||||||
|
package com.fr.design.mainframe.predefined.ui.preview; |
||||||
|
|
||||||
|
import com.fr.base.chart.BaseChartCollection; |
||||||
|
import com.fr.base.chart.BaseChartPainter; |
||||||
|
import com.fr.base.chart.chartdata.CallbackEvent; |
||||||
|
import com.fr.base.chart.result.WebChartIDInfo; |
||||||
|
import com.fr.chart.base.ChartConstants; |
||||||
|
import com.fr.chart.base.ChartPreStyleProvider; |
||||||
|
import com.fr.chart.chartattr.ChartCollection; |
||||||
|
import com.fr.config.predefined.PredefinedStyle; |
||||||
|
import com.fr.design.gui.chart.MiddleChartComponent; |
||||||
|
import com.fr.plugin.chart.vanchart.VanChart; |
||||||
|
import com.fr.script.Calculator; |
||||||
|
import com.fr.stable.core.PropertyChangeListener; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.awt.Dimension; |
||||||
|
import java.awt.Graphics; |
||||||
|
import java.awt.Graphics2D; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author Bjorn |
||||||
|
* @version 10.0 |
||||||
|
* Created by Bjorn on 2020-09-28 |
||||||
|
*/ |
||||||
|
public class ChartPreStylePreView extends MiddleChartComponent { |
||||||
|
|
||||||
|
private ChartCollection chartCollection; |
||||||
|
|
||||||
|
private double scaleX = 1.0; |
||||||
|
private double scaleY = 1.0; |
||||||
|
|
||||||
|
private CallbackEvent callbackEvent; |
||||||
|
|
||||||
|
public ChartPreStylePreView() { |
||||||
|
} |
||||||
|
|
||||||
|
public ChartPreStylePreView(ChartCollection cc) { |
||||||
|
this(cc, 1.0, 1.0); |
||||||
|
} |
||||||
|
|
||||||
|
public ChartPreStylePreView(ChartCollection cc, double scaleX, double scaleY) { |
||||||
|
this.scaleX = scaleX; |
||||||
|
this.scaleY = scaleY; |
||||||
|
populate(cc); |
||||||
|
} |
||||||
|
|
||||||
|
public void setCallbackEvent(CallbackEvent callbackEvent) { |
||||||
|
this.callbackEvent = callbackEvent; |
||||||
|
} |
||||||
|
|
||||||
|
public void paintComponent(Graphics g) { |
||||||
|
Graphics2D g2d = (Graphics2D) g; |
||||||
|
g2d.translate(ChartConstants.PREGAP4BOUNDS / 2, ChartConstants.PREGAP4BOUNDS / 2); |
||||||
|
g2d.scale(scaleX, scaleY); |
||||||
|
super.paintComponent(g); |
||||||
|
drawChart(g2d); |
||||||
|
g2d.scale(1 / scaleX, 1 / scaleY); |
||||||
|
g2d.translate(-ChartConstants.PREGAP4BOUNDS / 2, -ChartConstants.PREGAP4BOUNDS / 2); |
||||||
|
} |
||||||
|
|
||||||
|
private void drawChart(Graphics2D g2d) { |
||||||
|
Dimension d = getBounds().getSize(); |
||||||
|
int chartWidth = (int) (d.width / scaleX) - ChartConstants.PREGAP4BOUNDS; |
||||||
|
int chartHeight = (int) (d.height / scaleX) - ChartConstants.PREGAP4BOUNDS; |
||||||
|
BaseChartPainter painter = chartCollection.createResultChartPainterWithOutDealFormula(Calculator.createCalculator(), |
||||||
|
WebChartIDInfo.createEmptyDesignerInfo(), chartWidth, chartHeight); |
||||||
|
painter.paint(g2d, chartWidth, chartHeight, 0, null, callbackEvent); |
||||||
|
} |
||||||
|
|
||||||
|
public void refresh(PredefinedStyle style) { |
||||||
|
VanChart vanChart = chartCollection.getSelectedChartProvider(VanChart.class); |
||||||
|
List<ChartPreStyleProvider> chartPreStyleProviders = vanChart.getChartPreStyleProvider(); |
||||||
|
for (ChartPreStyleProvider chartPreStyleProvider : chartPreStyleProviders) { |
||||||
|
chartPreStyleProvider.updatePreDefinedStyle(style); |
||||||
|
} |
||||||
|
vanChart.attrChange(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populate(BaseChartCollection cc) { |
||||||
|
this.chartCollection = (ChartCollection) cc; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public BaseChartCollection update() { |
||||||
|
return this.chartCollection; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void addStopEditingListener(PropertyChangeListener l) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void reset() { |
||||||
|
|
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue