package osBridge; 

import osBridge.*;
import javax.swing.*;
import java.util.*;
import java.awt.*;

public class BrApplet extends JApplet implements BridgeListener, Runnable{

   Thread brApplet;

   JFrame myFrame = new JFrame("TORA's Mutex Bridge");
   BrPanel myPanel;

   public BrApplet(){

      start();

   }

   public void update(boolean[] yellows, boolean[] purples, boolean[] theBridge,
		      boolean bridgeMutex, boolean yellowMutex, boolean purpleMutex){
      if (myPanel == null){
	 
	 return;
      }
      myPanel.updateGraphics(bridgeMutex, yellowMutex, purpleMutex, 
			     theBridge, yellows, purples); 

   }  

    public static void main(String[] args){
      new BrApplet();
   }

   public void init(){
      start();
   }

   public void run(){

      final OsBridge myBridge = new OsBridge(9,7,3,7,3,this);

      myPanel = new BrPanel(this);
      myFrame.getContentPane().add(myPanel);

      myFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

      myFrame.setResizable(false);

      myFrame.pack();
      myFrame.show();

      JFrame mFrame2 = new JFrame("Bridge Controls");
      mFrame2.getContentPane().add(new ControlPanel(myBridge));

      mFrame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

      mFrame2.setResizable(false);
      mFrame2.pack();
      mFrame2.show();

   }

   public void destroy(){
      brApplet = null;
   }

   public void start(){
      if(brApplet == null ){
	 brApplet = new Thread(this);
	 brApplet.start();
      }
   }
}
