//NewGuideControlPanel.java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class NewGuideControlPanel extends Panel implements ActionListener, MouseListener{
    private static final Color bgcolor = new Color(236,236,221);
    Label lab1, lab2;
    public Label Etheta, Etheta2;
    Choice ch1, ch2;
    public  Button about, DB;
    
    public Font labfont;
    public Font normalfont;
    public Font labelfont;
    
    public Panel pDB;
    
    public int x, y;
    
    public Checkbox c1, c2, cdB;
    CheckboxGroup cgrid1;
    NewGuide_State state;
    
    public NewGuideControlPanel(NewGuide_State state){
	super();
        setLayout(null);
        this.state = state;
        
        labfont=new Font("SanSerif",Font.PLAIN,state.s10);
        labelfont = new Font("Serif",Font.PLAIN,state.s11);
        normalfont = new Font("SanSerif",Font.PLAIN,state.s11);
        
	setBackground(bgcolor);
	about = new Button("Instructions");
	DB = new Button("dB");
        
        lab1 = new Label("Set: ", Label.RIGHT);
	lab1.setFont(new Font("SanSerif",Font.BOLD,state.font12));
	
	lab2 = new Label("Select: ", Label.RIGHT);
	lab2.setFont(new Font("SanSerif",Font.BOLD,state.font12));
        
        Etheta = new Label("E(\u03b8) / E(0)", Label.LEFT);
	Etheta2 = new Label("F(\u03b8)", Label.LEFT);
	Etheta.setFont(labelfont);
        Etheta2.setFont(labelfont);
        Etheta.setForeground(Color.black);
        Etheta2.setForeground(Color.black);
        
        //Etheta.setBackground(Color.pink);
        //Etheta2.setBackground(Color.pink);
        
        Etheta.setBounds(state.s30,state.s8,state.s55,state.s20);
	Etheta2.setBounds(state.s115,state.s8,state.s35,state.s20);
        
        add(Etheta);
        add(Etheta2);
        
	ch1 = new Choice();
	ch1.addItem("E(\u03b8) / E(0)");
	ch1.addItem("F(\u03b8)");
        
        cgrid1=new CheckboxGroup();
	c1 = new Checkbox("|E(\u03b8)|/|E(0)|",cgrid1,true);	
	c2 = new Checkbox("F(\u03b8)",cgrid1,false);
	c1.setFont(labelfont);
        c2.setFont(labelfont);
        cdB = new Checkbox("dB",true);
        cdB.setFont(labelfont);
        
        add(c1);
	add(c2);
        add(cdB);
	
        // CHANGE ==============================================================
	c1.setFont(new Font("SanSerif",Font.PLAIN,state.font11));
        c2.setFont(new Font("SanSerif",Font.PLAIN,state.font12));
        cdB.setFont(new Font("SanSerif",Font.PLAIN,state.font12));
        //c1.setBounds(state.s3,state.s10,state.s96,state.s20);
	//c2.setBounds(state.s99,state.s10,state.s54,state.s20);
        //cdB.setBounds(state.s173,state.s10,state.s48,state.s20);
	//======================================================================
	add(about);
	//add(ch1);
	
	ch2 = new Choice();
	ch2.addItem(" Set Antenna Parameters");
	ch2.addItem(" Scan Fields and Power");
	ch2.addItem(" Instructions");
	//add(lab2);
	//add(ch2);
        
        DB.setBounds(state.s155,state.s10,state.s40,state.s15);
        DB.setBackground(Color.white);
        DB.setForeground(Color.red);
        DB.setFont(labelfont);
        add(DB);
        pDB = new Panel();
	    pDB.setBackground(Color.red);
	    add(pDB);
	    pDB.setBounds(state.s155-3,state.s10-3,state.s40+6,state.s15+6);
        
        about.setBounds(state.s200+state.s8,state.s7,state.s80,state.s20);
        about.setFont(labfont);
        about.setBackground(Color.white);
        Panel p3 = new Panel();
	    p3.setBackground(Color.black);
	    add(p3);
	    p3.setBounds(state.s200+state.s8-1,state.s7-1,state.s80+2,state.s20+2);
            
        this.addMouseListener(this);
        DB.addActionListener(this);
    }
    
    public void paint(Graphics g){
	g.setColor(bgcolor.darker());
	g.fillRect(0,getSize().height-2,getSize().width,2);
	g.fillRect(getSize().width-2,0,2,getSize().height);
	g.setColor(bgcolor.brighter());
	g.fillRect(0,0,2,getSize().height-1);
	g.fillRect(0,0,getSize().width-2,2);
        
        int x_one = state.s15;
        int x_two = state.s100;
        int y_one = state.s16;
        Color colore_radio = Color.black;

        // DRAW SCALABLE RADIO BUTTONS DONE BY HAND - BECAUSE OF WINDOWS 10 
        if(state.SelectE){
            g.setColor(Color.white);
            MaestroG.fillCircle(x_one,y_one, state.s12,g);
            g.setColor(colore_radio);
            MaestroG.drawCircle(x_one,y_one, state.s12,g);
            g.setColor(colore_radio);
            MaestroG.fillCircle(x_one,y_one, state.s5,g);

            g.setColor(Color.white);
            MaestroG.fillCircle(x_two,y_one, state.s12,g);
            g.setColor(colore_radio);
            MaestroG.drawCircle(x_two,y_one, state.s12,g);
        }
        else if(state.SelectE2){
            g.setColor(Color.white);
            MaestroG.fillCircle(x_one,y_one, state.s12,g);
            g.setColor(colore_radio);
            MaestroG.drawCircle(x_one,y_one, state.s12,g);

            g.setColor(Color.white);
            MaestroG.fillCircle(x_two,y_one, state.s12,g);
            g.setColor(colore_radio);
            MaestroG.drawCircle(x_two,y_one, state.s12,g);
            g.setColor(colore_radio);
            MaestroG.fillCircle(x_two,y_one, state.s5,g);
        }
    }
    
    public void actionPerformed(ActionEvent evt){
        if(evt.getSource() == DB){
            if(state.Is_dB){
                
            }
            else{
                
            }
        }
    }
    
    public void mouseClicked(MouseEvent evt){
        x = evt.getX();
	y = evt.getY();
        
        if(x >= 0 && x<= state.s80){
            state.SelectE = true;
            state.SelectE2 = false;
            repaint();
        }
        else if(x >= state.s80 && x<= state.s135){
            state.SelectE = false;
            state.SelectE2 = true;
            repaint();
        }
    }
        
    private void myEventHandler(MouseEvent evt){
        
    }
    
    public void mouseEntered(MouseEvent evt){ }
    public void mouseExited(MouseEvent evt) { }
    public void mousePressed(MouseEvent evt) {myEventHandler(evt);}
    public void mouseReleased(MouseEvent evt) { }
    
}