//TransLoadPanel

import java.awt.*;
import java.awt.event.*;

public class TransLoadPanel extends PC implements ItemListener{
    public Checkbox c1, c2;
    protected CheckboxGroup cgrp;
    private Trans_State state;
    private static final Color tinta = new Color(236,236,236);
    private static final Color bgcolor = new Color(236,236,236);
    protected Font titfont;
    protected Font buttonfont;
    protected Font textfont;
    protected Font unitfont;
    
    public Button SetTr;
    private boolean ShowZ = true;
    
    public TransLoadPanel(String titulo, String[] nome, String[] unidade, Trans_State state){
	super(titulo,nome,unidade);
	setLayout(null);
	setBackground(bgcolor);
        this.state = state;
        
        titfont = new Font("SanSerif",Font.PLAIN,state.s14);
        textfont = new Font("SanSerif",Font.PLAIN,state.s12);
        buttonfont = new Font("SanSerif",Font.PLAIN,state.s11);
        unitfont = new Font("Serif",Font.PLAIN,state.s13);
        
        cgrp = new CheckboxGroup();
	c1 = new Checkbox("Impedance",cgrp,true);
	c2 = new Checkbox("Admittance",cgrp,false);
	add(c1);
	add(c2);
	
        titlelabel.setBounds(state.s10,state.s5,state.s85,state.s20);
        titlelabel.setForeground(Color.red.darker());
        titlelabel.setFont(titfont);
        
        text1[0].setBounds(state.s55,state.s60,state.s80,state.s20);
	lab2[0].setBounds(state.s145,state.s60,state.s20,state.s20);
	text2[0].setBounds(state.s170,state.s60,state.s80,state.s20);
	lab3[0].setBounds(state.s255,state.s60,state.s45,state.s20);
	text1[0].setFont(textfont);
        text2[0].setFont(textfont);
        lab2[0].setFont(textfont);
        lab3[0].setFont(unitfont);
        
        c1.setBounds(state.s55,state.s90,state.s100,state.s20);
	c1.setBackground(bgcolor);
	c1.setFont(textfont);
        
        //CHANGE #2 6/13/2017 ==================================================
        // MODIFY LINE BELOW
        //c2.setBounds(170,90,100,20);
        c2.setBounds(state.s170,state.s90,state.s120,state.s20);
	//======================================================================
        c2.setBackground(bgcolor);
        c2.setFont(textfont);
        
	b1.setBounds(state.s120,state.s120,state.s70,state.s20);
        b1.setBackground(Color.white);
        b1.setFont(buttonfont);
	
	text1[0].setText(""+state.ZL.Real());
	text2[0].setText(""+state.ZL.Imaginary());
	
	//Listeners
	c1.addItemListener(this);
	c2.addItemListener(this);
        
        SetTr = new Button(">>  Set  Line / Discrete Element");
        //SetTr = new Button("\u21aa  Set  Line / Transformer");
        
        SetTr.setBounds(state.s105,state.s5,state.s200,state.s18);
        SetTr.setBackground(Color.white);
        SetTr.setFont(buttonfont);
        add(SetTr);
        Panel but1 = new Panel();
		    but1.setBackground(Color.black);
		    add(but1);
		    but1.setBounds(state.s105-1,state.s5-1,state.s200+2,state.s18+2);
    }
    
    public void paint(Graphics g){
	    g.clearRect(0,0,getSize().width,getSize().height);
	    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);
	    
	    g.setColor(Color.black);	
	      
            // CHANGE #3 6/13/2017 =============================================
	    // MODIFY LINE BELOW
            //MaestroG.subscripter("   ","L","=",g,12,25,75);
            if(ShowZ){
                  MaestroG.subscripter("Z","L","=",g,state.font14,state.s20,state.s75);
            }
            else{
                  MaestroG.subscripter("Y","L","=",g,state.font14,state.s20,state.s75);
            }
            //==================================================================
            g.setColor(Color.red.darker());
            g.drawRect(state.s55-1,state.s60-1,state.s80+2,state.s20+2);
            g.drawRect(state.s170-1,state.s60-1,state.s80+2,state.s20+2);
            g.drawRect(state.s120-1,state.s120-1,state.s70+2,state.s20+2);
    }
    
    public void itemStateChanged(ItemEvent evt){
	if(evt.getSource()==c1){
	    lab1[0].setText("Z");
	    lab3[0].setText("[ \u03a9 ]");
	    
            //CHANGE #4 6/13/2017 ==============================================
            // MODIFY LINEs BELOW
            //text1[0].setText(""+state.ZL.Real());
	    //text2[0].setText(""+state.ZL.Imaginary());
	    text1[0].setText(""+MaestroA.rounder(state.ZL.Real(),6));
	    text2[0].setText(""+MaestroA.rounder(state.ZL.Imaginary(),6));
            ShowZ = true;
            repaint();
            //==================================================================
	    state.is_Load_Ztype = true;
	}
	
	else if(evt.getSource()==c2){
	    lab1[0].setText("Y");
	    lab3[0].setText("[ S ]");
            //CHANGE #5 6/13/2017 ==============================================
            // MODIFY LINES BELOW
            //text1[0].setText(""+state.YL.Real());
	    //text2[0].setText(""+state.YL.Imaginary());
	    text1[0].setText(""+MaestroA.rounder(state.YL.Real(),6));
	    text2[0].setText(""+MaestroA.rounder(state.YL.Imaginary(),6));
            ShowZ = false;
            repaint();
            //====================================================================
	    state.is_Load_Ztype = false;
	}
    }

}

