import java.awt.TextArea;
import java.awt.Font;
import java.awt.Component;
import java.awt.ScrollPane;
import java.awt.Button;
import java.applet.Applet;
import java.util.Vector;
import java.awt.*;
import java.lang.Character;
import java.awt.Dimension;


public class Model extends Applet {
    Vector vec;
    private ButtonPanel dbpanel;
    private ButtonPanel gbpanel;
    private GraphPanel graphpanel;
    private ScrollPane datascroll;
    private ScrollPane graphscroll;
    private Panel controlpanel;
    private Vector Dataset;
    private Vector Graphset;
    private String temp;
    private Vector vals;

    public Model () {
	this.setLayout(new BorderLayout());
        String temp=new String();
        vec = new Vector();
        Dataset = new Vector();
        Graphset = new Vector();
    }

    public void init() {

	// Ready vector for Dataset Button panel
	Dataset.addElement("Dataset");
	for (int i=1; i<5; i++) {
	    Dataset.addElement("data "+i);
	}

        // Ready vector for Graphset Button panel
        Graphset.addElement("Graph");
        for (int i=1; i<5; i++) {
            Graphset.addElement("graph "+i);
        }

	datascroll = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
	dbpanel = new ButtonPanel(Dataset, this);
	dbpanel.update_panel();
	datascroll.add(dbpanel);
        datascroll.setSize(150,300);

	graphscroll = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
	gbpanel = new ButtonPanel(Graphset, this);
	gbpanel.update_panel();
	graphscroll.add(gbpanel);
        graphscroll.setSize(150,300);

	controlpanel = new Panel();
	controlpanel.setSize(150,600);
	controlpanel.setLayout(new VListLayout(10, 10));
	controlpanel.add(datascroll);
	controlpanel.add(graphscroll);

	graphpanel = new GraphPanel(this);
	add(graphpanel, BorderLayout.CENTER);
	add(controlpanel, BorderLayout.WEST);
    }

    public void update_graph(String message, String element) {
	System.out.println(message+" "+element);
	graphpanel.update_graph(message, element);
    }

}
	
