//NewGuideInputPanel.java
import java.awt.*;
import java.awt.event.*;

public class NewGuideInputPanel3 extends Panel implements ActionListener, AdjustmentListener, ItemListener{
    private NewGuide_State state;
    private static final Color bgcolor = new Color(236,236,221);
    private Font labfont = new Font("SanSerif",Font.PLAIN,12);
    private Font labfont2 = new Font("Serif",Font.PLAIN,12);
    private Font normalfont = new Font("SanSerif",Font.PLAIN,14);
    private Font labelfont = new Font("Serif",Font.PLAIN,14);
    public int ScrollMax = 10000; 
    public int ScrollMax2 = 3600; 
    public int offset;
    private Label titlelabel;
    private Label lab0, lab1, lab2, lab3, lab4;
    private Label ulab1, ulab2, ulab3, ulab4;
    public TextField text1, text2, text3, text4, text5, text6;
    public Scrollbar slider1, slider2, slider3, slider4;
   
    public  Button b1, b2, b3;
    public  Button bupdate;
    // CHANGE ==============================================================
        public Button b2a, b2b, b3a, b3b, b4a, b4b, b5a, b5b;
    //======================================================================
    public Panel ps1, ps2;
    Choice ch2;
  
    public NewGuideInputPanel3(NewGuide_State state){
	super();
	setLayout(null);
	setBackground(bgcolor);
	this.state = state;
        
        labfont = new Font("SanSerif",Font.PLAIN,state.s12);
        labfont2 = new Font("Serif",Font.PLAIN,state.s13);
        normalfont = new Font("SanSerif",Font.PLAIN,state.s14);
        labelfont = new Font("Serif",Font.PLAIN,state.s14);
        
	titlelabel = new Label("Set Array Parameters",Label.CENTER);
	titlelabel.setFont(new Font("SanSerif",Font.BOLD,state.s16));    
	
	lab0 = new Label("Plot:",Label.RIGHT);
	lab0.setFont(new Font("SanSerif",Font.BOLD,state.s12));
	ch2 = new Choice();
	ch2.addItem(" Directivity");
	ch2.addItem(" Radiation Resistance");
	ch2.addItem(" Self Reactance");
	ch2.addItem(" Input Resistance");
	ch2.addItem(" Input Reactance");
	//add(lab0);
	//add(ch2);
	
	lab1 = new Label("Dipoles Distance  d =  ",Label.RIGHT);
	lab1.setFont(labelfont);
	lab2 = new Label("Phase Difference  \u03b4 =  ",Label.RIGHT);
	lab2.setFont(labelfont);
	lab3 = new Label("A - Current Max =  ",Label.RIGHT);
	lab3.setFont(labelfont);
	lab4 = new Label("B - Current Max =  ",Label.RIGHT);
	lab4.setFont(labelfont);
			
	text1 = new TextField(""+state.antenna_distance_lambda,8);
	text2 = new TextField(""+state.antenna_phase_degree,8);
	text3 = new TextField(""+state.currentin,8);
	text4 = new TextField(""+state.currentin2,8);
	text1.setFont(labfont);
        text2.setFont(labfont);
        text3.setFont(labfont);
        text4.setFont(labfont);
        
        ulab1 = new Label(" \u03bb",Label.LEFT);
	ulab2 = new Label(" deg",Label.LEFT);
	ulab3 = new Label(" [ A ]",Label.LEFT);
	ulab4 = new Label(" [ A ]",Label.LEFT);
	ulab1.setFont(labfont);
        ulab2.setFont(labfont);
        ulab3.setFont(labfont);
        ulab4.setFont(labfont);
        
        slider1 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,ScrollMax+1);//changes distance
	slider2 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,ScrollMax2+1);//changes phase
	slider3 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,ScrollMax+1);//changes phase
	slider4 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,ScrollMax+1);//changes phase
        slider1.setBackground(Color.white);
        slider2.setBackground(Color.white);
        slider3.setBackground(Color.white);
        slider4.setBackground(Color.white);
        
	slider1.setValue((int)((state.antenna_distance_lambda-state.antenna_distance_minimum)*ScrollMax/(state.antenna_distance_maximum-state.antenna_distance_minimum)));
	slider2.setValue((int)((state.antenna_phase_degree-state.antenna_phase_minimum)*ScrollMax2/(state.antenna_phase_maximum-state.antenna_phase_minimum)));
	slider3.setValue((int)((state.currentin-state.currentin_minimum)*ScrollMax/(state.currentin_maximum-state.currentin_minimum)));
	slider4.setValue((int)((state.currentin2-state.currentin2_minimum)*ScrollMax/(state.currentin2_maximum-state.currentin2_minimum)));
	
        // CHANGE  =====================================================
                b2a = new Button("<");
                b2a.setBackground(bgcolor);        
                b2b = new Button(">");
                b2b.setBackground(bgcolor);
                b3a = new Button("<");
                b3a.setBackground(bgcolor);
                b3b = new Button(">");
                b3b.setBackground(bgcolor);
                b4a = new Button("<");
                b4a.setBackground(bgcolor);
                b4b = new Button(">");
                b4b.setBackground(bgcolor);
                b5a = new Button("<");
                b5a.setBackground(bgcolor);
                b5b = new Button(">");
                b5b.setBackground(bgcolor);
                if(state.IsMac){
                    add(b2a); add(b2b); add(b3a); add(b3b); add(b4a); 
                    add(b4b); add(b5a); add(b5b);
                }
                
        //==============================================================
        
	b1 = new Button("Range");
	b2 = new Button("Range");
	b3 = new Button("Range");
        
        b1.setFont(labfont);
        b2.setFont(labfont);
        b3.setFont(labfont);
        
	bupdate = new Button("Update");
	bupdate.setFont(new Font("SanSerif",Font.PLAIN,state.font12));
        
        b1.setBackground(Color.white);
        b2.setBackground(Color.white);
        b3.setBackground(Color.white);
        bupdate.setBackground(Color.white);
        
	add(titlelabel);
	
	add(lab1);
	add(lab2);
	add(lab3);
	add(lab4);
		
	add(text1);
	add(text2);
	add(text3);
	add(text4);
	
	add(ulab1);
        add(ulab2);
	add(ulab3);
	add(ulab4);
	add(slider1);
	add(slider2);
	add(slider3);
	add(slider4);
			
	add(b1);
	add(b2);
	add(b3);
	
	add(bupdate);
	offset = state.s10;
        
	titlelabel.setBounds(state.s10,state.s10,state.s200+state.s80,state.s18);
	lab0.setBounds(state.s58,state.s42,state.s30,state.s20);
	ch2.setBounds(state.s93,state.s42,state.s150,state.s20);
	int vPosInit = state.s50 + offset;
        int vPos; 
        int dvPos = state.s7;
        int vHeight = state.s18;
        int vSlider = state.s15; 
	vPos = vPosInit;
	
	lab1.setBounds(state.s20,vPos-state.s3,state.s147,vHeight);    
	text1.setBounds(state.s170,vPos-state.s3,state.s80,vHeight);
        Panel ptext1 = new Panel();
	    ptext1.setBackground(Color.black);
	    add(ptext1);
	    ptext1.setBounds(state.s170-1,vPos-state.s3-1,state.s80+2,vHeight+2);
            
	ulab1.setBounds(state.s250+state.s3,vPos-state.s3,state.s35,vHeight);
        
	vPos += vHeight + state.s2;   
	
	//slider for antenna distance
	// CHANGE  =====================================================
                b2a.setBounds(state.s80,vPos+state.s2,state.s14,state.s15);
                b2b.setBounds(state.s200+state.s62,vPos+state.s2,state.s14,state.s15);
        //==============================================================
        if(state.IsMac){
            slider1.setBounds(state.s80+state.s14,vPos+state.s2,state.s196-state.s28,vSlider);
        }
        else{
            slider1.setBounds(state.s80,vPos+state.s2,state.s196,vSlider);
        }
	Panel ps9 = new Panel();
	    ps9.setBackground(Color.cyan);
	    add(ps9);
	    ps9.setBounds(state.s80-1,vPos+state.s2-1,state.s196+2,vSlider+2);
	    
	Panel ps10 = new Panel();
	    ps10.setBackground(Color.black);
	    add(ps10);
	    ps10.setBounds(state.s80-2,vPos+state.s2-2,state.s196+4,vSlider+4);
	
	b1.setBounds(state.s15,vPos,state.s55,vHeight+state.s2);
	Panel pb1 = new Panel();
	    pb1.setBackground(Color.black);
	    add(pb1);
	    pb1.setBounds(state.s15-1,vPos-1,state.s55+2,vHeight+state.s2+2);
	    
	vPos += vHeight + 15*dvPos/10;
    	lab3.setBounds(state.s20,vPos-state.s3,state.s147,vHeight);
	text3.setBounds(state.s170,vPos-state.s3,state.s80,vHeight);
        Panel ptext3 = new Panel();
	    ptext3.setBackground(Color.black);
	    add(ptext3);
	    ptext3.setBounds(state.s170-1,vPos-state.s3-1,state.s80+2,vHeight+2);
	
	ulab3.setBounds(state.s250+state.s3,vPos-state.s3,state.s35,vHeight);   
	
	vPos += vHeight + state.s2;
	
	//slider for current max A
	// CHANGE  =====================================================
                b4a.setBounds(state.s80,vPos+state.s2,state.s14,state.s15);
                b4b.setBounds(state.s200+state.s62,vPos+state.s2,state.s14,state.s15);
        //==============================================================
        if(state.IsMac){
            slider3.setBounds(state.s80+state.s14,vPos+state.s2,state.s196-state.s28,vSlider);
        }
        else{
            slider3.setBounds(state.s80,vPos+state.s2,state.s196,vSlider);
        }
            
	Panel ps11 = new Panel();
	    ps11.setBackground(Color.cyan);
	    add(ps11);
	    ps11.setBounds(state.s80-1,vPos+state.s2-1,state.s196+2,vSlider+2);
	    
	Panel ps12 = new Panel();
	    ps12.setBackground(Color.black);
	    add(ps12);
	    ps12.setBounds(state.s80-2,vPos+state.s2-2,state.s196+4,vSlider+4);
	
	b2.setBounds(state.s15,vPos,state.s55,vHeight+state.s2);
	Panel pb2 = new Panel();
	    pb2.setBackground(Color.black);
	    add(pb2);
	    pb2.setBounds(state.s15-1,vPos-1,state.s55+2,vHeight+state.s2+2);
	    
	vPos += vHeight + 15*dvPos/10;
        
    	lab4.setBounds(state.s20,vPos-state.s3,state.s147,vHeight);
	text4.setBounds(state.s170,vPos-state.s3,state.s80,vHeight);
        Panel ptext4 = new Panel();
	    ptext4.setBackground(Color.black);
	    add(ptext4);
	    ptext4.setBounds(state.s170-1,vPos-state.s3-1,state.s80+2,vHeight+2);
	
	ulab4.setBounds(state.s250+state.s3,vPos-state.s3,state.s35,vHeight);   
	
	vPos += vHeight + state.s2;
	
	//slider for current max B
	// CHANGE  =====================================================
                b5a.setBounds(state.s80,vPos+state.s2,state.s14,state.s15);
                b5b.setBounds(state.s200+state.s62,vPos+state.s2,state.s14,state.s15);
        //==============================================================
        if(state.IsMac){
            slider4.setBounds(state.s80+state.s14,vPos+state.s2,state.s196-state.s28,vSlider);
        }
        else{
            slider4.setBounds(state.s80,vPos+state.s2,state.s196,vSlider);
        }
	Panel ps13 = new Panel();
	    ps13.setBackground(Color.cyan);
	    add(ps13);
	    ps13.setBounds(state.s80-1,vPos+state.s2-1,state.s196+2,vSlider+2);
	    
	Panel ps14 = new Panel();
	    ps14.setBackground(Color.black);
	    add(ps14);
	    ps14.setBounds(state.s80-2,vPos+state.s2-2,state.s196+4,vSlider+4);
	
	b3.setBounds(state.s15,vPos,state.s55,vHeight+state.s2);
	Panel pb3 = new Panel();
	    pb3.setBackground(Color.black);
	    add(pb3);
	    pb3.setBounds(state.s15-1,vPos-1,state.s55+2,vHeight+state.s2+2);
	    
	vPos += vHeight + 15*dvPos/10;
    	lab2.setBounds(state.s20,vPos-state.s3,state.s147,vHeight);
	text2.setBounds(state.s170,vPos-state.s3,state.s80,vHeight);
	Panel ptext2 = new Panel();
	    ptext2.setBackground(Color.black);
	    add(ptext2);
	    ptext2.setBounds(state.s170-1,vPos-state.s3-1,state.s80+2,vHeight+2);
	
        ulab2.setBounds(state.s250+state.s3,vPos-state.s3,state.s35,vHeight);   
	
	vPos += vHeight + state.s2;
	
	//slider for current phase
        // CHANGE  =====================================================
                b3a.setBounds(state.s80,vPos+state.s2,state.s14,state.s15);
                b3b.setBounds(state.s200+state.s62,vPos+state.s2,state.s14,state.s15);
        //==============================================================
        if(state.IsMac){
            slider2.setBounds(state.s80+state.s14,vPos+state.s2,state.s196-state.s28,vSlider);
        }
        else{
            slider2.setBounds(state.s80,vPos+state.s2,state.s196,vSlider);
        }
	Panel ps19 = new Panel();
	    ps19.setBackground(Color.cyan);
	    add(ps19);
	    ps19.setBounds(state.s80-1,vPos+state.s2-1,state.s196+2,vSlider+2);
	    
	Panel ps110 = new Panel();
	    ps110.setBackground(Color.black);
	    add(ps110);
	    ps110.setBounds(state.s80-2,vPos+state.s2-2,state.s196+4,vSlider+4);

	//vPos += vHeight + 15*dvPos/10;
	vPos = state.s200+state.s60;
	// update
	// CHANGE ==============================================================
	bupdate.setBounds(state.s35,vPos+state.s4,state.s200+state.s25,vHeight+state.s4);
        //======================================================================
	Panel ps7 = new Panel();
	    ps7.setBackground(Color.cyan);
	    add(ps7);
	    ps7.setBounds(state.s35-1,vPos+state.s4-1,state.s200+state.s25+2,vHeight+state.s4+2);
	    
	Panel ps8 = new Panel();
	    ps8.setBackground(Color.black);
	    add(ps8);
	    ps8.setBounds(state.s35-2,vPos+state.s4-2,state.s200+state.s25+4,vHeight+state.s4+4);
    
	//Listeners
	bupdate.addActionListener(this);
        // CHANGE ======================================================
                b2a.addActionListener(this);
                b2b.addActionListener(this);
                b3a.addActionListener(this);
                b3b.addActionListener(this);
                b4a.addActionListener(this);
                b4b.addActionListener(this);
                b5a.addActionListener(this);
                b5b.addActionListener(this);
        //==============================================================
	slider1.addAdjustmentListener(this);
	slider2.addAdjustmentListener(this);
	slider3.addAdjustmentListener(this);
	slider4.addAdjustmentListener(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 vPosInit = state.s30, vPos, dvPos = state.s2, vHeight = state.s20; 
	vPos = vPosInit;
	g.setColor(Color.black);
	g.drawLine(state.s10,state.s35,getSize().width-state.s10,state.s35);
	
	g.setColor(Color.red);    
	g.setFont(new Font("SanSerif",Font.BOLD,state.font12));
	
        if(state.need_update){
            g.setColor(Color.red);    
            g.drawString("Click Update to recalculate values",state.s50,state.s50);
        }
    }
    
    public void actionPerformed(ActionEvent evt){
        if(evt.getSource()==b2a){
            slider1.setValue(slider1.getValue()-1);
            state.need_update = true;
	    state.antenna_distance_lambda  = state.antenna_distance_minimum + 
		(state.antenna_distance_maximum-state.antenna_distance_minimum)*slider1.getValue()/ScrollMax;
	    text1.setText(""+MaestroA.rounder(state.antenna_distance_lambda,7));
	    state.ignition();
            repaint();
        }
        else if(evt.getSource()==b2b){
            slider1.setValue(slider1.getValue()+1);
            state.need_update = true;
	    state.antenna_distance_lambda  = state.antenna_distance_minimum + 
		(state.antenna_distance_maximum-state.antenna_distance_minimum)*slider1.getValue()/ScrollMax;
	    text1.setText(""+MaestroA.rounder(state.antenna_distance_lambda,7));
	    state.ignition();
            repaint();
        }
        if(evt.getSource()==b3a){
            slider2.setValue(slider2.getValue()-1);
            state.need_update = true;
	    state.antenna_phase_degree  = state.antenna_phase_minimum + 
		(state.antenna_phase_maximum-state.antenna_phase_minimum)*slider2.getValue()/ScrollMax2;
	    text2.setText(""+MaestroA.rounder(state.antenna_phase_degree,7));
	    state.ignition();
            repaint();
        }
        else if(evt.getSource()==b3b){
            slider2.setValue(slider2.getValue()+1);
            state.need_update = true;
	    state.antenna_phase_degree  = state.antenna_phase_minimum + 
		(state.antenna_phase_maximum-state.antenna_phase_minimum)*slider2.getValue()/ScrollMax2;
	    text2.setText(""+MaestroA.rounder(state.antenna_phase_degree,7));
	    state.ignition();
            repaint();
        }
        if(evt.getSource()==b4a){
            slider3.setValue(slider3.getValue()-1);
            state.need_update = true;
	    state.currentin  = state.currentin_minimum + 
		(state.currentin_maximum-state.currentin_minimum)*slider3.getValue()/ScrollMax;
	    text3.setText(""+MaestroA.rounder(state.currentin,7));
	    state.ignition();
            repaint();
        }
        else if(evt.getSource()==b4b){
            slider3.setValue(slider3.getValue()+1);
            state.need_update = true;
	    state.currentin  = state.currentin_minimum + 
		(state.currentin_maximum-state.currentin_minimum)*slider3.getValue()/ScrollMax;
	    text3.setText(""+MaestroA.rounder(state.currentin,7));
	    state.ignition();
            repaint();
        }
        if(evt.getSource()==b5a){
            slider4.setValue(slider4.getValue()-1);
            state.need_update = true;
	    state.currentin2  = state.currentin2_minimum + 
		(state.currentin2_maximum-state.currentin2_minimum)*slider4.getValue()/ScrollMax;
	    text4.setText(""+MaestroA.rounder(state.currentin2,7));
	    state.ignition();
            repaint();
        }
        else if(evt.getSource()==b5b){
            slider4.setValue(slider4.getValue()+1);
            state.need_update = true;
	    state.currentin2  = state.currentin2_minimum + 
		(state.currentin2_maximum-state.currentin2_minimum)*slider4.getValue()/ScrollMax;
	    text4.setText(""+MaestroA.rounder(state.currentin2,7));
	    state.ignition();
            repaint();
        }
     //***********
     if(evt.getSource()==bupdate){
     //*********
	  state.need_update = false;
	    try{ if(Double.valueOf(text1.getText()).doubleValue()<=state.antenna_distance_maximum &&
		    Double.valueOf(text1.getText()).doubleValue()>=state.antenna_distance_minimum){
		    state.antenna_distance_lambda=Double.valueOf(text1.getText()).doubleValue();
		    slider1.setValue((int)(ScrollMax*(state.antenna_distance_lambda-state.antenna_distance_minimum)
						    /(state.antenna_distance_maximum-state.antenna_distance_minimum)));
		 }
		 else if(Double.valueOf(text1.getText()).doubleValue()>state.antenna_distance_maximum){
		    state.antenna_distance_lambda = state.antenna_distance_maximum;
		    text1.setText(""+state.antenna_distance_maximum);
		    slider1.setValue(ScrollMax);
		 }
		 else if(Double.valueOf(text1.getText()).doubleValue()<state.antenna_distance_minimum){
		    state.antenna_distance_lambda = state.antenna_distance_minimum;
		    text1.setText(""+state.antenna_distance_minimum);
		    slider1.setValue(0);
		 }
		 
	    }
	     catch(NumberFormatException e){
		  state.antenna_distance_lambda =  0.0;
	    } 	    
	     
	    try{if(Double.valueOf(text2.getText()).doubleValue()<=state.antenna_phase_maximum &&
		    Double.valueOf(text2.getText()).doubleValue()>=state.antenna_phase_minimum){
		    state.antenna_phase_degree=Double.valueOf(text2.getText()).doubleValue();
		    slider2.setValue((int)(ScrollMax2*(state.antenna_phase_degree-state.antenna_phase_minimum)/
					    (state.antenna_phase_maximum-state.antenna_phase_minimum)));
		}
		else if(Double.valueOf(text2.getText()).doubleValue()>state.antenna_phase_maximum){
		    state.antenna_phase_degree = state.antenna_phase_maximum;
		    text2.setText(""+state.antenna_phase_maximum);
		    slider2.setValue(ScrollMax2);
		}
		else if(Double.valueOf(text2.getText()).doubleValue()<state.antenna_phase_minimum){
		    state.currentin = state.antenna_phase_minimum;
		    text2.setText(""+state.antenna_phase_minimum);
		    slider2.setValue(0);
		}
	    }
	    catch(NumberFormatException e){
		  state.antenna_phase_degree = 0.0; 
	    }
	    
	    try{if(Double.valueOf(text3.getText()).doubleValue()<=state.currentin_maximum &&
		    Double.valueOf(text3.getText()).doubleValue()>=state.currentin_minimum){
		    state.currentin=Double.valueOf(text3.getText()).doubleValue();
		    slider3.setValue((int)(ScrollMax*(state.currentin-state.currentin_minimum)/
					    (state.currentin_maximum-state.currentin_minimum)));
		}
		else if(Double.valueOf(text3.getText()).doubleValue()>state.currentin_maximum){
		    state.currentin = state.currentin_maximum;
		    text3.setText(""+state.currentin_maximum);
		    slider3.setValue(ScrollMax);
		}
		else if(Double.valueOf(text3.getText()).doubleValue()<state.currentin_minimum){
		    state.currentin = state.currentin_minimum;
		    text3.setText(""+state.currentin_minimum);
		    slider3.setValue(0);
		}
	    }
	    catch(NumberFormatException e){
		  state.currentin = 0.0; 
	    }
	    
	    try{if(Double.valueOf(text4.getText()).doubleValue()<=state.currentin2_maximum &&
		    Double.valueOf(text4.getText()).doubleValue()>=state.currentin2_minimum){
		    state.currentin2=Double.valueOf(text4.getText()).doubleValue();
		    slider4.setValue((int)(ScrollMax*(state.currentin2-state.currentin2_minimum)/
					    (state.currentin2_maximum-state.currentin2_minimum)));
		}
		else if(Double.valueOf(text4.getText()).doubleValue()>state.currentin2_maximum){
		    state.currentin2 = state.currentin2_maximum;
		    text4.setText(""+state.currentin2_maximum);
		    slider4.setValue(ScrollMax);
		}
		else if(Double.valueOf(text4.getText()).doubleValue()<state.currentin2_minimum){
		    state.currentin2 = state.currentin2_minimum;
		    text4.setText(""+state.currentin2_minimum);
		    slider4.setValue(0);
		}
	    }
	    catch(NumberFormatException e){
		  state.currentin2 = 0.0; 
	    }
	  }
	    state.ignition();
            repaint();
    }//End of actionPerformed()
    
    public void adjustmentValueChanged(AdjustmentEvent evt){
	
	//-----------------------------------------
	if(evt.getSource()==slider1){
            state.need_update = true;
	    //if(slider1.getValue()>=ScrollMax){
		//    state.antenna_distance_lambda=state.antenna_distance_maximum;
		//    slider1.setValue((int)(ScrollMax*(state.antenna_distance_lambda-state.antenna_distance_minimum)
		//				    /(state.antenna_distance_maximum-state.antenna_distance_minimum)));
	    //}
	    //else
            {
	    state.antenna_distance_lambda  = state.antenna_distance_minimum + 
		(state.antenna_distance_maximum-state.antenna_distance_minimum)*slider1.getValue()/ScrollMax;
	    }
	    text1.setText(""+MaestroA.rounder(state.antenna_distance_lambda,7));
	    state.ignition();
            repaint();
	}
	
	//------------------------------------------
	else if(evt.getSource()==slider2){
            state.need_update = true;
	    //if(slider2.getValue()>=ScrollMax2){
		//    state.antenna_phase_degree=state.antenna_phase_maximum;
		//    slider2.setValue((int)(ScrollMax2*(state.antenna_phase_degree-state.antenna_phase_minimum)
		//				    /(state.antenna_phase_maximum-state.antenna_phase_minimum)));
	    //}
	    //else
            {
	    state.antenna_phase_degree  = state.antenna_phase_minimum + 
		(state.antenna_phase_maximum-state.antenna_phase_minimum)*slider2.getValue()/ScrollMax2;
	    }
	    text2.setText(""+MaestroA.rounder(state.antenna_phase_degree,7));
	    state.ignition();
            repaint();
	}
	//-------------------------------------------
	else if(evt.getSource()==slider3){
            state.need_update = true;
	    //if(slider3.getValue()>=ScrollMax){
		//    state.currentin=state.currentin_maximum;
		//    slider3.setValue((int)(ScrollMax*(state.currentin-state.currentin_minimum)
		//				    /(state.currentin_maximum-state.currentin_minimum)));
	    //}
	    //else
            {
	    state.currentin  = state.currentin_minimum + 
		(state.currentin_maximum-state.currentin_minimum)*slider3.getValue()/ScrollMax;
	    }
	    text3.setText(""+MaestroA.rounder(state.currentin,7));
	    state.ignition();
            repaint();
	}
	//---------------------------------------------
	else if(evt.getSource()==slider4){
            state.need_update = true;
	    //if(slider4.getValue()>=ScrollMax){
		//    state.currentin2=state.currentin2_maximum;
		//    slider4.setValue((int)(ScrollMax*(state.currentin2-state.currentin2_minimum)
		//				    /(state.currentin2_maximum-state.currentin2_minimum)));
	    //}
	    //else
            {
	    state.currentin2  = state.currentin2_minimum + 
		(state.currentin2_maximum-state.currentin2_minimum)*slider4.getValue()/ScrollMax;
	    }
	    text4.setText(""+MaestroA.rounder(state.currentin2,7));
	    state.ignition();
            repaint();
	}
	
    }
    public void itemStateChanged(ItemEvent evt){
	
	   
    }
    
}


