package jas.example.dim;

import jas.jds.module.*;
import jas.util.*;
import javax.swing.*;
import java.awt.*;

public class RandomLocalDIM implements LocalDIM
{	
   private LocalJobBuilder ljb;
	
   public void setLocalJobBuilder(LocalJobBuilder ljb)
   {
      this.ljb = ljb;
   }
   public hep.analysis.EventSource openDataSet(String desc)
   {
      return new RandomEventSource(desc);
   }
   public jas.util.JASWizardPage getSetupPage()
   {
      return new RandomWizardPage();
   }
   public String toString()
   {
      return "Random Events";
   }
   private class RandomWizardPage extends JASWizardPage implements Finishable
   {
      RandomWizardPage()
      {
         super(new GridLayout(2,2));

         // construct text boxes to solicit user input, with appropriate defaults
         seedBox = new JTextField("123456789");
         eventBox = new JTextField("1000");
			
         add(new JLabel("Seed"));
         add(seedBox);
         add(new JLabel("Events"));
         add(eventBox);
      }
      public void onFinish()
      {
         // We need to get the user's input, build a string suitable for creating
         // an RandomEventSource and then call the LocalJobBuilder's createJob()
         // method.

         String desc = eventBox.getText()+" "+seedBox.getText();
         ljb.createJob(desc);
         dispose(); // close the wizard
      } 
      private JTextField seedBox;
      private JTextField eventBox;
   }
}
