import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.*;
import java.io.*;

public class CUE 
{
  private WComponent container;
  
  private JLabel title = new JLabel("Editing");
  private JLabel dirLabel = new JLabel("Directory:");
  private JLabel survLabel = new JLabel("Survey:");


  
  
  //private JLabel uidLabel = new JLabel("User ID:");
  
  private JTextField dir = new JTextField();
  private JTextField surv = new JTextField();
  private JFileChooser filelist = new JFileChooser();
  private JList added = new JList();
  //private JTextField uid = new JTextField();
  
  
  private Dimension cueDimension;
  private Dimension titleDimension = new Dimension(100,20);
  private Dimension labelDimension = new Dimension(75,20);
  private Dimension textDimension = new Dimension(560,20);
  private Dimension listDimension = new Dimension(360, 430);
  private Dimension addDimension = new Dimension(200, 400);
  /**
   * Default Constructor
   */
  public CUE() 
  {
  } 
  
  /**
   * Current User Editor Constructor
   */
  public CUE(JLayeredPane layers, BevelBorder bevel, int WIDTH, int HEIGHT)
  {
    //********************************************************
    //Instantiate the container component for this region.
    //********************************************************
    cueDimension = new Dimension(WIDTH-15,HEIGHT-65);
    container = new WComponent();
    
    //***********************************
    //Setup properties of the SRPole
    //***********************************
	
	
	
    filelist.setCurrentDirectory(new File("Surveys/"));
    
    container.setSize(cueDimension);
    container.setBorder(bevel);
    container.setBounds(5,5,(int)cueDimension.getWidth(),(int)cueDimension.getHeight());
    title.setBounds(10,5,(int)titleDimension.getWidth(),(int)titleDimension.getHeight());
   
    
    dirLabel.setBounds(10,25,(int)labelDimension.getWidth(),(int)labelDimension.getHeight());
    dir.setBackground(Color.white);
    dir.setSize(textDimension);
    dir.setBorder(bevel);
    dir.setBounds(90,25,(int)textDimension.getWidth(),(int)textDimension.getHeight());
    dir.setEditable(false);
    dir.setBackground(Color.lightGray);
  
 
    
    survLabel.setBounds(10,50,(int)labelDimension.getWidth(),(int)labelDimension.getHeight());
    surv.setBackground(Color.white);
    surv.setSize(textDimension);
    surv.setBorder(bevel);
    surv.setBounds(90,50,(int)textDimension.getWidth(),(int)textDimension.getHeight());
    surv.setEditable(false);
    surv.setBackground(Color.lightGray);
    
    
	
	filelist.setBackground(Color.white);
	filelist.setSize(listDimension);
	filelist.setBounds(10, 100, (int)listDimension.getWidth(), (int)listDimension.getHeight());
	filelist.setControlButtonsAreShown(false);
	filelist.setMultiSelectionEnabled(true);
	filelist.addChoosableFileFilter(new MyFileFilter(".xml"));
	

	added.setBackground(Color.white);
	added.setSize(listDimension);
	added.setBorder(bevel);
	added.setBounds(480, 100, (int)addDimension.getWidth(), (int)addDimension.getHeight());
	added.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
	

    
    //********************************************************
    //Include the components and set their layers
    //********************************************************
    
    layers.add(container);
    layers.setLayer(container,1);
    layers.add(title);
    layers.setLayer(title,2);
    
    layers.add(dirLabel);
    layers.setLayer(dirLabel,2);
    layers.add(survLabel);
    layers.setLayer(survLabel,2);
  
    
    layers.add(dir);
    layers.setLayer(dir,2);
    layers.add(surv);
    layers.setLayer(surv,2);
  
    layers.add(filelist);
    layers.setLayer(filelist, 1);
    layers.add(added);
    layers.setLayer(added, 1);

    //********************************
    //Set the Areas to a visible state
    //********************************
    
    container.setVisible(true);
    title.setVisible(true);
    dirLabel.setVisible(true);
    dir.setVisible(true);
    survLabel.setVisible(true);
    surv.setVisible(true);
    filelist.setVisible(true);
    added.setVisible(true);

  }

  public void setDir(String text)
  {
    dir.setText(text);
  }

  public void setSurv(String text)
  {
    surv.setText(text);
  }

  public void setUID(String text)
  {
    surv.setText(text);
  }
  
  public String getDir()
  {
    return dir.getText();
  }
  
  public String getSurv()
  {
    return surv.getText();
  }
  
  public JFileChooser getFileList()
  {
  	return filelist;
  }
  
  public JList getAdded()
  {
  	return added;
  }
  
  // Method no longer used
  public String getUID()
  {
    return null;//uid.getText();
  }
  
  public void setText(String dirText, String survText, String uidText)
  {
    dir.setText(dirText);
    surv.setText(survText);
   
  }
  
  public void seset()
  {
    dir.setText("");
    surv.setText("");
   
  }
}
