//TransSlidePanel.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class TransSlidePanel extends Panel {
    private Trans_State state;
    public JSlider slider3;
    private Label vlab1, vlab2, vlab3;
    private double lineLength;
    private Font labelfont=new Font("Sanserif",Font.PLAIN,12);
    private Font labelfont2=new Font("Sanserif",Font.PLAIN,12);
    private Font labelfont3=new Font("Sanserif",Font.PLAIN,11);
        
        
    //private static final Color bgcolor = new Color(216,216,191);
    private  static final Color bgcolor = new Color(200,255,255);
    public int shiftdown = 15;
    public int yplus = 0;//200;
    public Checkbox ch1, ch2,   trace;
    public CheckboxGroup cbc1;

    private static final Color tinta = new Color(236,236,221);
    private boolean Is_Millimeter;
    public int SCROLLMIN=0, SCROLLMAX=351, SCROLLMAXW = 101, SCROLLMINW = 5, SCROLLMAX_TIME = 5001;
    public int SCROLLMIN_Lambda = 300, SCROLLMAX_Lambda = 751;


    public TransSlidePanel(Trans_State state){
        super();	
        setLayout(null);
        setBackground(Color.white);

        this.state = state;

        labelfont=new Font("Sanserif",Font.PLAIN,state.font12);
        labelfont2=new Font("Sanserif",Font.PLAIN,state.font12);
        labelfont3=new Font("Sanserif",Font.PLAIN,state.font11);

        cbc1 = new CheckboxGroup();
        ch1 = new Checkbox("Horizontal Plane",false,cbc1);
        ch1.setForeground(Color.red.darker());
        ch1.setFont(labelfont);
        ch2 = new Checkbox("Vertical Plane",true,cbc1);
        ch2.setForeground(Color.blue.darker());
        ch2.setFont(labelfont);
        add(ch1); add(ch2); 

        trace = new Checkbox("Current Animation",false);
        trace.setFont(labelfont);
	
        vlab1 = new Label("100.0",Label.LEFT);
        vlab1.setFont(labelfont);

        vlab2 = new Label("mm",Label.LEFT);
        vlab3 = new Label("mils",Label.LEFT);

        vlab2.setFont(labelfont2);
        vlab3.setFont(labelfont2);

        vlab1.setBackground(Color.white);
        vlab2.setBackground(Color.white);

	slider3 = new JSlider(SCROLLMINW,SCROLLMAXW);// width of barrier
	slider3.setValue(20);
        //slider3 = new Scrollbar(Scrollbar.HORIZONTAL,20,1,SCROLLMINW,SCROLLMAXW);// width of barrier
        //slider3.setBlockIncrement(10);	
        //slider3.addChangeListener(this);
        //slider3.setBackground(new Color(230,230,255));

        lineLength=100.0;
        Is_Millimeter = true;		 		

        add(slider3);
        ch1.setBounds(state.s5,state.s50,state.s140,state.s18);
        ch2.setBounds(state.s145,state.s50,state.s120,state.s18);

        trace.setBounds(state.s30,state.s75,state.s150,state.s20); 
        trace.setForeground(Color.black);
        add(trace);        
        
        slider3.setBounds(state.s28,state.s22,state.s200+state.s20,state.s15);
        slider3.setBackground(Color.white);
	/*
            slide3.setBackground(Color.cyan);
            add(slide3);
            slide3.setBounds(state.s28-1,state.s22-1,state.s200+state.s20+2,state.s15+2);
            slide2.setBackground(Color.black);
            add(slide2);
            slide2.setBounds(state.s28-2,state.s22-2,state.s200+state.s20+4,state.s15+4);
	*/
        //slider3.addChangeListener(this);

    }
	
	
    public void paint(Graphics g){
        //g.setColor(bgcolor);
        //g.fill3DRect(0,0,getSize().width-1,getSize().height-1,true);
        g.clearRect(0,0,getSize().width-1,getSize().height-1);

        //Draw the background	
        g.setColor(Color.black);
        g.drawLine(0,getSize().height-1,getSize().width-1,getSize().height-1);
        g.drawLine(getSize().width-1,0,getSize().width-1,getSize().height-1);
        //g.setColor(Color.white);

        g.drawLine(0,0,getSize().width-1,0);
        g.drawLine(0,0,0,getSize().height-1);

        int plus = state.s44;

        Graphics2D g2d = (Graphics2D)g;
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

        double range;
        range = state.delta_lambda * state.Nx/2;

        g.setColor(Color.black);
        MaestroG.Custom3("Plot Range",""," = "+MaestroA.rounder(range,2)," \u03bb",g,state.font12,state.s80,state.s15);

        g.setColor(Color.red);
	slider3.requestFocusInWindow();
    }
}//End of TransSlidePanel

