

/* 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;

public class Reed_Panel extends TablePanel {
    
    private static int width =
        TextFieldView.getSampleWidth(4, '0');
    
    private TextFieldView view1 =
        new TextFieldView("0", width);
    
    private TextFieldView view2 =
        new TextFieldView("0", width);
    
    private TextFieldView view3 =
        new TextFieldView("0", width);
    
    private TextFieldView view4 =
        new TextFieldView("0", width);
    
    private TextFieldView total =
        new TextFieldView("0", width);
    
    private SimpleAction sumAction =
        new SimpleAction("Show Grade") {
            public void perform() { sum(); }
        
    };
    
    private Object[][] dataStuff =
        new Object[][] {
            { "Test 1", new Halo(view1) },
            { "Test 2", new Halo(view2) },
            { "Test 3", new Halo(view3) },
            { "Test 4", new Halo(view4) },
            { "Grade", new Halo(total) }
    };
    
    private TablePanel dataPanel =
        new TablePanel(
            dataStuff, 10, 30, WEST);
    
    private Object[] mainStuff =
        new Object[] { dataPanel, sumAction };
    
    private TablePanel mainPanel =
        new TablePanel(
            mainStuff, VERTICAL, 10, 30, CENTER);
    
    
    public Reed_Panel() {
        add(new Halo(mainPanel, 10, 30));
        addListeners();
        
        frame("My Grade Program");
    }
    
    
    private void sum() {
        double x1 = view1.demandDouble();
        double x2 = view2.demandDouble();
        double x3 = view3.demandDouble();
        double x4 = view4.demandDouble();
        
        double x = ((x1 + x2 + x3 + x4) / 4);
        
        total.setViewState(x + "");
    }
    
    private void addListeners() {
        view1.addActionListener(sumAction);
        view2.addActionListener(sumAction);
        view3.addActionListener(sumAction);
        view4.addActionListener(sumAction);
    }
}

