/*
 * Wind2ConfigMain.java
 *
 * Created on October 20, 2006, 8:33 PM
 */

/**
 *
 * @author  davarus
 */
import java.awt.*;
import java.awt.event.*;

public class Wind2ConfigMain extends javax.swing.JPanel 
			implements ItemListener {
    
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/** Creates new form Wind2ConfigMain */
    public Wind2ConfigMain(IniFile ini) {
        initComponents(ini);
    }

    public void saveIni (IniFile ini) {
	ini.setValue("GENERAL", "stationID", textStation.getText());
	ini.setValue("GUI", "imageFileName", textImage.getText());
	ini.setValue("LINK", "type", (String)comboLink.getSelectedItem());
	if ("serial".equals((String)comboLink.getSelectedItem()))
		cSerial.saveIni(ini);
	else
		cTCP.saveIni(ini);
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    private void initComponents(IniFile ini) {//GEN-BEGIN:initComponents
        labelStation = new javax.swing.JLabel();
        textStation = new javax.swing.JTextField(10);
        labelImage = new javax.swing.JLabel();
        textImage = new javax.swing.JTextField(10);
        labelLink = new javax.swing.JLabel();
        comboLink = new javax.swing.JComboBox();
	pMain = new javax.swing.JPanel();
	pLink = new javax.swing.JPanel();

	GridBagLayout grid = new GridBagLayout();
	GridBagConstraints cons = new GridBagConstraints();
        pMain.setLayout(grid);

	cons.gridx = 0;
	cons.gridy = 0;
	cons.insets = new java.awt.Insets(0, 8, 0, 8);
	grid.setConstraints(labelStation, cons);
        labelStation.setText("Station ID:");
        pMain.add(labelStation);

	cons.gridx = 1;
	cons.gridy = 0;
	grid.setConstraints(textStation, cons);
        textStation.setText(ini.getValue("GENERAL", "stationID"));
        pMain.add(textStation);

	cons.gridx = 0;
	cons.gridy = 1;
	grid.setConstraints(labelImage, cons);
        labelImage.setText("Image File:");
        pMain.add(labelImage);

	cons.gridx = 1;
	cons.gridy = 1;
	grid.setConstraints(textImage, cons);
	textImage.setText(ini.getValue("GUI", "imageName"));
        pMain.add(textImage);

	cons.gridx = 0;
	cons.gridy = 2;
	grid.setConstraints(labelLink, cons);
        labelLink.setText("Link Type:");
        pMain.add(labelLink);

	cons.gridx = 1;
	cons.gridy = 2;
	cons.insets = new java.awt.Insets(8, 8, 0, 8);
	cons.fill = GridBagConstraints.HORIZONTAL;
	grid.setConstraints(comboLink, cons);
        comboLink.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "serial", "tcp" }));
	if ("serial".equals(ini.getValue("LINK", "type")))
		comboLink.setSelectedIndex(0);
	else
        	comboLink.setSelectedIndex(1);
	comboLink.addItemListener(this);
        pMain.add(comboLink);

	setLayout(new GridLayout(2, 0));
	add(pMain);

	pLink.setLayout(new CardLayout());
	cSerial = new Wind2ConfigSerial(ini);
	cTCP = new Wind2ConfigTCP(ini);
	pLink.add(cSerial, "serial");
	pLink.add(cTCP, "tcp");
	((CardLayout)pLink.getLayout()).show(pLink, (String)comboLink.getSelectedItem());

	add(pLink);
	

    }//GEN-END:initComponents

    public void itemStateChanged (ItemEvent evt) {
    	CardLayout cl = (CardLayout)(pLink.getLayout());
	cl.show(pLink, (String)evt.getItem());
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JComboBox comboLink;
    private javax.swing.JLabel labelImage;
    private javax.swing.JLabel labelLink;
    private javax.swing.JLabel labelStation;
    private javax.swing.JTextField textImage;
    private javax.swing.JTextField textStation;
    private javax.swing.JPanel		pMain;
    private javax.swing.JPanel	pLink;
    private Wind2ConfigSerial	cSerial;
    private Wind2ConfigTCP	cTCP;
    // End of variables declaration//GEN-END:variables
    
}
