// Andrew Leinung Dotter Program Version 0.01 October 27, 2005//

/* Useful imports */

import edu.neu.ccs.*;
import edu.neu.ccs.gui.*;
import edu.neu.ccs.codec.*;
import edu.neu.ccs.console.*;
import edu.neu.ccs.filter.*;
import edu.neu.ccs.jpf.*;
import edu.neu.ccs.parser.*;
import edu.neu.ccs.pedagogy.*;
import edu.neu.ccs.quick.*;
import edu.neu.ccs.util.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.font.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.util.*;
import java.math.*;
import java.beans.*;
import java.lang.reflect.*;
import java.net.URL;
import java.util.regex.*;
import java.text.ParseException;

/*
 * Added by Richard Rasala
 * 
 * Added main to launch program directly.
 */

public class Leinung_Quadratic_Dots extends TablePanel {

	private static int width =
        TextFieldView.getSampleWidth(20, '0');
    
    private TextFieldView view1 =
        new TextFieldView("0", width);
    private TextFieldView view2 =
        new TextFieldView("0", width);
	
	private SimpleAction pointAction =
        new SimpleAction("Plot Point") {
            public void perform() { graphpoint(); }
            };
	
    private Object[][] dataStuff =
        new Object[][] {
           { "X Coor", new Halo(view1)},
           { "Y Coor", new Halo(view2)}
           
           };
	
    private TablePanel dataPanel =
        new TablePanel(
            dataStuff, 10, 10, WEST);
   
    private BufferedPanel window
    = new BufferedPanel(400, 400);
    
    private Object[] mainStuff =
        new Object[] { window, dataPanel, pointAction };
    
    private TablePanel mainPanel =
        new TablePanel(
            mainStuff, VERTICAL, 10, 10, CENTER);
    
    // these coordinates are ones that I don't
    // know how to utilize
	private double[] coordinates=
	        new double[] {
			-15, 196};
			//{-10 , 81},
			//{-5 , 16},
			//{0 , 1},
			//{5 , 36},
			//{10 , 121},
			//{15 , 256}};
		
	private void graphpoint() {
		double x = view1.demandDouble();
		double y = view2.demandDouble();
		
		window.clearSequence();
		
		XPoint2D pointdraw = new XPoint2D(x, y);
        window.addPaintable(pointdraw);
		
        window.repaint();
		
	}
	
	public Leinung_Quadratic_Dots() {
		add(new Halo(mainPanel, 10, 10));
    	addListeners();
    
    	frame("Quadratic Dotter");
	}
	
	private void addListeners() {
        view1.addActionListener(pointAction);
        view2.addActionListener(pointAction);
	}

    /*
     * Added by Richard Rasala
     */
    public static void main(String[] args) {
        new Leinung_Quadratic_Dots();
    }
    
}



