/*
	A basic extension of the java.applet.Applet class
 */

import java.awt.*;
import java.applet.*;

import simulate.Simulation;
import simulate.Phase;
import simulate.Controller;
import simulate.Space;
import simulate.SpeciesDiskWell;
import simulate.P2SquareWell;
import simulate.IntegratorHard;
public class noBoundary extends Applet
{
    public void update(Graphics g) {paint(g);}
	public void init()
	{
		// Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
		symantec.itools.lang.Context.setApplet(this);
	
		// This code is automatically generated by Visual Cafe when you add
		// components to the visual environment. It instantiates and initializes
		// the components. To modify the code, only use code syntax that matches
		// what Visual Cafe can generate, or Visual Cafe may be unable to back
		// parse your Java file into its visual environment.
		//{{INIT_CONTROLS
		setLayout(null);
		setSize(327,401);
		setBackground(new Color(16777215));
		simulation1 = new simulate.Simulation();
		simulation1.setLayout(null);
		simulation1.setBounds(12,24,400,300);
		simulation1.setBackground(new Color(16777215));
		add(simulation1);
		phase1 = new simulate.Phase();
		phase1.setLayout(null);
		phase1.setBounds(0,0,300,300);
		phase1.setBackground(new Color(8421504));
		simulation1.add(phase1);
		space1 = new simulate.Space();
		space1.setBounds(60,156,20,40);
		phase1.add(space1);
		speciesDiskWell1 = new simulate.SpeciesDiskWell();
		speciesDiskWell1.setNMolecules(42);
		speciesDiskWell1.setLambda(1.9);
		speciesDiskWell1.setNeighborUpdateSquareDisplacement(179769313486231570000000000000.);
		speciesDiskWell1.setBounds(0,0,300,300);
		phase1.add(speciesDiskWell1);
		p2SquareWell1 = new simulate.P2SquareWell();
		p2SquareWell1.setEpsilon(500.0);
		p2SquareWell1.setLambda(1.7);
		p2SquareWell1.setBounds(60,216,20,40);
		phase1.add(p2SquareWell1);
		controller1 = new simulate.Controller();
		controller1.setLayout(null);
		controller1.setBounds(300,48,100,40);
		simulation1.add(controller1);
		integratorHard1 = new simulate.IntegratorHard();
		integratorHard1.setIsothermal(true);
		integratorHard1.setTemperature(200.0);
		integratorHard1.setLayout(null);
		integratorHard1.setBounds(12,0,20,40);
		controller1.add(integratorHard1);
		button1 = new java.awt.Button();
		button1.setLabel("Restart");
		button1.setBounds(84,336,156,40);
		button1.setForeground(new Color(13421721));
		button1.setBackground(new Color(0));
		add(button1);
		//}}
		controller1.start();
	
		//{{REGISTER_LISTENERS
		SymMouse aSymMouse = new SymMouse();
		button1.addMouseListener(aSymMouse);
		//}}
	}
	
	//{{DECLARE_CONTROLS
	simulate.Simulation simulation1;
	simulate.Phase phase1;
	simulate.Space space1;
	simulate.SpeciesDiskWell speciesDiskWell1;
	simulate.P2SquareWell p2SquareWell1;
	simulate.Controller controller1;
	simulate.IntegratorHard integratorHard1;
	java.awt.Button button1;
	//}}

	class SymMouse extends java.awt.event.MouseAdapter
	{
		public void mouseClicked(java.awt.event.MouseEvent event)
		{
			Object object = event.getSource();
			if (object == button1)
				button1_MouseClicked(event);
		}
	}

	void button1_MouseClicked(java.awt.event.MouseEvent event)
	{
		// to do: code goes here.
			 
		//{{CONNECTION
		// initializeSpecies...
		{
			speciesDiskWell1.initializeSpecies(phase1);
		}
		//}}
		integratorHard1.initialize();
	}
}
