// class Test

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class Test extends Applet implements ActionListener {
    private MyContainer top, nottop;
    private MomentoPanel isp, general, contacts, packages, pops,
			  contacts_management, contacts_sales, contacts_administration, contacts_technical;
	private MomentoTextField general_name, general_url, general_established;
	private MomentoTextArea pops_28k, pops_33k;
	private Button button;
    
 /*   public static void main(String[] args) {
        Test test = new Test();
        test.setVisible(true);
    }
    
    class FrameAdapter extends WindowAdapter {
        public void windowClosing(WindowEvent e) {
            setVisible(false);
            System.exit(0);
        }
    }*/
 public void init() {

      general = new MomentoPanel("general");
		general.setSize(100,0);
		general.setBackground(Color.blue);
		general.setLayout(new FlowLayout());
		
		general_name = new MomentoTextField("name");
		general_name.setBounds(10,10,80,80);
		general_url = new MomentoTextField("url");
		general_url.setBounds(10,100,80,80);
		general_established = new MomentoTextField("established");
		general_established.setBounds(10,190,80,80);
		
	//	FrameAdapter fa = new FrameAdapter();
		//addWindowListener(fa);
		
		general.add(general_name);
		general.add(general_url);
		general.add(general_established);
	
		contacts = new MomentoPanel("contacts");
		contacts.setSize(0,100);
		contacts.setBackground(Color.red);
		
		contacts_management = new MomentoPanel("management");
		contacts_management.setBounds(10,10,80,80);
		contacts_management.setBackground(Color.white);
		
		contacts_sales = new MomentoPanel("sales");
		contacts_sales.setBounds(100,10,80,80);
		contacts_sales.setBackground(Color.white);

		contacts_administration = new MomentoPanel("administration");
		contacts_administration.setBounds(190,10,80,80);
		contacts_administration.setBackground(Color.white);

		contacts_technical = new MomentoPanel("technical");
		contacts_technical.setBounds(280,10,80,80);
		contacts_technical.setBackground(Color.white);

		contacts.add(contacts_management);
		contacts.add(contacts_sales);
		contacts.add(contacts_administration);
		contacts.add(contacts_technical);

		packages = new MomentoPanel("packages");
		packages.setSize(100,0);
		packages.setBackground(Color.green);
		
		pops_28k = new MomentoTextArea("28k");
		pops_28k.setBounds(10,10,80,80);
		
		pops_33k = new MomentoTextArea("33k");
		pops_33k.setBounds(10,100,80,80);
		
		button = new Button("Generate Momento");
		button.setBounds(10,190,200,50);
		button.addActionListener(this);
		
        Choice colorChooser = new Choice();
        colorChooser.add("Green");
        colorChooser.add("Red");
        colorChooser.add("Blue");
        colorChooser.setBounds(10,280,200,50);
        colorChooser.setEnabled(false);
		
		pops = new MomentoPanel("pops");
		pops.add(pops_28k);
		pops.add(pops_33k);
		pops.add(button);
		pops.add(colorChooser);
		
		setLayout(null);
		//top = new MyContainer();
		//top.setBounds(200,200,400,300);
		//add(top);

		//nottop = new MyContainer();
		//nottop.setBounds(220,230,400,300);
		//add(nottop);
				
		isp = new MomentoPanel("isp");
		isp.setBounds(20,20,500,500);
		isp.setLayout(new BorderLayout());
		isp.add(general, "West");
		isp.add(contacts, "North");
		isp.add(packages, "East");
		isp.add(pops, "Center");

		add(isp);
		button.setBackground(Color.lightGray);

		//setLayout(new BorderLayout());
		//add(new Button("Hello"));
		
		Manager manager = new Manager(this);
		//manager.trigger();
		isp.validate();
		//general_url.addKeyListener(manager);
   }
   
/*   public void update(Graphics g) {
     paint(g);
   }*/
   
/*   public void paint(Graphics g) {
     System.out.println("Hello");
     super.paint(g);
     g.setColor(Color.magenta);
     g.fillOval(50,50,100,100);
   }*/
   
   public void start() {
   }
   public void stop() {
   }
	public void actionPerformed(ActionEvent e) {
		System.out.println(isp.appendMomento(new PrettyXML(256)));
		Graphics g = isp.getGraphics();
//		g.setColor(Color.magenta);
//        g.fillOval(50,50,100,100);
	}
	class MyContainer extends Container {
	   // public void update(Graphics g) {
	   //     paint(g);
	    //}

	    public void paint(Graphics g) {
		    g.setColor(Color.magenta);
            g.fillOval(50,50,100,100);
		    g.setColor(Color.black);
            g.drawOval(50,50,100-1,100-1);
	    }
	}
}