//TransGeneratorPanel
/* A Java class for
 * LossyWide.java
 * Electromagnetic Transmission Line Applet
 * Applet without Smith Chart - Prepared by Umberto Ravaioli 
 * for 6th edition of Fundamentals of Applied Electromagnetics Book
 * May 2009 - All Rights Reserved
 */ 
import java.awt.*;

public class TransGeneratorPanel extends PC{
   
    protected CheckboxGroup cgrp;
    private Trans_State state;
    private static final Color bgcolor = new Color(236,236,236);
    private static final Color tinta = new Color(236,236,236);
    private Font newfont5, newfont6, newfont7, newfont8, newfont9;
    
    public TransGeneratorPanel(String titulo, String[] nome, String[] unidade, Trans_State state){
	
	super(titulo,nome,unidade);
	setLayout(null);
	setBackground(bgcolor);
        newfont5 = new Font("SanSerif",Font.PLAIN,state.font11);
        newfont6 = new Font("SanSerif",Font.BOLD,state.font12);
        newfont7 = new Font("SanSerif",Font.PLAIN,state.font11);
        newfont8 = new Font("Serif",Font.PLAIN,state.font12);
        newfont9 = new Font("SanSerif",Font.PLAIN,state.font10);
        
	this.state = state;
	
	titlelabel.setBounds(state.s5,state.s10,state.s280,state.s30);
        titlelabel.setFont(newfont6);
	//lab1[0].setBounds(30,50,20,20);
	text1[0].setBounds(state.s55,state.s45,state.s80,state.s20);
	lab2[0].setBounds(state.s143,state.s45,state.s25,state.s20);
	text2[0].setBounds(state.s170,state.s45,state.s80,state.s20);
	lab3[0].setBounds(state.s255,state.s45,state.s25,state.s20);
	
	//lab1[1].setBounds(30,80,20,20);
	text1[1].setBounds(state.s55,state.s75,state.s80,state.s20);
	lab2[1].setBounds(state.s143,state.s75,state.s25,state.s20);
	text2[1].setBounds(state.s170,state.s75,state.s80,state.s20);
	lab3[1].setBounds(state.s255,state.s75,state.s25,state.s20);
	
	b1.setBounds(state.s120,state.s110,state.s70,state.s20);
        //b1.setBackground(new Color(220,220,210));
        b1.setBackground(Color.white);
        b1.setFont(newfont5);
        	
	text1[0].setText(""+state.ZL.Real());
	text2[0].setText(""+state.ZL.Imaginary());
        
        lab2[0].setFont(newfont7);
        lab3[0].setFont(newfont7);
        text1[0].setFont(newfont7);
        text2[0].setFont(newfont7);
        
        lab2[1].setFont(newfont7);
        lab3[1].setFont(newfont8);
        text1[1].setFont(newfont7);
        text2[1].setFont(newfont7);
    }
    
    public void paint(Graphics g){
            Graphics2D g2d = (Graphics2D)g;
            g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
                
            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);	   
	    MaestroG.subscripterWavy("V","g"," =",g,state.font12,state.s20,state.s60);
	    MaestroG.subscripter("Z","g"," =",g,state.font12,state.s20,state.s90);
            
            g.setColor(Color.red.darker());
            // Border for text1[0]
            g.drawRect(state.s55-1,state.s45-1,state.s80+2,state.s20+2);
            // Border for text2[0]
            g.drawRect(state.s170-1,state.s45-1,state.s80+2,state.s20+2);
            // Border for text1[1]
            g.drawRect(state.s55-1,state.s75-1,state.s80+2,state.s20+2);
            // Border for text2[1]
            g.drawRect(state.s170-1,state.s75-1,state.s80+2,state.s20+2);
            // Border for b1
            g.drawRect(state.s120-1,state.s110-1,state.s70+2,state.s20+2);
    }
}