Elemination of ChartPainter.DataProvider
This commit is contained in:
parent
fe9c2f83b1
commit
db42dfd43c
@ -56,7 +56,7 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener
|
||||
chartDef = def;
|
||||
}
|
||||
|
||||
private final ArrayList<ChartPainter> chartPainters = new ArrayList<>();
|
||||
private ArrayList<ChartPainter> chartPainters = new ArrayList<>();
|
||||
|
||||
/**
|
||||
*
|
||||
@ -66,7 +66,15 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener
|
||||
chartPainters.add(p);
|
||||
}
|
||||
|
||||
OHLCData data;
|
||||
public void deleteAllChartPinters(){
|
||||
chartPainters = new ArrayList<>();
|
||||
}
|
||||
|
||||
public boolean delChartPainter(ChartPainter p){
|
||||
return true;
|
||||
}
|
||||
|
||||
// OHLCData data;
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
@ -77,8 +85,8 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener
|
||||
}
|
||||
|
||||
//this.x_scrollbar.setMaximum(994000);
|
||||
XLegendPainter p = new XLegendPainter();
|
||||
data = Globals.se.getOHLCdata(60000 * 60);
|
||||
// XLegendPainter p = new XLegendPainter();
|
||||
//data = Globals.se.getOHLCdata(60000 * 60);
|
||||
|
||||
// ChartDef def = new ChartDef();
|
||||
// def.x_unit_width = 1.0;
|
||||
|
@ -82,11 +82,6 @@
|
||||
</Layout>
|
||||
</Container>
|
||||
<Container class="chart.ChartPanel" name="yLegend">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
@ -102,11 +97,6 @@
|
||||
</Layout>
|
||||
</Container>
|
||||
<Container class="chart.ChartPanel" name="xLegend">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
|
@ -44,7 +44,7 @@ import sesim.SMAIndicator;
|
||||
*
|
||||
* @author 7u83 <7u83@mail.ru>
|
||||
*/
|
||||
public class MasterChart extends javax.swing.JPanel implements QuoteReceiver, ChartPainter.DataProvider {
|
||||
public class MasterChart extends javax.swing.JPanel implements QuoteReceiver {
|
||||
|
||||
private ChartDef chartDef;
|
||||
|
||||
@ -67,80 +67,51 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver, Ch
|
||||
this.xLegend.setChartDef(chartDef);
|
||||
this.yLegend.setChartDef(chartDef);
|
||||
|
||||
class SMA extends OHLCData implements ChartPainter.DataProvider {
|
||||
|
||||
SMAIndicator sma;
|
||||
// this.yLegend.addChartPainter(p);
|
||||
//this.yLegend.addChartPainter(pc);
|
||||
}
|
||||
OHLCData data;
|
||||
|
||||
SMA(OHLCData data) {
|
||||
sma = new SMAIndicator(data);
|
||||
this.data = data;
|
||||
}
|
||||
public void reset() {
|
||||
this.chart.deleteAllChartPinters();
|
||||
this.xLegend.deleteAllChartPinters();
|
||||
this.yLegend.deleteAllChartPinters();
|
||||
|
||||
@Override
|
||||
public MinMax getMinMax(int first, int last) {
|
||||
return data.getMinMax(first, last);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMax() {
|
||||
return data.getMax();
|
||||
}
|
||||
|
||||
@Override
|
||||
public OHLCData get() {
|
||||
return this; //sm
|
||||
//.getData();
|
||||
|
||||
}
|
||||
@Override
|
||||
public OHLCDataItem get(int n) {
|
||||
OHLCData d = sma.getData();
|
||||
return d.get(n); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
int s = data.size();
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
this.chart.setChartDef(chartDef);
|
||||
this.xLegend.setChartDef(chartDef);
|
||||
this.yLegend.setChartDef(chartDef);
|
||||
|
||||
ChartPainter p;
|
||||
data = Globals.se.getOHLCdata(60000 * 10);
|
||||
|
||||
this.xScrollBar.setMaximum(0);
|
||||
|
||||
p = new XLegendPainter();
|
||||
p.setDataProvider(this);
|
||||
p.setOHLCData(data);
|
||||
|
||||
xLegend.addChartPainter(p);
|
||||
xLegend.setXSCrollBar(xScrollBar);
|
||||
|
||||
ChartPainter pc = new CandleStickChartPainter();
|
||||
pc.setDataProvider(this);
|
||||
//pc.setDataProvider(this);
|
||||
pc.setOHLCData(data);
|
||||
|
||||
chart.addChartPainter(pc);
|
||||
chart.setXSCrollBar(xScrollBar);
|
||||
chart.addChartPainter(new ChartCrossPainter());
|
||||
|
||||
SMAIndicator sma = new sesim.SMAIndicator(get());
|
||||
|
||||
// SMAIndicator sma = new sesim.SMAIndicator(get());
|
||||
p = new LineChartPainter();
|
||||
p.setDataProvider(new SMA(get()));
|
||||
p.setOHLCData(data);
|
||||
//p.setDataProvider(new SMA(get()));
|
||||
chart.addChartPainter(p);
|
||||
|
||||
ChartPainter yp = new YLegendPainter(chart);
|
||||
yp.setDataProvider(this);
|
||||
// yp.setDataProvider(this);
|
||||
yp.setOHLCData(data);
|
||||
|
||||
this.yLegend.addChartPainter(yp);
|
||||
|
||||
// this.yLegend.addChartPainter(p);
|
||||
//this.yLegend.addChartPainter(pc);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -278,15 +249,26 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver, Ch
|
||||
|
||||
@Override
|
||||
public void UpdateQuote(Quote q) {
|
||||
OHLCData data = this.get();
|
||||
// OHLCData data = this.get();
|
||||
int s = data.size();
|
||||
this.xScrollBar.setMaximum(s);
|
||||
repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
OHLCData mydata = null;
|
||||
|
||||
/*
|
||||
public OHLCData get() {
|
||||
return Globals.se.getOHLCdata(60000 * 10);
|
||||
OHLCData re = Globals.se.getOHLCdata(60000 * 10);
|
||||
if (re != mydata) {
|
||||
System.out.printf("re != a\n");
|
||||
}
|
||||
|
||||
if (mydata == null) {
|
||||
mydata = Globals.se.getOHLCdata(60000 * 10);
|
||||
}
|
||||
return mydata;
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
@ -40,7 +40,14 @@ abstract public class ChartPainter {
|
||||
|
||||
protected int em_size;
|
||||
|
||||
public abstract interface DataProvider {
|
||||
|
||||
protected OHLCData data;
|
||||
|
||||
public void setOHLCData(OHLCData data){
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
/* public abstract interface DataProvider {
|
||||
|
||||
abstract OHLCData get();
|
||||
}
|
||||
@ -50,12 +57,14 @@ abstract public class ChartPainter {
|
||||
public void setDataProvider(DataProvider dataProvider) {
|
||||
this.dataProvider = dataProvider;
|
||||
}
|
||||
|
||||
*/
|
||||
protected OHLCData getData() {
|
||||
if (dataProvider == null) {
|
||||
return this.data;
|
||||
/*if (dataProvider == null) {
|
||||
return null;
|
||||
}
|
||||
return dataProvider.get();
|
||||
*/
|
||||
}
|
||||
|
||||
protected int getFirstBar(ChartPanel p) {
|
||||
|
@ -585,6 +585,7 @@ public class SeSimApplication extends javax.swing.JFrame {
|
||||
Globals.se.terminate();
|
||||
Globals.se.reset();
|
||||
// chart.initChart();
|
||||
chart.reset();
|
||||
chart.invalidate();
|
||||
chart.repaint();
|
||||
// this.orderBookPanel.invalidate();
|
||||
|
Loading…
Reference in New Issue
Block a user