/* @(#)SumPanel.java   15 September 2006 */

import edu.neu.ccs.gui.*;

public class SumPanel 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 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("Sum Data") {
            public void perform() { sum(); }
        
    };
    
    private Object[][] dataStuff =
        new Object[][] {
            { "x1",    view1 },
            { "x2",    view2 },
            { "x3",    view3 },
            { "x4",    view4 },
            { "total", total }
    };
    
    private TablePanel dataPanel =
        new TablePanel(
            dataStuff, 10, 10, WEST);
    
    private Object[] mainStuff =
        new Object[] { dataPanel, sumAction };
    
    private VTable mainPanel =
        new VTable(mainStuff, 10, 10, CENTER);
    
    
    public SumPanel() {
        add(mainPanel);
        addListeners();
    }
    
    
    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;
        
        total.setViewState(x + "");
    }
    
    
    private void addListeners() {
        view1.addActionListener(sumAction);
        view2.addActionListener(sumAction);
        view3.addActionListener(sumAction);
        view4.addActionListener(sumAction);
    }
    
    
    public static void main(String[] args) {
        new SumPanel().frame("Sum Panel");
    }
}

