/* @(#)Scullane_SumPanel.java   22 September 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;

/*
 * Richard Rasala fixed small typographical error.
 */

public class Scullane_SumPanel extends TablePanel {
    
    private static int width =
        TextFieldView.getSampleWidth(100, '2');
    
    private TextFieldView view_first =
        new TextFieldView("1", width);
    
    private TextFieldView view_second =
        new TextFieldView("2", width);
    
    private TextFieldView view_third =
        new TextFieldView("3", width);
    
    private TextFieldView view_fourth =
        new TextFieldView("4", width);
    
    private TextFieldView view_fifth =
        new TextFieldView("5", width);
    
    private TextFieldView view_sixth =
        new TextFieldView("6", width);
    
    private TextFieldView view_seventh =
        new TextFieldView("7", width);
    
    private TextFieldView view_eighth =
        new TextFieldView("8", width);
    
    private TextFieldView view_ninth =
        new TextFieldView("9", width);
    
    private TextFieldView view_tenth =
        new TextFieldView("10", width);
    
    private TextFieldView view_answer =
        new TextFieldView("???", width);

    
    private SimpleAction math_it_up =
        new SimpleAction("The sum of ten cubes") {
            public void perform() { math(); }
    };
    
    
    private Object[][] dataStuff =
        new Object[][] {
            { "a", view_first },
            { "b", view_second },
            { "c", view_third },
            { "d", view_fourth },
            { "e", view_fifth },
            { "f", view_sixth },
            { "g", view_seventh },
            { "h", view_eighth },
            { "i", view_ninth },
            { "j", view_tenth },
            { "Answer", view_answer }
    };
    
    private TablePanel filedat =
        new TablePanel(
            dataStuff, 25, 25, WEST);
    
    private Object[] slurpee =
        new Object[] { filedat, math_it_up };
    
    private TablePanel dah =
        new TablePanel(
            slurpee, VERTICAL, 25, 25, CENTER);
    
    
    public Scullane_SumPanel() {
        add(new Halo(dah, 50, 50));
        addListeners();
        
        frame("Sum Panel With Halo");
    }
    
    
    private void math() {
        double x1 = view_first.demandDouble();
        double x2 = view_second.demandDouble();
        double x3 = view_third.demandDouble();
        double x4 = view_fourth.demandDouble();
        double x5 = view_fifth.demandDouble();
        double x6 = view_sixth.demandDouble();
        double x7 = view_seventh.demandDouble();
        double x8 = view_eighth.demandDouble();
        double x9 = view_ninth.demandDouble();
        double x10 = view_tenth.demandDouble();
        
        
        double x = (x1 * x1 * x1) + (x2 * x2 * x2) + (x3 * x3 * x3)
            + (x4 * x4 * x4) + (x5 * x5 * x5) + (x6 * x6 * x6)
            + (x7 * x7 * x7) + (x8 * x8 * x8) + (x9 * x9 * x9)
            + (x10 * x10 * x10);
        
        view_answer.setViewState(x + "       WHEEEE!!!");
    }
    
    private void addListeners() {
        view_first.addActionListener(math_it_up);
        view_second.addActionListener(math_it_up);
        view_third.addActionListener(math_it_up);
        view_fourth.addActionListener(math_it_up);
        view_fifth.addActionListener(math_it_up);
        view_sixth.addActionListener(math_it_up);
        view_seventh.addActionListener(math_it_up);
        view_eighth.addActionListener(math_it_up);
        view_ninth.addActionListener(math_it_up);
        view_tenth.addActionListener(math_it_up);
  
    }
    
    public static void main(String[] args) {
    	new Scullane_SumPanel();
    }
}


