All pastes #335847 Raw Edit

kozmic

public text v1 · immutable
·published 2007-02-01 17:28 UTC
rendered paste body
/* Movie Billboard program for use in TDT4240

*/

import java.lang.InterruptedException;

/**
 * Main class: fetches data and updates the displays
 */
class MovieInfoSource
{
   private Movie       lastMovie;
   private MovieStream source;
   private Billboard   simple;
   private Billboard   large;		// Added for 1a.
   private Billboard   nova;		// Added for 1b.
   private Window      question;	// Added for 1c.

   /**
    * Constructor, initialises a moviestream, a simple billboard and then hands
    * control over to showMovieInfo method
    *
    * @param fileName Name of the file that contains movie information
    */
   public MovieInfoSource(String fileName)
   {
      source = new FakeMovieStream(fileName);
      question = new Window("Choose billboards", 1, 1);
      
      if(question.askYesNo("Do you want to enable SimpleBillboard?")) {
    	  simple = new SimpleBillboard(true);
      } else {
    	  simple = new SimpleBillboard(false);
      }
      
      if(question.askYesNo("Do you want to enable LargeBillboard?")) {
    	  large = new LargeBillboard(true);
      } else {
    	  large = new LargeBillboard(false);
      }
      
      if(question.askYesNo("Do you want to enable NovaBillboard?")) {
    	  nova = new NovaBillboard(true);
      } else {
    	  nova = new NovaBillboard(false);
      }
    
      // TODO: Shouldnt be created if they are not gonna be displayed.
//      simple = new SimpleBillboard();
//      large = new LargeBillboard();		// Added for 1a.
//      nova = new NovaBillboard(true);		// Added for 1b.
	  
      showMovieInfo();
   }

   public void chooseBillboards() {
	   question = new Window("Choose billboards", 400, 100);
   }
   /**
    * Method contains an infinite loop that gets a new Movie object and then instructs a
    * window to show this information
    */
   public void showMovieInfo()
    {
      boolean done = false;
      while( !done )
      {
         lastMovie = source.getMovie();
         if(simple.getIsEnabled())
        	 simple.showNextMovie(lastMovie);
         if(large.getIsEnabled()) 
        	 large.showNextMovie(lastMovie);	// Added for 1a.
         if(nova.getIsEnabled())
        	 nova.showNextMovie(lastMovie);		// Added for 1b.
      }
    }

};