Created ChartPainterInterface and moved ChartPainter intto sesim package

This commit is contained in:
7u83 2017-11-19 17:06:30 +01:00
parent da0b262fff
commit d3057f25df
16 changed files with 73 additions and 32 deletions

View File

@ -15,9 +15,10 @@
<file>file:/home/tube/NetBeansProjects/SeSim/src/indicators/SMAIndicator.java</file> <file>file:/home/tube/NetBeansProjects/SeSim/src/indicators/SMAIndicator.java</file>
<file>file:/home/tube/NetBeansProjects/SeSim/.git/config</file> <file>file:/home/tube/NetBeansProjects/SeSim/.git/config</file>
<file>file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/OHLCChartPainter.java</file> <file>file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/OHLCChartPainter.java</file>
<file>file:/home/tube/NetBeansProjects/SeSim/src/indicators/RSIIndicator.java</file>
<file>file:/home/tube/NetBeansProjects/SeSim/src/sesim/Indicator.java</file> <file>file:/home/tube/NetBeansProjects/SeSim/src/sesim/Indicator.java</file>
<file>file:/home/tube/NetBeansProjects/SeSim/src/indicators/EMAIndicator.java</file>
<file>file:/home/tube/NetBeansProjects/SeSim/src/sesim/SeSimClassLoader.java</file> <file>file:/home/tube/NetBeansProjects/SeSim/src/sesim/SeSimClassLoader.java</file>
<file>file:/home/tube/NetBeansProjects/SeSim/src/sesim/Order.java</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>

View File

@ -1,4 +1,4 @@
#Sat, 18 Nov 2017 16:01:27 +0100 #Sun, 19 Nov 2017 17:04:32 +0100
annotation.processing.enabled=true annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false annotation.processing.enabled.in.editor=false
annotation.processing.processors.list= annotation.processing.processors.list=

View File

@ -54,7 +54,7 @@
</DimensionLayout> </DimensionLayout>
</Layout> </Layout>
<SubComponents> <SubComponents>
<Container class="chart.ChartPanel" name="chart"> <Container class="sesim.ChartPanel" name="chart">
<Properties> <Properties>
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo"> <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
@ -81,7 +81,7 @@
</DimensionLayout> </DimensionLayout>
</Layout> </Layout>
</Container> </Container>
<Container class="chart.ChartPanel" name="yLegend"> <Container class="sesim.ChartPanel" name="yLegend">
<Layout> <Layout>
<DimensionLayout dim="0"> <DimensionLayout dim="0">
@ -96,7 +96,7 @@
</DimensionLayout> </DimensionLayout>
</Layout> </Layout>
</Container> </Container>
<Container class="chart.ChartPanel" name="xLegend"> <Container class="sesim.ChartPanel" name="xLegend">
<Layout> <Layout>
<DimensionLayout dim="0"> <DimensionLayout dim="0">

View File

@ -25,6 +25,7 @@
*/ */
package chart; package chart;
import sesim.ChartDef;
import chart.painter.CandleStickChartPainter; import chart.painter.CandleStickChartPainter;
import chart.painter.ChartPainter; import chart.painter.ChartPainter;
import chart.painter.XLegendPainter; import chart.painter.XLegendPainter;
@ -148,9 +149,9 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver {
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() { private void initComponents() {
chart = new chart.ChartPanel(); chart = new sesim.ChartPanel();
yLegend = new chart.ChartPanel(); yLegend = new sesim.ChartPanel();
xLegend = new chart.ChartPanel(); xLegend = new sesim.ChartPanel();
xScrollBar = new javax.swing.JScrollBar(); xScrollBar = new javax.swing.JScrollBar();
addMouseWheelListener(new java.awt.event.MouseWheelListener() { addMouseWheelListener(new java.awt.event.MouseWheelListener() {
@ -266,10 +267,10 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver {
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private chart.ChartPanel chart; private sesim.ChartPanel chart;
private chart.ChartPanel xLegend; private sesim.ChartPanel xLegend;
private javax.swing.JScrollBar xScrollBar; private javax.swing.JScrollBar xScrollBar;
private chart.ChartPanel yLegend; private sesim.ChartPanel yLegend;
// End of variables declaration//GEN-END:variables // End of variables declaration//GEN-END:variables
@Override @Override

View File

@ -25,8 +25,8 @@
*/ */
package chart.painter; package chart.painter;
import chart.ChartDef; import sesim.ChartDef;
import chart.ChartPanel; import sesim.ChartPanel;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Point; import java.awt.Point;

View File

@ -25,10 +25,11 @@
*/ */
package chart.painter; package chart.painter;
import chart.ChartDef; import sesim.ChartDef;
import chart.ChartPanel; import sesim.ChartPanel;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import sesim.ChartPainterInterface;
import sesim.MinMax; import sesim.MinMax;
import sesim.OHLCData; import sesim.OHLCData;
@ -36,7 +37,7 @@ import sesim.OHLCData;
* *
* @author 7u83 <7u83@mail.ru> * @author 7u83 <7u83@mail.ru>
*/ */
abstract public class ChartPainter { abstract public class ChartPainter implements ChartPainterInterface{
protected int em_size; protected int em_size;

View File

@ -25,8 +25,8 @@
*/ */
package chart.painter; package chart.painter;
import chart.ChartDef; import sesim.ChartDef;
import chart.ChartPanel; import sesim.ChartPanel;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;

View File

@ -25,8 +25,8 @@
*/ */
package chart.painter; package chart.painter;
import chart.ChartDef; import sesim.ChartDef;
import chart.ChartPanel; import sesim.ChartPanel;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;

View File

@ -26,8 +26,8 @@
package chart.painter; package chart.painter;
import chart.Chart; import chart.Chart;
import chart.ChartDef; import sesim.ChartDef;
import chart.ChartPanel; import sesim.ChartPanel;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Rectangle; import java.awt.Rectangle;

View File

@ -38,7 +38,7 @@
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents> <SubComponents>
<Container class="chart.ChartPanel" name="chart11"> <Container class="sesim.ChartPanel" name="chart11">
<Layout> <Layout>
<DimensionLayout dim="0"> <DimensionLayout dim="0">

View File

@ -28,7 +28,7 @@ public class jp99 extends javax.swing.JPanel {
private void initComponents() { private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane(); jScrollPane1 = new javax.swing.JScrollPane();
chart11 = new chart.ChartPanel(); chart11 = new sesim.ChartPanel();
javax.swing.GroupLayout chart11Layout = new javax.swing.GroupLayout(chart11); javax.swing.GroupLayout chart11Layout = new javax.swing.GroupLayout(chart11);
chart11.setLayout(chart11Layout); chart11.setLayout(chart11Layout);
@ -63,7 +63,7 @@ public class jp99 extends javax.swing.JPanel {
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private chart.ChartPanel chart11; private sesim.ChartPanel chart11;
private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration//GEN-END:variables // End of variables declaration//GEN-END:variables
} }

View File

@ -44,9 +44,13 @@ public class SMAIndicator implements Indicator {
indicator = new OHLCData(); indicator = new OHLCData();
} }
public void setParent(OHLCData parent){
}
int len = 20; int len = 20;
float getAt(int pos) { private float getAt(int pos) {
if (parent.size() == 0) { if (parent.size() == 0) {
return 0; return 0;
} }
@ -57,9 +61,7 @@ public class SMAIndicator implements Indicator {
} }
float sum = 0; float sum = 0;
for (int i = start; i <= pos; i++) { for (int i = start; i <= pos; i++) {
//sum += parent.get(i).getAverage();
sum += parent.get(i).close; sum += parent.get(i).close;
} }
return sum / (pos - start + 1); return sum / (pos - start + 1);

View File

@ -23,7 +23,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
*/ */
package chart; package sesim;
import javax.swing.JScrollBar; import javax.swing.JScrollBar;
@ -39,7 +39,7 @@ public class ChartDef {
*/ */
public double x_unit_width=1.0; public double x_unit_width=1.0;
ChartDef(){ public ChartDef(){
} }

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2017, 7u83 <7u83@mail.ru>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
package sesim;
import java.awt.Graphics2D;
/**
*
* @author 7u83 <7u83@mail.ru>
*/
public interface ChartPainterInterface {
abstract public void drawChart(Graphics2D g, ChartPanel p, ChartDef def);
}

View File

@ -1,4 +1,4 @@
package chart; package sesim;
import chart.painter.ChartPainter; import chart.painter.ChartPainter;
import gui.Globals; import gui.Globals;