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;
|
chartDef = def;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final ArrayList<ChartPainter> chartPainters = new ArrayList<>();
|
private ArrayList<ChartPainter> chartPainters = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -65,8 +65,16 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener
|
|||||||
public void addChartPainter(ChartPainter p) {
|
public void addChartPainter(ChartPainter p) {
|
||||||
chartPainters.add(p);
|
chartPainters.add(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteAllChartPinters(){
|
||||||
|
chartPainters = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean delChartPainter(ChartPainter p){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
OHLCData data;
|
// OHLCData data;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintComponent(Graphics g) {
|
protected void paintComponent(Graphics g) {
|
||||||
@ -77,8 +85,8 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
//this.x_scrollbar.setMaximum(994000);
|
//this.x_scrollbar.setMaximum(994000);
|
||||||
XLegendPainter p = new XLegendPainter();
|
// XLegendPainter p = new XLegendPainter();
|
||||||
data = Globals.se.getOHLCdata(60000 * 60);
|
//data = Globals.se.getOHLCdata(60000 * 60);
|
||||||
|
|
||||||
// ChartDef def = new ChartDef();
|
// ChartDef def = new ChartDef();
|
||||||
// def.x_unit_width = 1.0;
|
// def.x_unit_width = 1.0;
|
||||||
|
@ -82,11 +82,6 @@
|
|||||||
</Layout>
|
</Layout>
|
||||||
</Container>
|
</Container>
|
||||||
<Container class="chart.ChartPanel" name="yLegend">
|
<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>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
@ -102,11 +97,6 @@
|
|||||||
</Layout>
|
</Layout>
|
||||||
</Container>
|
</Container>
|
||||||
<Container class="chart.ChartPanel" name="xLegend">
|
<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>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
|
@ -44,7 +44,7 @@ import sesim.SMAIndicator;
|
|||||||
*
|
*
|
||||||
* @author 7u83 <7u83@mail.ru>
|
* @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;
|
private ChartDef chartDef;
|
||||||
|
|
||||||
@ -67,80 +67,51 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver, Ch
|
|||||||
this.xLegend.setChartDef(chartDef);
|
this.xLegend.setChartDef(chartDef);
|
||||||
this.yLegend.setChartDef(chartDef);
|
this.yLegend.setChartDef(chartDef);
|
||||||
|
|
||||||
class SMA extends OHLCData implements ChartPainter.DataProvider {
|
// this.yLegend.addChartPainter(p);
|
||||||
|
//this.yLegend.addChartPainter(pc);
|
||||||
|
}
|
||||||
|
OHLCData data;
|
||||||
|
|
||||||
SMAIndicator sma;
|
public void reset() {
|
||||||
OHLCData data;
|
this.chart.deleteAllChartPinters();
|
||||||
|
this.xLegend.deleteAllChartPinters();
|
||||||
|
this.yLegend.deleteAllChartPinters();
|
||||||
|
|
||||||
SMA(OHLCData data) {
|
this.chart.setChartDef(chartDef);
|
||||||
sma = new SMAIndicator(data);
|
this.xLegend.setChartDef(chartDef);
|
||||||
this.data = data;
|
this.yLegend.setChartDef(chartDef);
|
||||||
}
|
|
||||||
|
|
||||||
@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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ChartPainter p;
|
ChartPainter p;
|
||||||
|
data = Globals.se.getOHLCdata(60000 * 10);
|
||||||
|
|
||||||
this.xScrollBar.setMaximum(0);
|
this.xScrollBar.setMaximum(0);
|
||||||
|
|
||||||
p = new XLegendPainter();
|
p = new XLegendPainter();
|
||||||
p.setDataProvider(this);
|
p.setOHLCData(data);
|
||||||
|
|
||||||
xLegend.addChartPainter(p);
|
xLegend.addChartPainter(p);
|
||||||
xLegend.setXSCrollBar(xScrollBar);
|
xLegend.setXSCrollBar(xScrollBar);
|
||||||
|
|
||||||
ChartPainter pc = new CandleStickChartPainter();
|
ChartPainter pc = new CandleStickChartPainter();
|
||||||
pc.setDataProvider(this);
|
//pc.setDataProvider(this);
|
||||||
|
pc.setOHLCData(data);
|
||||||
|
|
||||||
chart.addChartPainter(pc);
|
chart.addChartPainter(pc);
|
||||||
chart.setXSCrollBar(xScrollBar);
|
chart.setXSCrollBar(xScrollBar);
|
||||||
chart.addChartPainter(new ChartCrossPainter());
|
chart.addChartPainter(new ChartCrossPainter());
|
||||||
|
|
||||||
SMAIndicator sma = new sesim.SMAIndicator(get());
|
// SMAIndicator sma = new sesim.SMAIndicator(get());
|
||||||
|
|
||||||
p = new LineChartPainter();
|
p = new LineChartPainter();
|
||||||
p.setDataProvider(new SMA(get()));
|
p.setOHLCData(data);
|
||||||
|
//p.setDataProvider(new SMA(get()));
|
||||||
chart.addChartPainter(p);
|
chart.addChartPainter(p);
|
||||||
|
|
||||||
ChartPainter yp = new YLegendPainter(chart);
|
ChartPainter yp = new YLegendPainter(chart);
|
||||||
yp.setDataProvider(this);
|
// yp.setDataProvider(this);
|
||||||
|
yp.setOHLCData(data);
|
||||||
|
|
||||||
this.yLegend.addChartPainter(yp);
|
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
|
@Override
|
||||||
public void UpdateQuote(Quote q) {
|
public void UpdateQuote(Quote q) {
|
||||||
OHLCData data = this.get();
|
// OHLCData data = this.get();
|
||||||
int s = data.size();
|
int s = data.size();
|
||||||
this.xScrollBar.setMaximum(s);
|
this.xScrollBar.setMaximum(s);
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
OHLCData mydata = null;
|
||||||
|
|
||||||
|
/*
|
||||||
public OHLCData get() {
|
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;
|
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();
|
abstract OHLCData get();
|
||||||
}
|
}
|
||||||
@ -50,12 +57,14 @@ abstract public class ChartPainter {
|
|||||||
public void setDataProvider(DataProvider dataProvider) {
|
public void setDataProvider(DataProvider dataProvider) {
|
||||||
this.dataProvider = dataProvider;
|
this.dataProvider = dataProvider;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
protected OHLCData getData() {
|
protected OHLCData getData() {
|
||||||
if (dataProvider == null) {
|
return this.data;
|
||||||
|
/*if (dataProvider == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return dataProvider.get();
|
return dataProvider.get();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getFirstBar(ChartPanel p) {
|
protected int getFirstBar(ChartPanel p) {
|
||||||
|
@ -585,6 +585,7 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
Globals.se.terminate();
|
Globals.se.terminate();
|
||||||
Globals.se.reset();
|
Globals.se.reset();
|
||||||
// chart.initChart();
|
// chart.initChart();
|
||||||
|
chart.reset();
|
||||||
chart.invalidate();
|
chart.invalidate();
|
||||||
chart.repaint();
|
chart.repaint();
|
||||||
// this.orderBookPanel.invalidate();
|
// this.orderBookPanel.invalidate();
|
||||||
|
Loading…
Reference in New Issue
Block a user