diff --git a/src/chart/ChartPanel.java b/src/chart/ChartPanel.java index ba36c1c..285db99 100644 --- a/src/chart/ChartPanel.java +++ b/src/chart/ChartPanel.java @@ -56,7 +56,7 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener chartDef = def; } - private final ArrayList chartPainters = new ArrayList<>(); + private ArrayList chartPainters = new ArrayList<>(); /** * @@ -65,8 +65,16 @@ public class ChartPanel extends javax.swing.JPanel implements AdjustmentListener public void addChartPainter(ChartPainter p) { chartPainters.add(p); } + + public void deleteAllChartPinters(){ + chartPainters = new ArrayList<>(); + } + + public boolean delChartPainter(ChartPainter p){ + return true; + } - OHLCData data; +// 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; diff --git a/src/chart/MasterChart.form b/src/chart/MasterChart.form index bf1f672..b80be11 100644 --- a/src/chart/MasterChart.form +++ b/src/chart/MasterChart.form @@ -82,11 +82,6 @@ - - - - - @@ -102,11 +97,6 @@ - - - - - diff --git a/src/chart/MasterChart.java b/src/chart/MasterChart.java index 62a21e9..80d78eb 100644 --- a/src/chart/MasterChart.java +++ b/src/chart/MasterChart.java @@ -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 { + // this.yLegend.addChartPainter(p); + //this.yLegend.addChartPainter(pc); + } + OHLCData data; - SMAIndicator sma; - OHLCData data; + public void reset() { + this.chart.deleteAllChartPinters(); + this.xLegend.deleteAllChartPinters(); + this.yLegend.deleteAllChartPinters(); - SMA(OHLCData data) { - sma = new SMAIndicator(data); - this.data = data; - } - - @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; } + */ } diff --git a/src/chart/painter/ChartPainter.java b/src/chart/painter/ChartPainter.java index fc3f079..e6e91f0 100644 --- a/src/chart/painter/ChartPainter.java +++ b/src/chart/painter/ChartPainter.java @@ -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) { diff --git a/src/gui/SeSimApplication.java b/src/gui/SeSimApplication.java index ccd71e1..d4862e2 100644 --- a/src/gui/SeSimApplication.java +++ b/src/gui/SeSimApplication.java @@ -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();