/*
 * ConfigPanel_n.java
 *
 * Created on December 7, 2003, 1:25 PM
 */
package usda.weru.weps.gui;

import de.schlichtherle.truezip.file.TFile;
import de.schlichtherle.truezip.file.TVFS;
import de.schlichtherle.truezip.fs.FsSyncException;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeSupport;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.text.DecimalFormat;
import java.text.Format;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.logging.Level;
import java.util.zip.ZipEntry;
import javax.help.CSH;
import javax.help.HelpBroker;
import javax.help.HelpSet;
import javax.help.HelpSetException;
import javax.measure.quantity.Length;
import javax.measure.Unit;
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.DefaultCellEditor;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; 
import usda.weru.remoteDataAccess.csip.CsipLmodUtil;
import usda.weru.util.About;
import usda.weru.util.ConfigData;
import static usda.weru.util.ConfigData.CligenAllowedModes;
import static usda.weru.util.ConfigData.CligenDefaultMode;
import static usda.weru.util.ConfigData.CligenEnabledModes;
import usda.weru.util.ConfigData.MeasureableConfigurationOption;
import static usda.weru.util.ConfigData.WindgenAllowedModes;
import static usda.weru.util.ConfigData.WindgenDefaultMode;
import static usda.weru.util.ConfigData.WindgenEnabledModes;
import usda.weru.util.LoadProperties;
import usda.weru.util.MeasurableField;
import usda.weru.util.Util;
import usda.weru.util.WepsPasswordField;
import usda.weru.util.wepsFileChooser2.WepsFileChooser2;
import usda.weru.weps.Weps;
import usda.weru.weps.fuel.Fuel;
import usda.weru.weps.fuel.FuelChooser;
import usda.weru.weps.fuel.FuelDAO;
import usda.weru.weps.fuel.FuelTableModel;
import usda.weru.weps.location.chooser.AllowedStationModeChooser;
import static usda.weru.weps.serverControl.ServerControlData.*;

/**
 * This class build the configuration panel GUI that allows the user to initialize and 
 * modify all settings needed for the WEPS application.
 * @author  manmohan
 */
public class ConfigPanel_n extends javax.swing.JFrame {

    private static final long serialVersionUID = 1L;
    
    public static final String CSIP_SOIL_POLYGONSIZE_PROP = "CD-WS-csip-Soil-polygonSize";
    public static final String CSIP_PRISM_POLYGONSIZE_PROP = "CD-WS-csip-Prism-polygonSize";
    public static final String CSIP_CACHE_LOCATION = About.getWepsCacheDir() + "\\" + CsipLmodUtil.WepsCacheDirNameSoil;

    protected List<JComponent> c_componentsWithErrors = new LinkedList<>();
    protected FuelTableModel fuelTableModel;

    private static final String[] visibilityOptions = {"Read Write", "Read Only", "Not Visible"};
    
//    private ButtonModel JB_CligenExecVerCurrentSelection = null;
//    private ButtonModel JB_CligenDataVerCurrentSelection = null;
    
    public static final boolean NRCS_MODE = (ConfigData.checkParmValue("CD-defaultrunmode", "NRCS"));
    
    /**
     * Default constructor for the Configuration Panel GUI object that helps the
     * user in setting various paths2 like executables, directories such as management, 
     * soil, database, etc along with the miscellaneous factors like setting units, etc.
     */
    public ConfigPanel_n() {
        initComponents();
                
        initOldManGroup();
        
        windgenModes.addActionListener((ActionEvent e) -> {
            globalActionPerformed(e);
        });

        cligenModes.addActionListener((ActionEvent e) -> {
            globalActionPerformed(e);
        });

        init();
        
        userFuelFile.setText(Util.parse(FuelDAO.USER_DB_PATH));

        fuelTableModel = new FuelTableModel(new TFile(Util.parse(getValue(ConfigData.FuelDatabase))));
        fuelTable.setModel(fuelTableModel);
        
        DefaultTableCellRenderer defaultRenderer = new DefaultTableCellRenderer() {
            private static final long serialVersionUID = 1L;

            private final Format format = new DecimalFormat("#0.00");
            private final Format format2 = new DecimalFormat("#0");

            @Override
            public Component getTableCellRendererComponent(JTable table, Object value,
                    boolean isSelected, boolean hasFocus, int row, int column) {
                if (table.isCellEditable(row, column)) {
                    setBackground(Color.WHITE);
                } else {
                    setBackground(new Color(245, 245, 245));
                }

                if (value instanceof Number) {
                    setHorizontalAlignment(RIGHT);
                    Number number = (Number) value;
                    if (number.intValue() > 1000) {
                        value = format2.format(number.doubleValue());
                    } else {
                        value = format.format(number.doubleValue());
                    }
                } else {
                    setHorizontalAlignment(LEFT);
                }
                return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            }

        };

        fuelTable.setDefaultRenderer(Object.class, defaultRenderer);
        fuelTable.setDefaultRenderer(Double.class, defaultRenderer);
        
        {
            JComboBox<?>[] list = {JCB_crop, JCB_dabove, JCB_dbelow, JCB_decomp, JCB_hlayers, JCB_hydro,
                JCB_plot, JCB_season, JCB_shoot, JCB_soillay
            };
            for (JComboBox<?> jcb : list) {
                switch(ConfigData.getDefault().getData(jcb.getName())) {
                    case "Read Write":
                        jcb.setSelectedIndex(0);
                        break;
                    case "Read Only":
                        jcb.setSelectedIndex(1);
                        break;
                    case "Not Visible":
                        jcb.setSelectedIndex(2);
                        break;
                    default:
                        break;
                }
            }
        }
        
        //editor
        final JTextField text = new JTextField();
        text.setHorizontalAlignment(JTextField.RIGHT);
        text.addFocusListener(new FocusAdapter() {

            @Override
            public void focusGained(FocusEvent e) {
                text.selectAll();
            }

        });

        TableCellEditor doubleEditor = new DefaultCellEditor(text) {
            private static final long serialVersionUID = 1L;

            private final Format format = new DecimalFormat("#0.000");

            @Override
            public Component getTableCellEditorComponent(JTable table, Object value,
                    boolean isSelected, int row, int column) {
                if (value instanceof Number) {
                    Number number = (Number) value;
                    String formatted = format.format(number.doubleValue());
                    value = Double.valueOf(formatted);
                }
                Component result = super.getTableCellEditorComponent(table, value, isSelected,
                        row, column);

                return result;
            }

            @Override
            public Object getCellEditorValue() {
                final Object value = super.getCellEditorValue();
                try {
                    return format.parseObject(value != null ? value.toString() : null);
                } catch (ParseException e) {
                    return null;
                }
            }

        };
        fuelTable.setDefaultEditor(Double.class, doubleEditor);

        JRB_metric.addItemListener((ItemEvent e) -> {
            if (JRB_metric.isSelected()) {
                fuelTableModel.setUnits(Util.SIUnits);
            } else {
                fuelTableModel.setUnits(Util.USUnits);
            }
        });

        localChanges.addPropertyChangeListener(ConfigData.FuelDatabase, (PropertyChangeEvent evt) -> {
            fuelTableModel.setFile(new TFile(Util.parse(getValue(ConfigData.FuelDatabase))));
        });
    }

    /**
     * Single argument constructor for the Configuration Panel GUI object that helps the
     user in setting various paths2 like executables, directories such as management, 
     soil, database, etc unalong with the miscellaneous factors like setting units,etc.
     * The string passed to the constructor sets the title of the configuration panel.
     * @param sTitle The title string for the parent frame of the GUI.
     */
    public ConfigPanel_n(java.lang.String sTitle) {
        this();
        setTitle(sTitle);
    }

    public void initOldManGroup() {
        groupOfOldMen.add(oldManLoad);
        groupOfOldMen.add(oldManUpdate);
        groupOfOldMen.add(oldManCancel);
        hideOldMan(oldManLoad);
    }
    
    private void hideOldMan(JRadioButton jrb) {
        if(NRCS_MODE && jrb.getName().equals("CD-Out_of_date_mgt_default:0")) {
                jrb.setVisible(false);
            }
    }
    
    public ConfigData getConfigData() {
        return ConfigData.getDefault();
    }

    protected void serverControlInit () {
        
        String endPoint = ConfigData.getDefault().getData(cdKeyDataHandlerBase+cdKeyAddEndpoint);
        if (endPoint == null || endPoint.length() == 0) {
            endPoint = ConfigData.getDefault().getData(cdKeyWebStartBase+cdKeyAddInstallerEndpoint);
            if (endPoint == null || endPoint.length() == 0) {
                endPoint = ConfigData.getDefault().getData(cdKeyWebStartBase+cdKeyAddInvocationBase);
            }
            ConfigData.getDefault().setData(cdKeyDataHandlerBase+cdKeyAddEndpoint, endPoint);
        }

        endPoint = ConfigData.getDefault().getData(cdKeySciCombinedBase+cdKeyAddEndpoint);
        if (endPoint == null || endPoint.length() == 0) {
            endPoint =ConfigData.getDefault().getData(cdKeyWebStartBase+cdKeyAddInstallerEndpoint);
            if (endPoint == null || endPoint.length() == 0) {
                endPoint = ConfigData.getDefault().getData(cdKeyWebStartBase+cdKeyAddInvocationBase);
            }
            ConfigData.getDefault().setData(cdKeySciCombinedBase+cdKeyAddEndpoint, endPoint);
        }

        initComboList (JCB_InterpolateExeName, JCB_InterpolateExeName.getName());
        initComboList (JCB_InterpolateGenDataName, JCB_InterpolateGenDataName.getName());
        initComboList (JCB_WindgenExeName, JCB_WindgenExeName.getName());
        initComboList (JCB_CligenExeName, JCB_CligenExeName.getName());
        initComboList (JCB_WepsExeName, JCB_WepsExeName.getName());
        
        if (!ConfigData.getDefault().isCompatibilityNRCS()) {
            serverWepsExecVerGuiSetEnables(JXB_RunWepsOnServer.isSelected());
            serverOverrideGuisInit();
        }
    }
    
    protected void initComboList (JComboBox <String> combo, String configNameBase) {
        String param;
        int index = 1;
        
        while ((param = getValue(configNameBase + "-" + index++)) != null) {
            combo.addItem(param);
        }
    }

    /** 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.
     */
    @SuppressWarnings("rawtypes")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        JBGP_units = new javax.swing.ButtonGroup();
        JBGP_reportPeriod = new javax.swing.ButtonGroup();
        JBGP_runType = new javax.swing.ButtonGroup();
        g_secureConnectionGroup = new javax.swing.ButtonGroup();
        g_emailType = new javax.swing.ButtonGroup();
        JBGP_NRMV = new javax.swing.ButtonGroup();
        JBGP_NRMVOutput = new javax.swing.ButtonGroup();
        JBGP_SubmodelOutput = new javax.swing.ButtonGroup();
        jColorChooser1 = new javax.swing.JColorChooser();
        JBGP_ScienceVers_Weps = new javax.swing.ButtonGroup();
        JBGP_ScienceVers_Weps_Local = new javax.swing.ButtonGroup();
        JBGP_ScienceVers_Cligen = new javax.swing.ButtonGroup();
        JBGP_Cligen_Prism = new javax.swing.ButtonGroup();
        JBGP_Cligen_Send_DB = new javax.swing.ButtonGroup();
        JBGP_Cligen_DataVer = new javax.swing.ButtonGroup();
        JBGP_Cligen_ReturnParFiles = new javax.swing.ButtonGroup();
        groupOfOldMen = new javax.swing.ButtonGroup();
        JBGP_ScienceVers_Windgen = new javax.swing.ButtonGroup();
        JBGP_ScienceVers_Interpolate = new javax.swing.ButtonGroup();
        JBGP_Windgen_Send_DB = new javax.swing.ButtonGroup();
        JBGP_Interp_Send_DB = new javax.swing.ButtonGroup();
        jSeparator4 = new javax.swing.JSeparator();
        jSeparator7 = new javax.swing.JSeparator();
        JBPG_usStatesLayerFill = new javax.swing.ButtonGroup();
        JBPG_nationalBordersLayerFill = new javax.swing.ButtonGroup();
        JBPG_chinaProvincesLayerFill = new javax.swing.ButtonGroup();
        JBGP_layersmode1 = new javax.swing.ButtonGroup();
        JBGP_layersmodechina = new javax.swing.ButtonGroup();
        JBGP_usStates = new javax.swing.ButtonGroup();
        JBGP_worldborders = new javax.swing.ButtonGroup();
        JBGP_SDMSortValue = new javax.swing.ButtonGroup();
        JBGP_SDMSortMethod = new javax.swing.ButtonGroup();
        JB_OK = new javax.swing.JButton();
        JB_Cancel = new javax.swing.JButton();
        JB_Help = new javax.swing.JButton();
        JTP_main = new javax.swing.JTabbedPane();
        JP_Display = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        JTF_daysKeepLog = new javax.swing.JTextField();
        JLabel35 = new javax.swing.JLabel();
        JLabel36 = new javax.swing.JLabel();
        JTF_ttInit = new javax.swing.JTextField();
        JLabel37 = new javax.swing.JLabel();
        JTF_ttDismiss = new javax.swing.JTextField();
        windgenPrecision = new javax.swing.JLabel();
        JTF_windgenPrecision = new javax.swing.JTextField();
        JCB_formatOperationDate = new javax.swing.JComboBox<>();
        lbl_formatOperationDate = new javax.swing.JLabel();
        JLabel28 = new javax.swing.JLabel();
        JRB_sdmSortMu = new javax.swing.JRadioButton();
        JRB_sdmSortName = new javax.swing.JRadioButton();
        oldManDisplay = new javax.swing.JCheckBox();
        invalidCligenMessage = new javax.swing.JCheckBox();
        invalidCligenMessage1 = new javax.swing.JCheckBox();
        dispSoilManRefresh = new javax.swing.JCheckBox();
        jCheckBox14 = new javax.swing.JCheckBox();
        jCB_setOverwriteProject = new javax.swing.JCheckBox();
        jPanel8 = new javax.swing.JPanel();
        oldManLoad = new javax.swing.JRadioButton();
        oldManUpdate = new javax.swing.JRadioButton();
        oldManCancel = new javax.swing.JRadioButton();
        jL_sdmSortMethod = new javax.swing.JLabel();
        jRB_sortMethod_showAll = new javax.swing.JRadioButton();
        jrB_sortMethod_State = new javax.swing.JRadioButton();
        jRB_sortMethod_state_county = new javax.swing.JRadioButton();
        jPanel5 = new javax.swing.JPanel();
        JLabel27 = new javax.swing.JLabel();
        JRB_english = new javax.swing.JRadioButton();
        JRB_metric = new javax.swing.JRadioButton();
        JLabel31 = new javax.swing.JLabel();
        JTF_timeSteps = new javax.swing.JTextField();
        JXB_latLon = new javax.swing.JCheckBox();
        JXB_stateCounty = new javax.swing.JCheckBox();
        JXB_elevation = new javax.swing.JCheckBox();
        JXB_map = new javax.swing.JCheckBox();
        JXB_slope = new javax.swing.JCheckBox();
        JXB_slope1 = new javax.swing.JCheckBox();
        JXB_barriersReadonly = new javax.swing.JCheckBox();
        JXB_McrewEdit = new javax.swing.JCheckBox();
        JXB_McrewButtonDisplay = new javax.swing.JCheckBox();
        JXB_SystemLocale = new javax.swing.JCheckBox();
        JXB_hidePButtons = new javax.swing.JCheckBox();
        JXB_hideTButtons = new javax.swing.JCheckBox();
        JCB_showCountries = new javax.swing.JCheckBox();
        JXB_xmlFormats = new javax.swing.JCheckBox();
        collapse = new javax.swing.JCheckBox();
        JXB_doNotReview = new javax.swing.JCheckBox();
        JP_Server = new javax.swing.JPanel();
        JTP_Server = new javax.swing.JTabbedPane();
        JP_ModelExecutables = new javax.swing.JPanel();
        JXB_RunInterpOnServer = new javax.swing.JCheckBox();
        JXB_RunInterpGenDataOnServer = new javax.swing.JCheckBox();
        JXB_RunWindGenOnServer = new javax.swing.JCheckBox();
        JXB_RunCligenOnServer = new javax.swing.JCheckBox();
        JXB_RunWepsOnServer = new javax.swing.JCheckBox();
        JCB_WepsExeName = new javax.swing.JComboBox<>();
        JCB_CligenExeName = new javax.swing.JComboBox<>();
        JCB_WindgenExeName = new javax.swing.JComboBox<>();
        JCB_InterpolateGenDataName = new javax.swing.JComboBox<>();
        JCB_InterpolateExeName = new javax.swing.JComboBox<>();
        JP_ModelVersions = new javax.swing.JPanel();
        JL_CligenMode = new javax.swing.JLabel();
        JB_CligenModePrism = new javax.swing.JRadioButton();
        JB_CligenModeBase = new javax.swing.JRadioButton();
        jSeparator1 = new javax.swing.JSeparator();
        JB_WepsVerDevLin = new javax.swing.JRadioButton();
        JB_WepsVerDefaultLin = new javax.swing.JRadioButton();
        JL_WepsVer = new javax.swing.JLabel();
        JL_CligenSendDB = new javax.swing.JLabel();
        JB_CligenSendDBYes = new javax.swing.JRadioButton();
        JB_CligenSendDBNo = new javax.swing.JRadioButton();
        jSeparator2 = new javax.swing.JSeparator();
        jSeparator3 = new javax.swing.JSeparator();
        JB_CligenDataVer92 = new javax.swing.JRadioButton();
        JL_CligenDataVer = new javax.swing.JLabel();
        JB_CligenDataVer2015 = new javax.swing.JRadioButton();
        JB_CligenDataVer2015Intl = new javax.swing.JRadioButton();
        JL_CligenRetParFiles = new javax.swing.JLabel();
        JB_CligenRetParFilesYes = new javax.swing.JRadioButton();
        JB_CligenRetParFilesNo = new javax.swing.JRadioButton();
        JL_WingenVer = new javax.swing.JLabel();
        JB_WindgenVerNew = new javax.swing.JRadioButton();
        JB_WindgenVerOld = new javax.swing.JRadioButton();
        JL_InterpolateVer = new javax.swing.JLabel();
        JB_InterpolateVerNew = new javax.swing.JRadioButton();
        JB_InterpolateVerOld = new javax.swing.JRadioButton();
        JL_CligenSendDB1 = new javax.swing.JLabel();
        JB_WindgenSendDBYes = new javax.swing.JRadioButton();
        JB_WindgenSendDBNo = new javax.swing.JRadioButton();
        JL_CligenSendDB2 = new javax.swing.JLabel();
        JB_WindgenInterpSendDBYes = new javax.swing.JRadioButton();
        JB_WindgenInterpSendDBNo = new javax.swing.JRadioButton();
        JP_RemoteDataServices = new javax.swing.JPanel();
        jSeparator5 = new javax.swing.JSeparator();
        jLabel36 = new javax.swing.JLabel();
        jLabel37 = new javax.swing.JLabel();
        JL_remoteDataSoilUnits = new javax.swing.JLabel();
        jLabel39 = new javax.swing.JLabel();
        jLabel40 = new javax.swing.JLabel();
        JL_remoteDataPrismUnits = new javax.swing.JLabel();
        JRB_ClearCSIPFileCache = new javax.swing.JRadioButton();
        JRB_ClearImageryCache = new javax.swing.JRadioButton();
        JT_TileCacheSizeLimit = new javax.swing.JTextField();
        jLabel71 = new javax.swing.JLabel();
        jLabel72 = new javax.swing.JLabel();
        WTF_CSIPSoilPolygonSize = new usda.weru.util.WepsTextField();
        WTF_CSIPPrismPolygonSize = new usda.weru.util.WepsTextField();
        JP_Run = new javax.swing.JPanel();
        JLabel30 = new javax.swing.JLabel();
        JRB_NRCS = new javax.swing.JRadioButton();
        JRB_cycle = new javax.swing.JRadioButton();
        JRB_dates = new javax.swing.JRadioButton();
        JL_runLength = new javax.swing.JLabel();
        JTF_runLength = new javax.swing.JTextField();
        JCB_purgeRunFiles = new javax.swing.JCheckBox();
        JCB_allowBatchCreation = new javax.swing.JCheckBox();
        jLabel13 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        JRB_SOReadWrite = new javax.swing.JRadioButton();
        JRB_SOReadOnly = new javax.swing.JRadioButton();
        JRB_SONotVisible = new javax.swing.JRadioButton();
        JL_runLength1 = new javax.swing.JLabel();
        JTF_runLength1 = new javax.swing.JTextField();
        JP_Soil = new javax.swing.JPanel();
        jPanel_wepsHandlingOrganicSoils = new javax.swing.JPanel();
        jCheckBox_testForOrganicSoils = new javax.swing.JCheckBox();
        jLabel_organicMatterThreshold = new javax.swing.JLabel();
        JTF_omThreshold = new javax.swing.JTextField();
        jLabel_thresholdFraction = new javax.swing.JLabel();
        jCheckBox_ignoreOrganicSurfaceLayer = new javax.swing.JCheckBox();
        jLabel_maxDepthToIgnore = new javax.swing.JLabel();
        organicMaxDepth = new usda.weru.util.MeasurableField<>();
        maxOrganicDepthUnits = new javax.swing.JLabel();
        jLabel_wepsHandlingOrgSoil = new javax.swing.JLabel();
        jPanel_soilViewerEditorOptions = new javax.swing.JPanel();
        jCheckBox_soilReadOnly = new javax.swing.JCheckBox();
        jCheckBox_soilEstimate = new javax.swing.JCheckBox();
        jCheckBox_disableSurgoEstimates = new javax.swing.JCheckBox();
        jCheckBox_averageStratSoilLayers = new javax.swing.JCheckBox();
        jLabel_soilViewEditOptions = new javax.swing.JLabel();
        jPanel_soilServices = new javax.swing.JPanel();
        jLabel_csipSoilDataURL = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jLabel_csipSoilService = new javax.swing.JLabel();
        jLabel_cachedCSIPSoilDir = new javax.swing.JLabel();
        jLabel_nrcsSoilDataMartUrl = new javax.swing.JLabel();
        jLabel_localSoilDataMartDir = new javax.swing.JLabel();
        jLabel_systemSoilDataDir = new javax.swing.JLabel();
        jLabel_localSoilDataDir = new javax.swing.JLabel();
        jLabel_surrogateOrganicSoil = new javax.swing.JLabel();
        jPanel10 = new javax.swing.JPanel();
        jButton_surrogateOrganicSoil = new javax.swing.JButton();
        jButton_localSoilData = new javax.swing.JButton();
        jButton_systemSoilData = new javax.swing.JButton();
        jButton_localSoilDataMart = new javax.swing.JButton();
        jButton_cachedCsipDir = new javax.swing.JButton();
        jCB_localSoilDataDir = new javax.swing.JCheckBox();
        jCB_systemSoilDataDir = new javax.swing.JCheckBox();
        jCB_localSoilDataMart = new javax.swing.JCheckBox();
        jCB_nrcsSoilDataMart = new javax.swing.JCheckBox();
        jCB_showCachedCsipSoilDir = new javax.swing.JCheckBox();
        jCB_csipSoilService = new javax.swing.JCheckBox();
        jPanel11 = new javax.swing.JPanel();
        jTF_csipSoilDataURL = new javax.swing.JTextField();
        jTF_csipSoilParamsURL = new javax.swing.JTextField();
        jTF_cachedCSIPSoil = new javax.swing.JTextField();
        jTF_nrcsSoilDataMartURL = new javax.swing.JTextField();
        jTF_localSoilDataMartDir = new javax.swing.JTextField();
        jTF_systemSoilDir = new javax.swing.JTextField();
        jTF_localSoilDataDir = new javax.swing.JTextField();
        jTF_surrogateOrganicSoilFile = new javax.swing.JTextField();
        JP_ProjAndData = new javax.swing.JPanel();
        Project_jPanel = new javax.swing.JPanel();
        jLabel44 = new javax.swing.JLabel();
        jTextField3 = new javax.swing.JTextField();
        currentProjectButton1 = new javax.swing.JButton();
        jLabel45 = new javax.swing.JLabel();
        jTextField4 = new javax.swing.JTextField();
        currentProjectButton2 = new javax.swing.JButton();
        jTextField5 = new javax.swing.JTextField();
        jLabel46 = new javax.swing.JLabel();
        currentProjectButton3 = new javax.swing.JButton();
        jLabel50 = new javax.swing.JLabel();
        currentProjectButton7 = new javax.swing.JButton();
        jCheckBox18 = new javax.swing.JCheckBox();
        jCheckBox19 = new javax.swing.JCheckBox();
        jCheckBox20 = new javax.swing.JCheckBox();
        jCheckBox21 = new javax.swing.JCheckBox();
        jTextField24 = new javax.swing.JTextField();
        Project_jPanel1 = new javax.swing.JPanel();
        jLabel47 = new javax.swing.JLabel();
        jTextField6 = new javax.swing.JTextField();
        currentProjectButton4 = new javax.swing.JButton();
        jLabel48 = new javax.swing.JLabel();
        jTextField7 = new javax.swing.JTextField();
        currentProjectButton5 = new javax.swing.JButton();
        jTextField8 = new javax.swing.JTextField();
        jLabel49 = new javax.swing.JLabel();
        currentProjectButton6 = new javax.swing.JButton();
        Project_jPanel2 = new javax.swing.JPanel();
        jLabel51 = new javax.swing.JLabel();
        jTextField9 = new javax.swing.JTextField();
        currentProjectButton8 = new javax.swing.JButton();
        jLabel52 = new javax.swing.JLabel();
        jTextField10 = new javax.swing.JTextField();
        currentProjectButton9 = new javax.swing.JButton();
        jTextField11 = new javax.swing.JTextField();
        jLabel53 = new javax.swing.JLabel();
        currentProjectButton10 = new javax.swing.JButton();
        jLabel54 = new javax.swing.JLabel();
        currentProjectButton11 = new javax.swing.JButton();
        jCheckBox22 = new javax.swing.JCheckBox();
        jCheckBox23 = new javax.swing.JCheckBox();
        jCheckBox24 = new javax.swing.JCheckBox();
        jCheckBox25 = new javax.swing.JCheckBox();
        jTextField22 = new javax.swing.JTextField();
        Project_jPanel3 = new javax.swing.JPanel();
        jLabel55 = new javax.swing.JLabel();
        jTextField12 = new javax.swing.JTextField();
        currentProjectButton12 = new javax.swing.JButton();
        jLabel56 = new javax.swing.JLabel();
        jTextField13 = new javax.swing.JTextField();
        currentProjectButton13 = new javax.swing.JButton();
        jTextField14 = new javax.swing.JTextField();
        jLabel57 = new javax.swing.JLabel();
        currentProjectButton14 = new javax.swing.JButton();
        jLabel58 = new javax.swing.JLabel();
        currentProjectButton15 = new javax.swing.JButton();
        jCheckBox26 = new javax.swing.JCheckBox();
        jCheckBox27 = new javax.swing.JCheckBox();
        jCheckBox28 = new javax.swing.JCheckBox();
        jCheckBox29 = new javax.swing.JCheckBox();
        jTextField23 = new javax.swing.JTextField();
        jLabel28 = new javax.swing.JLabel();
        JP_Windgen = new javax.swing.JPanel();
        JLabel46 = new javax.swing.JLabel();
        JB_winGenDB1 = new javax.swing.JButton();
        JLabel47 = new javax.swing.JLabel();
        JTF_winExe = new javax.swing.JTextField();
        JTF_winCmd = new javax.swing.JTextField();
        JTF_winDb2 = new javax.swing.JTextField();
        JB_winGenDB2 = new javax.swing.JButton();
        JB_winExe = new javax.swing.JButton();
        JB_winGenDB3 = new javax.swing.JButton();
        JTF_winDb3 = new javax.swing.JTextField();
        JB_winGenDB = new javax.swing.JButton();
        JTF_winDb = new javax.swing.JTextField();
        JLabel20 = new javax.swing.JLabel();
        JTF_winDb1 = new javax.swing.JTextField();
        JLabel44 = new javax.swing.JLabel();
        JLabel2 = new javax.swing.JLabel();
        JLabel1 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        windgenModes = new usda.weru.weps.location.chooser.AllowedStationModeChooser();
        windRadiusField = new usda.weru.util.MeasurableField<>();
        windRadiusLabel = new javax.swing.JLabel();
        windRadiusUnits = new javax.swing.JLabel();
        JLabel48 = new javax.swing.JLabel();
        JTF_winDb4 = new javax.swing.JTextField();
        JB_winGenDB4 = new javax.swing.JButton();
        JLabel57 = new javax.swing.JLabel();
        JTF_winDat = new javax.swing.JTextField();
        JB_winDat = new javax.swing.JButton();
        JLabel58 = new javax.swing.JLabel();
        JTF_winIdx = new javax.swing.JTextField();
        JB_winIdx = new javax.swing.JButton();
        JP_Cligen = new javax.swing.JPanel();
        JLabel45 = new javax.swing.JLabel();
        JB_cliGenDb1 = new javax.swing.JButton();
        JTF_cliCmd = new javax.swing.JTextField();
        JB_cliExe = new javax.swing.JButton();
        JLabel3 = new javax.swing.JLabel();
        JTF_cliIdx = new javax.swing.JTextField();
        JB_cliGenDb = new javax.swing.JButton();
        JLabel4 = new javax.swing.JLabel();
        JTF_cliDb = new javax.swing.JTextField();
        JTF_cliExe = new javax.swing.JTextField();
        JLabel41 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        cligenModes = new usda.weru.weps.location.chooser.AllowedStationModeChooser();
        cligenRadiusField = new usda.weru.util.MeasurableField<>();
        cligenRadiusLabel = new javax.swing.JLabel();
        cligenRadiusUnits = new javax.swing.JLabel();
        JLabel54 = new javax.swing.JLabel();
        JTF_cliDatCRLMOD = new javax.swing.JTextField();
        JB_cliDatCRLMOD = new javax.swing.JButton();
        JLabel55 = new javax.swing.JLabel();
        JTF_cliIdxCRLMOD = new javax.swing.JTextField();
        JB_cliIdxCRLMOD = new javax.swing.JButton();
        JLabel56 = new javax.swing.JLabel();
        JTF_prismNormCRLMOD = new javax.swing.JTextField();
        JB_prismNormCRLMOD = new javax.swing.JButton();
        JP_Weps = new javax.swing.JPanel();
        JLabel5 = new javax.swing.JLabel();
        JLabel6 = new javax.swing.JLabel();
        JTF_wepsExe = new javax.swing.JTextField();
        JTF_wepsCmd = new javax.swing.JTextField();
        JL_calWepsCmd = new javax.swing.JLabel();
        JTF_calWepsCmd = new javax.swing.JTextField();
        JB_wepsExe = new javax.swing.JButton();
        JP_Gis = new javax.swing.JPanel();
        JTP_Gis = new javax.swing.JTabbedPane();
        JP_GisMain = new javax.swing.JPanel();
        gisData = new javax.swing.JTextField();
        gisDataLabel = new javax.swing.JLabel();
        JP_GisViewer = new javax.swing.JPanel();
        jtf_GisViewerInitialHeight = new javax.swing.JTextField();
        jLabel26 = new javax.swing.JLabel();
        jtf_GisViewerInitialWidth = new javax.swing.JTextField();
        jLabel25 = new javax.swing.JLabel();
        jsImageryZoom = new javax.swing.JSpinner();
        jLabel8 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel30 = new javax.swing.JLabel();
        jtf_GisViewerTileCacheSize = new javax.swing.JTextField();
        JB_gisDataFile = new javax.swing.JButton();
        JP_GisLayers = new javax.swing.JPanel();
        JP_cachedsoil = new javax.swing.JPanel();
        jLabel76 = new javax.swing.JLabel();
        JXB_cachedsoilVisible = new javax.swing.JCheckBox();
        JP_cachedprism = new javax.swing.JPanel();
        jLabel78 = new javax.swing.JLabel();
        JXB_cachedprismVisible = new javax.swing.JCheckBox();
        JP_chinaprov = new javax.swing.JPanel();
        jLabel86 = new javax.swing.JLabel();
        JXB_chinaprovincesVisible = new javax.swing.JCheckBox();
        JT_chinaprovincesOpacity = new javax.swing.JTextField();
        jLabel85 = new javax.swing.JLabel();
        JB_cachedsoilOutline = new javax.swing.JRadioButton();
        JB_cachedsoilFill = new javax.swing.JRadioButton();
        JP_windgentri = new javax.swing.JPanel();
        jLabel88 = new javax.swing.JLabel();
        JXB_windgentriVisible = new javax.swing.JCheckBox();
        JP_windgenreflect = new javax.swing.JPanel();
        jLabel89 = new javax.swing.JLabel();
        JXB_windreflect = new javax.swing.JCheckBox();
        JP_windgeninterp = new javax.swing.JPanel();
        jLabel83 = new javax.swing.JLabel();
        JXB_cachedsoilVisible8 = new javax.swing.JCheckBox();
        JP_windgenpolygon = new javax.swing.JPanel();
        jLabel84 = new javax.swing.JLabel();
        JXB_cachedsoilVisible9 = new javax.swing.JCheckBox();
        JP_windgensta = new javax.swing.JPanel();
        jLabel87 = new javax.swing.JLabel();
        JXB_cachedsoilVisible10 = new javax.swing.JCheckBox();
        JP_cligenbound = new javax.swing.JPanel();
        jLabel90 = new javax.swing.JLabel();
        JXB_cachedsoilVisible11 = new javax.swing.JCheckBox();
        JP_cligenregion = new javax.swing.JPanel();
        jLabel92 = new javax.swing.JLabel();
        JXB_cachedsoilVisible12 = new javax.swing.JCheckBox();
        JP_cligenstations = new javax.swing.JPanel();
        jLabel93 = new javax.swing.JLabel();
        JXB_cachedsoilVisible13 = new javax.swing.JCheckBox();
        JP_cmz = new javax.swing.JPanel();
        jLabel94 = new javax.swing.JLabel();
        JXB_cachedsoilVisible14 = new javax.swing.JCheckBox();
        JP_uscounties = new javax.swing.JPanel();
        jLabel91 = new javax.swing.JLabel();
        JXB_cachedsoilVisible15 = new javax.swing.JCheckBox();
        JP_usStates = new javax.swing.JPanel();
        jLabel96 = new javax.swing.JLabel();
        JXB_cachedsoilVisible16 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity9 = new javax.swing.JTextField();
        jLabel97 = new javax.swing.JLabel();
        JB_cachedsoilOutline9 = new javax.swing.JRadioButton();
        JB_cachedsoilFill9 = new javax.swing.JRadioButton();
        JP_worldborders = new javax.swing.JPanel();
        jLabel95 = new javax.swing.JLabel();
        JXB_cachedsoilVisible17 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity8 = new javax.swing.JTextField();
        jLabel98 = new javax.swing.JLabel();
        JB_cachedsoilOutline8 = new javax.swing.JRadioButton();
        JB_cachedsoilFill8 = new javax.swing.JRadioButton();
        JP_arcgisStreetsOverlay = new javax.swing.JPanel();
        jLabel107 = new javax.swing.JLabel();
        JXB_cachedsoilVisible22 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity14 = new javax.swing.JTextField();
        jLabel108 = new javax.swing.JLabel();
        JP_arcgisStreets = new javax.swing.JPanel();
        jLabel99 = new javax.swing.JLabel();
        JXB_cachedsoilVisible18 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity10 = new javax.swing.JTextField();
        jLabel100 = new javax.swing.JLabel();
        JP_arcgistopo = new javax.swing.JPanel();
        jLabel101 = new javax.swing.JLabel();
        JXB_cachedsoilVisible19 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity11 = new javax.swing.JTextField();
        jLabel102 = new javax.swing.JLabel();
        JP_arcgisHillshade = new javax.swing.JPanel();
        jLabel103 = new javax.swing.JLabel();
        JXB_cachedsoilVisible20 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity12 = new javax.swing.JTextField();
        jLabel104 = new javax.swing.JLabel();
        JP_arcgisImagery = new javax.swing.JPanel();
        jLabel105 = new javax.swing.JLabel();
        JXB_cachedsoilVisible21 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity13 = new javax.swing.JTextField();
        jLabel106 = new javax.swing.JLabel();
        JP_imageryNationalmap = new javax.swing.JPanel();
        jLabel82 = new javax.swing.JLabel();
        JXB_cachedsoilVisible7 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity7 = new javax.swing.JTextField();
        jLabel81 = new javax.swing.JLabel();
        JP_townshipRange = new javax.swing.JPanel();
        jLabel109 = new javax.swing.JLabel();
        JXB_cachedsoilVisible23 = new javax.swing.JCheckBox();
        JT_cachedsoilOpacity15 = new javax.swing.JTextField();
        jLabel110 = new javax.swing.JLabel();
        JP_Reporting = new javax.swing.JPanel();
        JLabel17 = new javax.swing.JLabel();
        JLabel18 = new javax.swing.JLabel();
        JLabel21 = new javax.swing.JLabel();
        JLabel22 = new javax.swing.JLabel();
        JLabel23 = new javax.swing.JLabel();
        JLabel24 = new javax.swing.JLabel();
        JLabel25 = new javax.swing.JLabel();
        JLabel26 = new javax.swing.JLabel();
        JLabel19 = new javax.swing.JLabel();
        JTF_detHydro = new javax.swing.JTextField();
        JTF_detSoil = new javax.swing.JTextField();
        JTF_detMan = new javax.swing.JTextField();
        JTF_detCrop = new javax.swing.JTextField();
        JTF_detDec = new javax.swing.JTextField();
        JTF_detEro = new javax.swing.JTextField();
        JTF_debugHydro = new javax.swing.JTextField();
        JTF_debugSoil = new javax.swing.JTextField();
        JTF_debugMan = new javax.swing.JTextField();
        JTF_debugCrop = new javax.swing.JTextField();
        JTF_debugDec = new javax.swing.JTextField();
        JTF_debugEro = new javax.swing.JTextField();
        JLabel43 = new javax.swing.JLabel();
        JP_ReportingPeriod = new javax.swing.JPanel();
        JRB_1 = new javax.swing.JRadioButton();
        JRB_2 = new javax.swing.JRadioButton();
        JRB_3 = new javax.swing.JRadioButton();
        JRB_4 = new javax.swing.JRadioButton();
        jCheckBox5 = new javax.swing.JCheckBox();
        jCheckBox6 = new javax.swing.JCheckBox();
        jCheckBox1 = new javax.swing.JCheckBox();
        jCheckBox7 = new javax.swing.JCheckBox();
        jCheckBox8 = new javax.swing.JCheckBox();
        jCheckBox9 = new javax.swing.JCheckBox();
        jLabel7 = new javax.swing.JLabel();
        jCheckBox10 = new javax.swing.JCheckBox();
        jCheckBox11 = new javax.swing.JCheckBox();
        jCheckBox12 = new javax.swing.JCheckBox();
        jCheckBox13 = new javax.swing.JCheckBox();
        jPanel7 = new javax.swing.JPanel();
        jLabel63 = new javax.swing.JLabel();
        jLabel64 = new javax.swing.JLabel();
        jTextField19 = new javax.swing.JTextField();
        jTextField20 = new javax.swing.JTextField();
        JB_reportFileName = new javax.swing.JButton();
        JB_detailFilters = new javax.swing.JButton();
        JP_Email = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        JTF_emailSender = new javax.swing.JTextField();
        JTF_emailWeps = new javax.swing.JTextField();
        JTF_emailBugs = new javax.swing.JTextField();
        JLabel13 = new javax.swing.JLabel();
        JLabel15 = new javax.swing.JLabel();
        JLabel16 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        JTF_mantisEmail = new javax.swing.JTextField();
        JLabel14 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        javax.swing.JTextField JTF_mantisEmail1 = new javax.swing.JTextField();
        JTF_mantisURL1 = new javax.swing.JTextField();
        JTF_mantisUserID1 = new javax.swing.JTextField();
        JLabel29 = new javax.swing.JLabel();
        JLabel49 = new javax.swing.JLabel();
        JLabel50 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        JLabel51 = new javax.swing.JLabel();
        JTF_mantisProject1 = new javax.swing.JTextField();
        JTF_mantisPassword1 = new WepsPasswordField("4raf9AxU");
        jLabel29 = new javax.swing.JLabel();
        JTF_mantisMaxSize1 = new javax.swing.JTextField();
        JCB_addDirectoryButton = new javax.swing.JCheckBox();
        JP_Fuels = new javax.swing.JPanel();
        fuelLabel = new javax.swing.JLabel();
        fuelFile = new javax.swing.JTextField();
        fuelFileButton = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        fuelTable = new javax.swing.JTable();
        userFuelFileLabel = new javax.swing.JLabel();
        userFuelFile = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        fuelDefaultChooser = new usda.weru.weps.fuel.FuelChooser();
        JP_Barriers = new javax.swing.JPanel();
        jPanel9 = new javax.swing.JPanel();
        jLabel65 = new javax.swing.JLabel();
        jTextField21 = new javax.swing.JTextField();
        JB_barriersFile = new javax.swing.JButton();
        JP_NRMV = new javax.swing.JPanel();
        JRB_NRMVSummaries = new javax.swing.JRadioButton();
        JRB_NRMVOn = new javax.swing.JRadioButton();
        JRB_NRMVOff = new javax.swing.JRadioButton();
        JCB_decomp = new javax.swing.JComboBox<>();
        jLabel17 = new javax.swing.JLabel();
        JCB_plot = new javax.swing.JComboBox<>();
        jLabel23 = new javax.swing.JLabel();
        JCB_season = new javax.swing.JComboBox<>();
        JCB_crop = new javax.swing.JComboBox<>();
        jLabel16 = new javax.swing.JLabel();
        JCB_dabove = new javax.swing.JComboBox<>();
        jLabel22 = new javax.swing.JLabel();
        JCB_shoot = new javax.swing.JComboBox<>();
        JCB_hydro = new javax.swing.JComboBox<>();
        JCB_dbelow = new javax.swing.JComboBox<>();
        JCB_hlayers = new javax.swing.JComboBox<>();
        jLabel19 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        jLabel21 = new javax.swing.JLabel();
        JCB_soillay = new javax.swing.JComboBox<>();
        jLabel15 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        jLabel20 = new javax.swing.JLabel();
        JP_Mcrew = new javax.swing.JPanel();
        jPanel6 = new javax.swing.JPanel();
        jLabel59 = new javax.swing.JLabel();
        jTextField15 = new javax.swing.JTextField();
        jLabel60 = new javax.swing.JLabel();
        jTextField16 = new javax.swing.JTextField();
        jLabel61 = new javax.swing.JLabel();
        jLabel62 = new javax.swing.JLabel();
        jTextField17 = new javax.swing.JTextField();
        jTextField18 = new javax.swing.JTextField();
        JB_skelTranslations = new javax.swing.JButton();
        manSkel_Button = new javax.swing.JButton();
        JB_mcrewDataConfig = new javax.swing.JButton();
        mcrewDir_Button = new javax.swing.JButton();
        jLabel66 = new javax.swing.JLabel();
        catBox = new javax.swing.JCheckBox();
        jLabel67 = new javax.swing.JLabel();
        catBox1 = new javax.swing.JCheckBox();
        manVersionBox = new javax.swing.JCheckBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Configuration");
        setMinimumSize(new java.awt.Dimension(1148, 738));
        setName(""); // NOI18N
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        JB_OK.setMnemonic('S');
        JB_OK.setText("OK");
        JB_OK.setToolTipText("ConfigPanel:save");
        JB_OK.setActionCommand("Cacel");
        JB_OK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JB_OKActionPerformed(evt);
            }
        });

        JB_Cancel.setText("Cancel");
        JB_Cancel.setDefaultCapable(false);
        JB_Cancel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JB_CancelActionPerformed(evt);
            }
        });

        JB_Help.setMnemonic('H');
        JB_Help.setText("Help");
        JB_Help.setToolTipText("ConfigPanel:help");
        JB_Help.setDefaultCapable(false);

        JTP_main.setToolTipText("ConfigPanel:main");
        JTP_main.setPreferredSize(new java.awt.Dimension(960, 686));

        JP_Display.setToolTipText("ConfigPanel:misc");
        JP_Display.setPreferredSize(new java.awt.Dimension(960, 686));

        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jPanel1.setPreferredSize(new java.awt.Dimension(500, 560));

        jLabel3.setText("Days to keep logs:");
        jLabel3.setName("CD-logs.daystokeep"); // NOI18N

        JTF_daysKeepLog.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        JTF_daysKeepLog.setText("2");
        JTF_daysKeepLog.setName("CD-logs.daystokeep"); // NOI18N
        JTF_daysKeepLog.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_daysKeepLog.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel35.setText("Tooltip Delay (ms):");
        JLabel35.setToolTipText("ConfigPanel:tooltips");
        JLabel35.setName("CD-ToolTipInit;CD-ToolTipDismiss"); // NOI18N

        JLabel36.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel36.setText("Initial");
        JLabel36.setToolTipText("ConfigPanel:ttInit");
        JLabel36.setName("CD-ToolTipInit"); // NOI18N

        JTF_ttInit.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_ttInit.setToolTipText("ConfigPanel:ttInit");
        JTF_ttInit.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_ttInit.setName("CD-ToolTipInit"); // NOI18N
        JTF_ttInit.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_ttInit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel37.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel37.setText("Dismiss");
        JLabel37.setToolTipText("ConfigPanel:ttDismiss");
        JLabel37.setName("CD-ToolTipDismiss"); // NOI18N

        JTF_ttDismiss.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_ttDismiss.setToolTipText("ConfigPanel:ttDismiss");
        JTF_ttDismiss.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_ttDismiss.setName("CD-ToolTipDismiss"); // NOI18N
        JTF_ttDismiss.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_ttDismiss.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        windgenPrecision.setText("Decimal Precision Passed to Windgen:");
        windgenPrecision.setName("CD-Windgen Decimal Precision"); // NOI18N

        JTF_windgenPrecision.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        JTF_windgenPrecision.setText("5");
        JTF_windgenPrecision.setName("CD-Windgen Decimal Precision"); // NOI18N
        JTF_windgenPrecision.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_windgenPrecision.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_formatOperationDate.setToolTipText("ConfigPanel:formatOperationDate");
        JCB_formatOperationDate.setName("CD-operation date format"); // NOI18N
        JCB_formatOperationDate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        lbl_formatOperationDate.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        lbl_formatOperationDate.setText("Operation Date");
        lbl_formatOperationDate.setToolTipText("ConfigPanel:windExe");
        lbl_formatOperationDate.setName("CD-operation date format"); // NOI18N

        JLabel28.setText("SDM sort value:");
        JLabel28.setToolTipText("ConfigPanel:measurementUnits");
        JLabel28.setName("CD-measurement"); // NOI18N

        JBGP_SDMSortValue.add(JRB_sdmSortMu);
        JRB_sdmSortMu.setSelected(true);
        JRB_sdmSortMu.setText("MapUnitSymbol");
        JRB_sdmSortMu.setToolTipText("ConfigPanel:measurementUnits");
        JRB_sdmSortMu.setActionCommand("E");
        JRB_sdmSortMu.setName("CD-SDM_soil_sort_order:MapUnitSymbol"); // NOI18N
        JRB_sdmSortMu.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JRB_sdmSortActionPerformed(evt);
            }
        });

        JBGP_SDMSortValue.add(JRB_sdmSortName);
        JRB_sdmSortName.setText("SoilName");
        JRB_sdmSortName.setToolTipText("ConfigPanel:measurementUnits");
        JRB_sdmSortName.setActionCommand("N");
        JRB_sdmSortName.setName("CD-SDM_soil_sort_order:SoilName"); // NOI18N
        JRB_sdmSortName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JRB_sdmSortActionPerformed(evt);
            }
        });

        oldManDisplay.setText("Display Old Management File Load Options");
        oldManDisplay.setName("CD-Out_of_date_mgt_message_display"); // NOI18N
        oldManDisplay.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        oldManDisplay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        invalidCligenMessage.setText("Display \"Cligen Invalid Mode Detection\" Message");
        invalidCligenMessage.setName("CD-Cligen_invalid_mode_detection"); // NOI18N
        invalidCligenMessage.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        invalidCligenMessage.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        invalidCligenMessage1.setText("Display \"Cligen Invalid Station Detection\" Message");
        invalidCligenMessage1.setName("CD-Cligen_invalid_station_detection"); // NOI18N
        invalidCligenMessage1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        invalidCligenMessage1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        dispSoilManRefresh.setText("Display Soil/Management Dropdown Refresh Buttons");
        dispSoilManRefresh.setName("CD-display-aux-refresh"); // NOI18N
        dispSoilManRefresh.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                dispSoilManRefreshActionPerformed(evt);
            }
        });

        jCheckBox14.setText("Enable empty management file popup message");
        jCheckBox14.setName("CD-disable-MCREW-access-with-no-file-specified"); // NOI18N
        jCheckBox14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCB_setOverwriteProject.setText("Enable re-using of existing Project folder names");
        jCB_setOverwriteProject.setName("CD-setProjectOverwrite"); // NOI18N
        jCB_setOverwriteProject.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder("Management file control"));

        oldManLoad.setText("Load Old Management File As-Is");
        oldManLoad.setName("CD-Out_of_date_mgt_default:0"); // NOI18N
        oldManLoad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        oldManUpdate.setText("Auto-Update Old Management File");
        oldManUpdate.setName("CD-Out_of_date_mgt_default:1"); // NOI18N
        oldManUpdate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        oldManCancel.setText("Do Not Load Old Management File");
        oldManCancel.setName("CD-Out_of_date_mgt_default:2"); // NOI18N
        oldManCancel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
        jPanel8.setLayout(jPanel8Layout);
        jPanel8Layout.setHorizontalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(oldManLoad)
                    .addComponent(oldManUpdate)
                    .addComponent(oldManCancel))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel8Layout.setVerticalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(oldManLoad)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(oldManUpdate)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(oldManCancel)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jL_sdmSortMethod.setText("SDM sort method:");

        JBGP_SDMSortMethod.add(jRB_sortMethod_showAll);
        jRB_sortMethod_showAll.setSelected(true);
        jRB_sortMethod_showAll.setText("ShowAll");
        jRB_sortMethod_showAll.setName("CD-SDM_soil_sort_method:showAll"); // NOI18N
        jRB_sortMethod_showAll.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_SDMSortMethod.add(jrB_sortMethod_State);
        jrB_sortMethod_State.setText("State");
        jrB_sortMethod_State.setName("CD-SDM_soil_sort_method:State"); // NOI18N
        jrB_sortMethod_State.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_SDMSortMethod.add(jRB_sortMethod_state_county);
        jRB_sortMethod_state_county.setText("State/County");
        jRB_sortMethod_state_county.setName("CD-SDM_soil_sort_method:stateCounty"); // NOI18N
        jRB_sortMethod_state_county.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JTF_daysKeepLog, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(JLabel35)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JLabel36)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JTF_ttInit, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JLabel37, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JTF_ttDismiss, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(windgenPrecision)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JTF_windgenPrecision, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(lbl_formatOperationDate)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_formatOperationDate, javax.swing.GroupLayout.PREFERRED_SIZE, 260, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(oldManDisplay)
                    .addComponent(invalidCligenMessage)
                    .addComponent(invalidCligenMessage1)
                    .addComponent(dispSoilManRefresh)
                    .addComponent(jCheckBox14)
                    .addComponent(jCB_setOverwriteProject)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jL_sdmSortMethod, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jRB_sortMethod_showAll)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jrB_sortMethod_State))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(JLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JRB_sdmSortMu, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JRB_sdmSortName, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jRB_sortMethod_state_county))))
                .addContainerGap(76, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(JTF_daysKeepLog, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel35, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JLabel36, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_ttInit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JLabel37, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_ttDismiss, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(windgenPrecision)
                    .addComponent(JTF_windgenPrecision, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JCB_formatOperationDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbl_formatOperationDate, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(oldManDisplay)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(invalidCligenMessage)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(invalidCligenMessage1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(dispSoilManRefresh)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox14)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCB_setOverwriteProject)
                .addGap(31, 31, 31)
                .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JRB_sdmSortMu, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JRB_sdmSortName, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jL_sdmSortMethod, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jRB_sortMethod_showAll)
                    .addComponent(jrB_sortMethod_State)
                    .addComponent(jRB_sortMethod_state_county))
                .addContainerGap(90, Short.MAX_VALUE))
        );

        jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jPanel5.setPreferredSize(new java.awt.Dimension(500, 560));

        JLabel27.setText("Measurement Units");
        JLabel27.setToolTipText("ConfigPanel:measurementUnits");
        JLabel27.setName("CD-measurement"); // NOI18N

        JBGP_units.add(JRB_english);
        JRB_english.setText("English");
        JRB_english.setToolTipText("ConfigPanel:measurementUnits");
        JRB_english.setActionCommand("E");
        JRB_english.setName("CD-measurement:US"); // NOI18N
        JRB_english.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_units.add(JRB_metric);
        JRB_metric.setText("Metric");
        JRB_metric.setToolTipText("ConfigPanel:measurementUnits");
        JRB_metric.setActionCommand("N");
        JRB_metric.setName("CD-measurement:SI"); // NOI18N
        JRB_metric.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel31.setText("Time steps per day for wind speed distribution:");
        JLabel31.setToolTipText("ConfigPanel:timeStepsWind");
        JLabel31.setName("CD-time steps"); // NOI18N

        JTF_timeSteps.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_timeSteps.setToolTipText("ConfigPanel:windSpeed");
        JTF_timeSteps.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_timeSteps.setName("CD-time steps"); // NOI18N
        JTF_timeSteps.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_timeSteps.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_latLon.setSelected(true);
        JXB_latLon.setText("Display latitude and longitude fields");
        JXB_latLon.setToolTipText("ConfigPanel:displaylatLon");
        JXB_latLon.setName("CD-display latitude longitude"); // NOI18N
        JXB_latLon.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_stateCounty.setSelected(true);
        JXB_stateCounty.setText("Display state and county fields");
        JXB_stateCounty.setToolTipText("ConfigPanel:displayStCty");
        JXB_stateCounty.setName("CD-display state county"); // NOI18N
        JXB_stateCounty.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_elevation.setSelected(true);
        JXB_elevation.setText("Display elevation");
        JXB_elevation.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_elevation.setName("CD-display elevation"); // NOI18N
        JXB_elevation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_map.setSelected(true);
        JXB_map.setText("Display use map button");
        JXB_map.setToolTipText("ConfigPanel:displayMap");
        JXB_map.setName("CD-use map"); // NOI18N
        JXB_map.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_slope.setText("Region slope is readonly");
        JXB_slope.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_slope.setName("CD-readonly region slope"); // NOI18N
        JXB_slope.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_slope1.setText("Rock fragments is readonly");
        JXB_slope1.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_slope1.setName("CD-readonly rock fragments"); // NOI18N
        JXB_slope1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_barriersReadonly.setText("Barriers are readonly");
        JXB_barriersReadonly.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_barriersReadonly.setName("CD-barriers.readonly"); // NOI18N
        JXB_barriersReadonly.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_McrewEdit.setText("Enable full MCREW editing functionality in WEPS");
        JXB_McrewEdit.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_McrewEdit.setName("CD-mcrew edit"); // NOI18N
        JXB_McrewEdit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_McrewButtonDisplay.setText("Enable display of buttons/text in MCREW");
        JXB_McrewButtonDisplay.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_McrewButtonDisplay.setName("CD-mcrew Display set mgt version no radio buttons"); // NOI18N
        JXB_McrewButtonDisplay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_SystemLocale.setText("Do not display system locale warning at startup");
        JXB_SystemLocale.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_SystemLocale.setName("CD-don't warn about system locale"); // NOI18N
        JXB_SystemLocale.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_hidePButtons.setText("Hide project file buttons");
        JXB_hidePButtons.setName("CD-hide project file buttons"); // NOI18N
        JXB_hidePButtons.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_hideTButtons.setText("Hide template file buttons");
        JXB_hideTButtons.setName("CD-hide template file buttons"); // NOI18N
        JXB_hideTButtons.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_showCountries.setText("Show Countries in Site Chooser");
        JCB_showCountries.setName("CD-sitechooser.showcountry"); // NOI18N
        JCB_showCountries.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JCB_showCountries.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_xmlFormats.setText("Enable experimental XML formats");
        JXB_xmlFormats.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_xmlFormats.setName("CD-formats.xml"); // NOI18N
        JXB_xmlFormats.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JXB_xmlFormats.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        collapse.setText("Collapse all Non-XML folders in MCREW File Chooser");
        collapse.setName("CD-collapse non zip"); // NOI18N
        collapse.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        collapse.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_doNotReview.setText("Do not prompt to review warnings when restoring a run");
        JXB_doNotReview.setName("CD-do not review warnings when restoring run"); // NOI18N
        JXB_doNotReview.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addComponent(JLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JRB_english, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JRB_metric, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addComponent(JLabel31, javax.swing.GroupLayout.PREFERRED_SIZE, 322, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JTF_timeSteps, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JXB_latLon)
                    .addComponent(JXB_stateCounty)
                    .addComponent(JXB_elevation)
                    .addComponent(JXB_map)
                    .addComponent(JXB_slope)
                    .addComponent(JXB_slope1)
                    .addComponent(JXB_barriersReadonly)
                    .addComponent(JXB_McrewEdit)
                    .addComponent(JXB_McrewButtonDisplay)
                    .addComponent(JXB_SystemLocale)
                    .addComponent(JXB_hidePButtons)
                    .addComponent(JXB_hideTButtons)
                    .addComponent(JCB_showCountries)
                    .addComponent(JXB_xmlFormats)
                    .addComponent(collapse)
                    .addComponent(JXB_doNotReview))
                .addContainerGap(127, Short.MAX_VALUE))
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JRB_english, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JRB_metric, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel31, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_timeSteps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_latLon, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_stateCounty, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_elevation, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_map, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_slope, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_slope1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_barriersReadonly, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_McrewEdit, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_McrewButtonDisplay, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_SystemLocale, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_doNotReview, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_hidePButtons, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_hideTButtons, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JCB_showCountries, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_xmlFormats, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(collapse)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout JP_DisplayLayout = new javax.swing.GroupLayout(JP_Display);
        JP_Display.setLayout(JP_DisplayLayout);
        JP_DisplayLayout.setHorizontalGroup(
            JP_DisplayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_DisplayLayout.createSequentialGroup()
                .addGap(36, 36, 36)
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(27, 27, 27)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        JP_DisplayLayout.setVerticalGroup(
            JP_DisplayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_DisplayLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_DisplayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        JTP_main.addTab("Display", JP_Display);

        JP_Server.setPreferredSize(new java.awt.Dimension(960, 686));

        JTP_Server.setName(""); // NOI18N

        JP_ModelExecutables.setBorder(javax.swing.BorderFactory.createTitledBorder("Execution locations - model executables"));

        JXB_RunInterpOnServer.setText("Run interpolate on server");
        JXB_RunInterpOnServer.setFocusPainted(false);
        JXB_RunInterpOnServer.setName("CD-SC-windgen-interpolate-execOnServer"); // NOI18N
        JXB_RunInterpOnServer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JXB_RunInterpGenDataOnServer.setText("Run interpolate gen data on server");
        JXB_RunInterpGenDataOnServer.setFocusPainted(false);
        JXB_RunInterpGenDataOnServer.setName("CD-SC-windgen-interpolate-genData-execOnServer"); // NOI18N
        JXB_RunInterpGenDataOnServer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JXB_RunWindGenOnServer.setText("Run windgen on server");
        JXB_RunWindGenOnServer.setFocusPainted(false);
        JXB_RunWindGenOnServer.setName("CD-SC-windgen-execOnServer"); // NOI18N
        JXB_RunWindGenOnServer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JXB_RunCligenOnServer.setText("Run cligen on server");
        JXB_RunCligenOnServer.setFocusPainted(false);
        JXB_RunCligenOnServer.setName("CD-SC-cligen-execOnServer"); // NOI18N
        JXB_RunCligenOnServer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformedCligenOnServer(evt);
                serverActionPerformed(evt);
            }
        });

        JXB_RunWepsOnServer.setText("Run weps on server");
        JXB_RunWepsOnServer.setToolTipText("");
        JXB_RunWepsOnServer.setFocusPainted(false);
        JXB_RunWepsOnServer.setName("CD-SC-weps-execOnServer"); // NOI18N
        JXB_RunWepsOnServer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JCB_WepsExeName.setEditable(true);
        JCB_WepsExeName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        JCB_WepsExeName.setName("CD-SC-weps-endpoint"); // NOI18N
        JCB_WepsExeName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JCB_CligenExeName.setEditable(true);
        JCB_CligenExeName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        JCB_CligenExeName.setName("CD-SC-cligen-endpoint"); // NOI18N
        JCB_CligenExeName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JCB_WindgenExeName.setEditable(true);
        JCB_WindgenExeName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        JCB_WindgenExeName.setName("CD-SC-windgen-endpoint"); // NOI18N
        JCB_WindgenExeName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JCB_InterpolateGenDataName.setEditable(true);
        JCB_InterpolateGenDataName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        JCB_InterpolateGenDataName.setName("CD-SC-windgen-interpolate-genData-endpoint"); // NOI18N
        JCB_InterpolateGenDataName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JCB_InterpolateExeName.setEditable(true);
        JCB_InterpolateExeName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        JCB_InterpolateExeName.setName("CD-SC-windgen-interpolate-endpoint"); // NOI18N
        JCB_InterpolateExeName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_ModelExecutablesLayout = new javax.swing.GroupLayout(JP_ModelExecutables);
        JP_ModelExecutables.setLayout(JP_ModelExecutablesLayout);
        JP_ModelExecutablesLayout.setHorizontalGroup(
            JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_ModelExecutablesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JXB_RunInterpOnServer)
                    .addComponent(JXB_RunInterpGenDataOnServer)
                    .addComponent(JXB_RunWindGenOnServer)
                    .addComponent(JXB_RunCligenOnServer)
                    .addComponent(JXB_RunWepsOnServer))
                .addGap(47, 47, 47)
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(JCB_WepsExeName, 0, 717, Short.MAX_VALUE)
                    .addComponent(JCB_CligenExeName, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JCB_WindgenExeName, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JCB_InterpolateGenDataName, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JCB_InterpolateExeName, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(4, 4, 4))
        );
        JP_ModelExecutablesLayout.setVerticalGroup(
            JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ModelExecutablesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JXB_RunInterpOnServer)
                    .addComponent(JCB_InterpolateExeName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JXB_RunInterpGenDataOnServer)
                    .addComponent(JCB_InterpolateGenDataName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JXB_RunWindGenOnServer, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JCB_WindgenExeName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JXB_RunCligenOnServer)
                    .addComponent(JCB_CligenExeName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelExecutablesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JXB_RunWepsOnServer)
                    .addComponent(JCB_WepsExeName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        JTP_Server.addTab("Model executables", JP_ModelExecutables);

        JP_ModelVersions.setBorder(javax.swing.BorderFactory.createTitledBorder("Specific model executable options"));

        JL_CligenMode.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_CligenMode.setText("Cligen PRISM mode:");
        JL_CligenMode.setFocusable(false);
        JL_CligenMode.setName("CD-SC-"); // NOI18N

        JBGP_Cligen_Prism.add(JB_CligenModePrism);
        JB_CligenModePrism.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenModePrism.setText("Add PRISM");
        JB_CligenModePrism.setName("CD-SC-button-cligenPrismMode"); // NOI18N
        JB_CligenModePrism.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Cligen_Prism.add(JB_CligenModeBase);
        JB_CligenModeBase.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenModeBase.setText("Base");
        JB_CligenModeBase.setName("CD-SC-button-cligenPrismMode"); // NOI18N
        JB_CligenModeBase.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_ScienceVers_Weps.add(JB_WepsVerDevLin);
        JB_WepsVerDevLin.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WepsVerDevLin.setText("Dev");
        JB_WepsVerDevLin.setName("CD-SC-button-weps-scienceCodeServerVer"); // NOI18N
        JB_WepsVerDevLin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_ScienceVers_Weps.add(JB_WepsVerDefaultLin);
        JB_WepsVerDefaultLin.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WepsVerDefaultLin.setText("Default");
        JB_WepsVerDefaultLin.setName("CD-SC-button-weps-scienceCodeServerVer"); // NOI18N
        JB_WepsVerDefaultLin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_WepsVer.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_WepsVer.setText("Weps model executable server version:");
        JL_WepsVer.setFocusable(false);
        JL_WepsVer.setName("CD-SC-"); // NOI18N
        JL_WepsVer.setPreferredSize(new java.awt.Dimension(230, 15));

        JL_CligenSendDB.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_CligenSendDB.setLabelFor(JB_CligenSendDBYes);
        JL_CligenSendDB.setText("Cligen Send DB file w/ request:");
        JL_CligenSendDB.setInheritsPopupMenu(false);

        JBGP_Cligen_Send_DB.add(JB_CligenSendDBYes);
        JB_CligenSendDBYes.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenSendDBYes.setText("Yes");
        JB_CligenSendDBYes.setName("CD-SC-button-cligenSendDb"); // NOI18N
        JB_CligenSendDBYes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Cligen_Send_DB.add(JB_CligenSendDBNo);
        JB_CligenSendDBNo.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenSendDBNo.setText("No");
        JB_CligenSendDBNo.setName("CD-SC-button-cligenSendDb"); // NOI18N
        JB_CligenSendDBNo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Cligen_DataVer.add(JB_CligenDataVer92);
        JB_CligenDataVer92.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenDataVer92.setText("1992");
        JB_CligenDataVer92.setName("CD-SC-button-cligenDataVer"); // NOI18N
        JB_CligenDataVer92.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_CligenDataVer.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_CligenDataVer.setText("Cligen data version:");
        JL_CligenDataVer.setFocusable(false);

        JBGP_Cligen_DataVer.add(JB_CligenDataVer2015);
        JB_CligenDataVer2015.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenDataVer2015.setText("2015");
        JB_CligenDataVer2015.setName("CD-SC-button-cligenDataVer"); // NOI18N
        JB_CligenDataVer2015.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Cligen_DataVer.add(JB_CligenDataVer2015Intl);
        JB_CligenDataVer2015Intl.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenDataVer2015Intl.setText("2015 International");
        JB_CligenDataVer2015Intl.setName("CD-SC-button-cligenDataVer"); // NOI18N
        JB_CligenDataVer2015Intl.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_CligenRetParFiles.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_CligenRetParFiles.setText("Cligen return par files:");
        JL_CligenRetParFiles.setFocusable(false);
        JL_CligenRetParFiles.setName("CD-SC-"); // NOI18N

        JBGP_Cligen_ReturnParFiles.add(JB_CligenRetParFilesYes);
        JB_CligenRetParFilesYes.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenRetParFilesYes.setText("Yes");
        JB_CligenRetParFilesYes.setName("CD-SC-button-cligenRetParFiles"); // NOI18N
        JB_CligenRetParFilesYes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Cligen_ReturnParFiles.add(JB_CligenRetParFilesNo);
        JB_CligenRetParFilesNo.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_CligenRetParFilesNo.setText("No");
        JB_CligenRetParFilesNo.setName("CD-SC-button-cligenRetParFiles"); // NOI18N
        JB_CligenRetParFilesNo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_WingenVer.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_WingenVer.setText("Wingen model executable server version:");
        JL_WingenVer.setFocusable(false);
        JL_WingenVer.setName("CD-SC-"); // NOI18N

        JBGP_ScienceVers_Windgen.add(JB_WindgenVerNew);
        JB_WindgenVerNew.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WindgenVerNew.setText("New");
        JB_WindgenVerNew.setName("CD-SC-button-windgen-scienceCodeServerVer"); // NOI18N
        JB_WindgenVerNew.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_ScienceVers_Windgen.add(JB_WindgenVerOld);
        JB_WindgenVerOld.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WindgenVerOld.setText("Old");
        JB_WindgenVerOld.setName("CD-SC-button-windgen-scienceCodeServerVer"); // NOI18N
        JB_WindgenVerOld.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_InterpolateVer.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_InterpolateVer.setText("Interpolate executable server version:");
        JL_InterpolateVer.setFocusable(false);
        JL_InterpolateVer.setName("CD-SC-"); // NOI18N

        JBGP_ScienceVers_Interpolate.add(JB_InterpolateVerNew);
        JB_InterpolateVerNew.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_InterpolateVerNew.setText("New");
        JB_InterpolateVerNew.setName("CD-SC-button-interpolate-scienceCodeServerVer"); // NOI18N
        JB_InterpolateVerNew.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_ScienceVers_Interpolate.add(JB_InterpolateVerOld);
        JB_InterpolateVerOld.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_InterpolateVerOld.setText("Old");
        JB_InterpolateVerOld.setName("CD-SC-button-interpolate-scienceCodeServerVer"); // NOI18N
        JB_InterpolateVerOld.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_CligenSendDB1.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_CligenSendDB1.setLabelFor(JB_CligenSendDBYes);
        JL_CligenSendDB1.setText("Windgen Send DB file w/ request:");
        JL_CligenSendDB1.setFocusable(false);

        JBGP_Windgen_Send_DB.add(JB_WindgenSendDBYes);
        JB_WindgenSendDBYes.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WindgenSendDBYes.setText("Yes");
        JB_WindgenSendDBYes.setName("CD-SC-button-windgenSendDb"); // NOI18N
        JB_WindgenSendDBYes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Windgen_Send_DB.add(JB_WindgenSendDBNo);
        JB_WindgenSendDBNo.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WindgenSendDBNo.setText("No");
        JB_WindgenSendDBNo.setName("CD-SC-button-windgenSendDb"); // NOI18N
        JB_WindgenSendDBNo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JL_CligenSendDB2.setFont(new java.awt.Font("Ubuntu", 0, 12)); // NOI18N
        JL_CligenSendDB2.setLabelFor(JB_CligenSendDBYes);
        JL_CligenSendDB2.setText("Interpolate Send DB file w/ request:");
        JL_CligenSendDB2.setFocusable(false);

        JBGP_Interp_Send_DB.add(JB_WindgenInterpSendDBYes);
        JB_WindgenInterpSendDBYes.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WindgenInterpSendDBYes.setText("Yes");
        JB_WindgenInterpSendDBYes.setName("CD-SC-button-windgen-interpolateSendDb"); // NOI18N
        JB_WindgenInterpSendDBYes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        JBGP_Interp_Send_DB.add(JB_WindgenInterpSendDBNo);
        JB_WindgenInterpSendDBNo.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        JB_WindgenInterpSendDBNo.setText("No");
        JB_WindgenInterpSendDBNo.setName("CD-SC-button-windgen-interpolateSendDb"); // NOI18N
        JB_WindgenInterpSendDBNo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                serverActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_ModelVersionsLayout = new javax.swing.GroupLayout(JP_ModelVersions);
        JP_ModelVersions.setLayout(JP_ModelVersionsLayout);
        JP_ModelVersionsLayout.setHorizontalGroup(
            JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                .addComponent(JL_CligenDataVer)
                                .addGap(18, 18, 18)
                                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                        .addComponent(JB_CligenModePrism)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(JB_CligenModeBase))
                                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                        .addComponent(JB_CligenDataVer92)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(JB_CligenDataVer2015)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(JB_CligenDataVer2015Intl))))
                            .addComponent(JL_CligenMode))
                        .addGap(152, 152, 152)
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                .addComponent(JL_CligenRetParFiles)
                                .addGap(18, 18, 18)
                                .addComponent(JB_CligenRetParFilesYes)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JB_CligenRetParFilesNo))
                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                .addComponent(JL_CligenSendDB)
                                .addGap(18, 18, 18)
                                .addComponent(JB_CligenSendDBYes)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JB_CligenSendDBNo)))
                        .addGap(128, 128, 128))
                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                        .addComponent(JL_WepsVer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(JB_WepsVerDefaultLin)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(JB_WepsVerDevLin))
                                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(JL_WingenVer)
                                            .addComponent(JL_InterpolateVer))
                                        .addGap(18, 18, 18)
                                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                                .addComponent(JB_InterpolateVerNew)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(JB_InterpolateVerOld))
                                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                                .addComponent(JB_WindgenVerNew)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(JB_WindgenVerOld)))
                                        .addGap(162, 162, 162)
                                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                                .addComponent(JL_CligenSendDB1)
                                                .addGap(18, 18, 18)
                                                .addComponent(JB_WindgenSendDBYes)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(JB_WindgenSendDBNo))
                                            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                                                .addComponent(JL_CligenSendDB2)
                                                .addGap(18, 18, 18)
                                                .addComponent(JB_WindgenInterpSendDBYes)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(JB_WindgenInterpSendDBNo)))))
                                .addGap(0, 271, Short.MAX_VALUE))
                            .addComponent(jSeparator3)
                            .addComponent(jSeparator1)
                            .addComponent(jSeparator2))
                        .addContainerGap())))
        );
        JP_ModelVersionsLayout.setVerticalGroup(
            JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JB_WepsVerDefaultLin)
                        .addComponent(JB_WepsVerDevLin))
                    .addComponent(JL_WepsVer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(36, 36, 36)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JL_CligenSendDB)
                            .addComponent(JB_CligenSendDBYes)
                            .addComponent(JB_CligenSendDBNo))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JL_CligenRetParFiles)
                            .addComponent(JB_CligenRetParFilesYes)
                            .addComponent(JB_CligenRetParFilesNo)))
                    .addGroup(JP_ModelVersionsLayout.createSequentialGroup()
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JL_CligenMode)
                            .addComponent(JB_CligenModePrism)
                            .addComponent(JB_CligenModeBase))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JB_CligenDataVer92)
                            .addComponent(JL_CligenDataVer)
                            .addComponent(JB_CligenDataVer2015)
                            .addComponent(JB_CligenDataVer2015Intl))))
                .addGap(30, 30, 30)
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JL_WingenVer)
                    .addComponent(JB_WindgenVerNew)
                    .addComponent(JB_WindgenVerOld)
                    .addComponent(JL_CligenSendDB1)
                    .addComponent(JB_WindgenSendDBYes)
                    .addComponent(JB_WindgenSendDBNo))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_ModelVersionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JL_InterpolateVer)
                    .addComponent(JB_InterpolateVerNew)
                    .addComponent(JB_InterpolateVerOld)
                    .addComponent(JL_CligenSendDB2)
                    .addComponent(JB_WindgenInterpSendDBYes)
                    .addComponent(JB_WindgenInterpSendDBNo))
                .addContainerGap(212, Short.MAX_VALUE))
        );

        JTP_Server.addTab("Model options", JP_ModelVersions);

        JP_RemoteDataServices.setBorder(javax.swing.BorderFactory.createTitledBorder("Remote data services parameters"));

        jLabel36.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel36.setText("CSIP Soil");

        jLabel37.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel37.setText("Selection polygon size:");

        JL_remoteDataSoilUnits.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JL_remoteDataSoilUnits.setText("acres (approx.)");

        jLabel39.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel39.setText("CSIP PRISM");

        jLabel40.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel40.setText("Selection polygon size:");

        JL_remoteDataPrismUnits.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JL_remoteDataPrismUnits.setText("acres (approx.)");

        JRB_ClearCSIPFileCache.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        JRB_ClearCSIPFileCache.setText("Clear CSIP file cache (Will cause this WEPS session to exit)");
        JRB_ClearCSIPFileCache.setName("CD-WS-csip-ClearFileCache"); // NOI18N
        JRB_ClearCSIPFileCache.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JRB_ClearCSIPFileCacheActionPerformed(evt);
            }
        });

        JRB_ClearImageryCache.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        JRB_ClearImageryCache.setText("Clear only imagery tile cache");
        JRB_ClearImageryCache.setName("CD-WS-csip-ClearFileCache"); // NOI18N
        JRB_ClearImageryCache.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JRB_ClearImageryCacheActionPerformed(evt);
            }
        });

        JT_TileCacheSizeLimit.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JT_TileCacheSizeLimit.setMaximumSize(new java.awt.Dimension(452, 20));
        JT_TileCacheSizeLimit.setName("CD-layerCacheSizeLimit"); // NOI18N
        JT_TileCacheSizeLimit.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JT_TileCacheSizeLimit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel71.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel71.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel71.setText("Imagery tile cache size limit:");

        jLabel72.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jLabel72.setText("megabytes");

        WTF_CSIPSoilPolygonSize.setFormat("#0.0");
        WTF_CSIPSoilPolygonSize.setName(""); // NOI18N
        WTF_CSIPSoilPolygonSize.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                WTF_CSIPSoilPolygonSizeFocusLost(evt);
            }
        });
        WTF_CSIPSoilPolygonSize.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                WTF_CSIPSoilPolygonSizeActionPerformed(evt);
            }
        });

        WTF_CSIPPrismPolygonSize.setFormat("#0.0");
        WTF_CSIPPrismPolygonSize.setName(""); // NOI18N
        WTF_CSIPPrismPolygonSize.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                WTF_CSIPPrismPolygonSizeFocusLost(evt);
            }
        });
        WTF_CSIPPrismPolygonSize.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                WTF_CSIPPrismPolygonSizeActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_RemoteDataServicesLayout = new javax.swing.GroupLayout(JP_RemoteDataServices);
        JP_RemoteDataServices.setLayout(JP_RemoteDataServicesLayout);
        JP_RemoteDataServicesLayout.setHorizontalGroup(
            JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_RemoteDataServicesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 496, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_RemoteDataServicesLayout.createSequentialGroup()
                        .addGroup(JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(jLabel36, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel39, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_RemoteDataServicesLayout.createSequentialGroup()
                                .addComponent(jLabel40)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(WTF_CSIPPrismPolygonSize, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JL_remoteDataPrismUnits))
                            .addGroup(JP_RemoteDataServicesLayout.createSequentialGroup()
                                .addComponent(jLabel37)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(WTF_CSIPSoilPolygonSize, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JL_remoteDataSoilUnits))))
                    .addComponent(JRB_ClearCSIPFileCache)
                    .addGroup(JP_RemoteDataServicesLayout.createSequentialGroup()
                        .addComponent(JRB_ClearImageryCache)
                        .addGap(57, 57, 57)
                        .addComponent(jLabel71, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JT_TileCacheSizeLimit, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel72, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(426, Short.MAX_VALUE))
        );
        JP_RemoteDataServicesLayout.setVerticalGroup(
            JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_RemoteDataServicesLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel36)
                    .addComponent(jLabel37)
                    .addComponent(JL_remoteDataSoilUnits)
                    .addComponent(WTF_CSIPSoilPolygonSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel39)
                    .addComponent(jLabel40)
                    .addComponent(JL_remoteDataPrismUnits)
                    .addComponent(WTF_CSIPPrismPolygonSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(JRB_ClearCSIPFileCache)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_RemoteDataServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JRB_ClearImageryCache)
                    .addComponent(JT_TileCacheSizeLimit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel71)
                    .addComponent(jLabel72))
                .addContainerGap(291, Short.MAX_VALUE))
        );

        JTP_Server.addTab("Remote data services", JP_RemoteDataServices);

        javax.swing.GroupLayout JP_ServerLayout = new javax.swing.GroupLayout(JP_Server);
        JP_Server.setLayout(JP_ServerLayout);
        JP_ServerLayout.setHorizontalGroup(
            JP_ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ServerLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JTP_Server)
                .addGap(39, 39, 39))
        );
        JP_ServerLayout.setVerticalGroup(
            JP_ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ServerLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JTP_Server, javax.swing.GroupLayout.PREFERRED_SIZE, 487, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        JTP_main.addTab("Server", JP_Server);

        JP_Run.setToolTipText("ConfigPanel:run");
        JP_Run.setPreferredSize(new java.awt.Dimension(960, 686));

        JLabel30.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel30.setText("Default Run Mode :");
        JLabel30.setToolTipText("ConfigPanel:runLength");
        JLabel30.setName("CD-defaultrunmode"); // NOI18N

        JBGP_runType.add(JRB_NRCS);
        JRB_NRCS.setText("NRCS");
        JRB_NRCS.setToolTipText("ConfigPanel:runLenNRCS");
        JRB_NRCS.setActionCommand("E");
        JRB_NRCS.setName("CD-defaultrunmode:NRCS"); // NOI18N
        JRB_NRCS.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_runType.add(JRB_cycle);
        JRB_cycle.setText("Cycle");
        JRB_cycle.setToolTipText("ConfigPanel:runLenCycle");
        JRB_cycle.setActionCommand("S");
        JRB_cycle.setName("CD-defaultrunmode:cycle"); // NOI18N
        JRB_cycle.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_runType.add(JRB_dates);
        JRB_dates.setText("Dates");
        JRB_dates.setToolTipText("ConfigPanel:runLenDates");
        JRB_dates.setActionCommand("N");
        JRB_dates.setName("CD-defaultrunmode:dates"); // NOI18N
        JRB_dates.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JL_runLength.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_runLength.setText("NRCS Run Length :");
        JL_runLength.setToolTipText("ConfigPanel:runType");
        JL_runLength.setName("CD-nrcsrunlength"); // NOI18N

        JTF_runLength.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_runLength.setToolTipText("ConfigPanel:runType");
        JTF_runLength.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_runLength.setEnabled(false);
        JTF_runLength.setName("CD-nrcsrunlength"); // NOI18N
        JTF_runLength.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_runLength.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_purgeRunFiles.setText("Delete files after run.");
        JCB_purgeRunFiles.setName("CD-purge.flag"); // NOI18N
        JCB_purgeRunFiles.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JCB_purgeRunFiles.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JCB_allowBatchCreation.setText("Display batch script creation option.");
        JCB_allowBatchCreation.setName("CD-script.allow"); // NOI18N
        JCB_allowBatchCreation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel13.setText("File Filter:");
        jLabel13.setName("CD-purge.filefilter"); // NOI18N

        jTextField2.setName("CD-purge.filefilter"); // NOI18N
        jTextField2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jTextField2.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        jLabel6.setText("Submodel Outputs:");

        JBGP_SubmodelOutput.add(JRB_SOReadWrite);
        JRB_SOReadWrite.setText("Read Write");
        JRB_SOReadWrite.setName("CD-Submodel outputs:readWrite"); // NOI18N
        JRB_SOReadWrite.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_SubmodelOutput.add(JRB_SOReadOnly);
        JRB_SOReadOnly.setText("Read Only");
        JRB_SOReadOnly.setName("CD-Submodel outputs:readOnly"); // NOI18N
        JRB_SOReadOnly.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_SubmodelOutput.add(JRB_SONotVisible);
        JRB_SONotVisible.setText("Not Visible");
        JRB_SONotVisible.setName("CD-Submodel outputs:notVisible"); // NOI18N
        JRB_SONotVisible.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JL_runLength1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_runLength1.setText("Cycle Run Length :");
        JL_runLength1.setToolTipText("ConfigPanel:runType");
        JL_runLength1.setName("CD-cyclerunlength"); // NOI18N

        JTF_runLength1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_runLength1.setToolTipText("ConfigPanel:runType");
        JTF_runLength1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_runLength1.setEnabled(false);
        JTF_runLength1.setName("CD-cyclerunlength"); // NOI18N
        JTF_runLength1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_runLength1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_RunLayout = new javax.swing.GroupLayout(JP_Run);
        JP_Run.setLayout(JP_RunLayout);
        JP_RunLayout.setHorizontalGroup(
            JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_RunLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_RunLayout.createSequentialGroup()
                        .addComponent(jLabel13)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 1013, Short.MAX_VALUE))
                    .addGroup(JP_RunLayout.createSequentialGroup()
                        .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_RunLayout.createSequentialGroup()
                                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(JL_runLength1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(JL_runLength, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(JLabel30, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(JTF_runLength, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(JP_RunLayout.createSequentialGroup()
                                        .addComponent(JRB_NRCS)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(JRB_dates)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(JRB_cycle))
                                    .addComponent(JTF_runLength1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addComponent(JCB_allowBatchCreation, javax.swing.GroupLayout.PREFERRED_SIZE, 310, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JCB_purgeRunFiles)
                            .addGroup(JP_RunLayout.createSequentialGroup()
                                .addComponent(jLabel6)
                                .addGap(42, 42, 42)
                                .addComponent(JRB_SOReadWrite)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JRB_SOReadOnly)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JRB_SONotVisible)))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        JP_RunLayout.setVerticalGroup(
            JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_RunLayout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JRB_NRCS)
                        .addComponent(JLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JRB_dates)
                        .addComponent(JRB_cycle)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JTF_runLength, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JL_runLength))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JTF_runLength1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JL_runLength1))
                .addGap(7, 7, 7)
                .addComponent(JCB_purgeRunFiles)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel13)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(JCB_allowBatchCreation)
                .addGap(18, 18, 18)
                .addGroup(JP_RunLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JRB_SOReadWrite)
                    .addComponent(JRB_SOReadOnly)
                    .addComponent(JRB_SONotVisible)
                    .addComponent(jLabel6))
                .addContainerGap(374, Short.MAX_VALUE))
        );

        JTP_main.addTab("Run", null, JP_Run, "ConfigPanel:run");

        JP_Soil.setPreferredSize(new java.awt.Dimension(960, 686));

        jCheckBox_testForOrganicSoils.setText("Test for Organic Soils");
        jCheckBox_testForOrganicSoils.setName("CD-soil.organictest"); // NOI18N
        jCheckBox_testForOrganicSoils.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel_organicMatterThreshold.setText("Organic Matter Content Threshold:");
        jLabel_organicMatterThreshold.setName("CD-organic material fraction threshold"); // NOI18N

        JTF_omThreshold.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        JTF_omThreshold.setText("0.20");
        JTF_omThreshold.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_omThreshold.setName("CD-organic material fraction threshold"); // NOI18N
        JTF_omThreshold.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_omThreshold.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel_thresholdFraction.setFont(jLabel_thresholdFraction.getFont().deriveFont(jLabel_thresholdFraction.getFont().getStyle() & ~java.awt.Font.BOLD));
        jLabel_thresholdFraction.setText("fraction");
        jLabel_thresholdFraction.setName("CD-organic material fraction threshold"); // NOI18N

        jCheckBox_ignoreOrganicSurfaceLayer.setText("Ignore Organic Surface Layer");
        jCheckBox_ignoreOrganicSurfaceLayer.setName("CD-soil.skiporganic"); // NOI18N
        jCheckBox_ignoreOrganicSurfaceLayer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel_maxDepthToIgnore.setText("Maximum Depth of Organic Surface Layer to Ignore:");
        jLabel_maxDepthToIgnore.setName("CD-soil.maxorganicdepth"); // NOI18N

        organicMaxDepth.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        organicMaxDepth.setDisplayPattern("#0.00");
        organicMaxDepth.setName("CD-soil.maxorganicdepth"); // NOI18N
        organicMaxDepth.setUnitsLabel(maxOrganicDepthUnits);
        organicMaxDepth.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        organicMaxDepth.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        maxOrganicDepthUnits.setFont(maxOrganicDepthUnits.getFont().deriveFont(maxOrganicDepthUnits.getFont().getStyle() & ~java.awt.Font.BOLD));
        maxOrganicDepthUnits.setName("CD-soil.maxorganicdepth"); // NOI18N

        jLabel_wepsHandlingOrgSoil.setText("WEPS Handling of Organic Soils");

        javax.swing.GroupLayout jPanel_wepsHandlingOrganicSoilsLayout = new javax.swing.GroupLayout(jPanel_wepsHandlingOrganicSoils);
        jPanel_wepsHandlingOrganicSoils.setLayout(jPanel_wepsHandlingOrganicSoilsLayout);
        jPanel_wepsHandlingOrganicSoilsLayout.setHorizontalGroup(
            jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                        .addGap(21, 21, 21)
                        .addComponent(jLabel_maxDepthToIgnore)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(organicMaxDepth, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(maxOrganicDepthUnits, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(18, Short.MAX_VALUE))
                    .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                        .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jCheckBox_testForOrganicSoils, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                                .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                                        .addGap(21, 21, 21)
                                        .addComponent(jLabel_organicMatterThreshold)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(JTF_omThreshold, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(jLabel_thresholdFraction))
                                    .addComponent(jCheckBox_ignoreOrganicSurfaceLayer))
                                .addGap(0, 0, Short.MAX_VALUE)))
                        .addContainerGap())
                    .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                        .addComponent(jLabel_wepsHandlingOrgSoil)
                        .addGap(0, 0, Short.MAX_VALUE))))
        );
        jPanel_wepsHandlingOrganicSoilsLayout.setVerticalGroup(
            jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createSequentialGroup()
                .addComponent(jLabel_wepsHandlingOrgSoil)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox_testForOrganicSoils)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel_organicMatterThreshold)
                    .addComponent(JTF_omThreshold, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel_thresholdFraction))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox_ignoreOrganicSurfaceLayer)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel_wepsHandlingOrganicSoilsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel_maxDepthToIgnore)
                    .addComponent(organicMaxDepth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(maxOrganicDepthUnits))
                .addContainerGap())
        );

        jCheckBox_soilReadOnly.setText("Soil Editor Read-Only");
        jCheckBox_soilReadOnly.setName("CD-soil.readonly"); // NOI18N
        jCheckBox_soilReadOnly.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jCheckBox_soilReadOnly.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox_soilEstimate.setText("Allow Estimations in the Soil User Interface");
        jCheckBox_soilEstimate.setToolTipText("ConfigPanel:enableMcrewEdit");
        jCheckBox_soilEstimate.setName("CD-soil estimate"); // NOI18N
        jCheckBox_soilEstimate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox_disableSurgoEstimates.setText("Do Not Estimate Missing SSURGO Database Soil Values");
        jCheckBox_disableSurgoEstimates.setName("CD-do not estimate missing surgo values"); // NOI18N
        jCheckBox_disableSurgoEstimates.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox_averageStratSoilLayers.setText("Average Stratified Soil Layers");
        jCheckBox_averageStratSoilLayers.setName("CD-soil.averagestratified"); // NOI18N
        jCheckBox_averageStratSoilLayers.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel_soilViewEditOptions.setText("Soil Viewer/Editor Options");

        javax.swing.GroupLayout jPanel_soilViewerEditorOptionsLayout = new javax.swing.GroupLayout(jPanel_soilViewerEditorOptions);
        jPanel_soilViewerEditorOptions.setLayout(jPanel_soilViewerEditorOptionsLayout);
        jPanel_soilViewerEditorOptionsLayout.setHorizontalGroup(
            jPanel_soilViewerEditorOptionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel_soilViewerEditorOptionsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel_soilViewerEditorOptionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jCheckBox_soilReadOnly)
                    .addComponent(jCheckBox_soilEstimate)
                    .addComponent(jCheckBox_disableSurgoEstimates)
                    .addComponent(jCheckBox_averageStratSoilLayers)
                    .addComponent(jLabel_soilViewEditOptions))
                .addContainerGap(109, Short.MAX_VALUE))
        );
        jPanel_soilViewerEditorOptionsLayout.setVerticalGroup(
            jPanel_soilViewerEditorOptionsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel_soilViewerEditorOptionsLayout.createSequentialGroup()
                .addComponent(jLabel_soilViewEditOptions)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jCheckBox_soilReadOnly)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox_soilEstimate, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox_disableSurgoEstimates)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox_averageStratSoilLayers)
                .addContainerGap())
        );

        jPanel_soilServices.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Soil Sources (CSIP services, URL endpoints, folder locations, etc.)", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Helvetica Neue", 1, 13))); // NOI18N
        jPanel_soilServices.setPreferredSize(new java.awt.Dimension(960, 283));
        jPanel_soilServices.setRequestFocusEnabled(false);

        jLabel_csipSoilDataURL.setText("CSIP Soil Data URL");
        jLabel_csipSoilDataURL.setToolTipText("ConfigPanel:soilDB");
        jLabel_csipSoilDataURL.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 24, 1, 1));
        jLabel_csipSoilDataURL.setName("CD-WS-csip-soils-data-endpoint"); // NOI18N

        jLabel1.setText("CSIP Soil Params URL ");
        jLabel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 24, 1, 1));
        jLabel1.setName("CD-WS-csip-soils-params-endpoint"); // NOI18N

        jLabel_csipSoilService.setText("CSIP Soil Service");
        jLabel_csipSoilService.setMaximumSize(new java.awt.Dimension(90, 14));
        jLabel_csipSoilService.setMinimumSize(new java.awt.Dimension(90, 14));
        jLabel_csipSoilService.setName("CD-WS-csip-soils-service"); // NOI18N
        jLabel_csipSoilService.setPreferredSize(new java.awt.Dimension(90, 14));

        jLabel_cachedCSIPSoilDir.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel_cachedCSIPSoilDir.setText("Cached CSIP Soil Dir");
        jLabel_cachedCSIPSoilDir.setName("CD-WS-cached-csip-soils-dir"); // NOI18N

        jLabel_nrcsSoilDataMartUrl.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel_nrcsSoilDataMartUrl.setText("NRCS SoilDataMart URL");
        jLabel_nrcsSoilDataMartUrl.setName("CD-WS-SDM-soils-params-host"); // NOI18N

        jLabel_localSoilDataMartDir.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel_localSoilDataMartDir.setText("Local SoilDataMart Dir");
        jLabel_localSoilDataMartDir.setName("CD-LocalSDMDBLocation"); // NOI18N

        jLabel_systemSoilDataDir.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel_systemSoilDataDir.setText("System Soil Data Dir");
        jLabel_systemSoilDataDir.setToolTipText("ConfigPanel:soilDB");
        jLabel_systemSoilDataDir.setName("CD-soil database"); // NOI18N

        jLabel_localSoilDataDir.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel_localSoilDataDir.setText("Local Soil Data Dir");
        jLabel_localSoilDataDir.setName("CD-LocalSoilDB"); // NOI18N

        jLabel_surrogateOrganicSoil.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel_surrogateOrganicSoil.setText("Surrogate Organic Soil File");
        jLabel_surrogateOrganicSoil.setName("CD-soil.organicfile"); // NOI18N

        jButton_surrogateOrganicSoil.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        jButton_surrogateOrganicSoil.setToolTipText("ConfigPanel:soilDbButton");
        jButton_surrogateOrganicSoil.setMaximumSize(new java.awt.Dimension(30, 18));
        jButton_surrogateOrganicSoil.setMinimumSize(new java.awt.Dimension(30, 18));
        jButton_surrogateOrganicSoil.setName("CD-soil.organicfile"); // NOI18N
        jButton_surrogateOrganicSoil.setPreferredSize(new java.awt.Dimension(30, 18));
        jButton_surrogateOrganicSoil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jButton_localSoilData.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        jButton_localSoilData.setMaximumSize(new java.awt.Dimension(30, 18));
        jButton_localSoilData.setMinimumSize(new java.awt.Dimension(30, 18));
        jButton_localSoilData.setName("CD-LocalSoilDB"); // NOI18N
        jButton_localSoilData.setPreferredSize(new java.awt.Dimension(30, 18));
        jButton_localSoilData.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jButton_systemSoilData.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        jButton_systemSoilData.setToolTipText("ConfigPanel:soilDbButton");
        jButton_systemSoilData.setMaximumSize(new java.awt.Dimension(30, 18));
        jButton_systemSoilData.setMinimumSize(new java.awt.Dimension(30, 18));
        jButton_systemSoilData.setName("CD-soil database"); // NOI18N
        jButton_systemSoilData.setPreferredSize(new java.awt.Dimension(30, 18));
        jButton_systemSoilData.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jButton_localSoilDataMart.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        jButton_localSoilDataMart.setMaximumSize(new java.awt.Dimension(30, 18));
        jButton_localSoilDataMart.setMinimumSize(new java.awt.Dimension(30, 18));
        jButton_localSoilDataMart.setName("CD-LocalSDMDBLocation"); // NOI18N
        jButton_localSoilDataMart.setPreferredSize(new java.awt.Dimension(30, 18));
        jButton_localSoilDataMart.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jButton_cachedCsipDir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        jButton_cachedCsipDir.setToolTipText("ConfigPanel:soilDbButton");
        jButton_cachedCsipDir.setMaximumSize(new java.awt.Dimension(30, 18));
        jButton_cachedCsipDir.setMinimumSize(new java.awt.Dimension(30, 18));
        jButton_cachedCsipDir.setName("CD-WS-cached-csip-soils-dir"); // NOI18N
        jButton_cachedCsipDir.setPreferredSize(new java.awt.Dimension(30, 18));
        jButton_cachedCsipDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton_cachedCsipDirActionPerformed(evt);
            }
        });

        jCB_localSoilDataDir.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jCB_localSoilDataDir.setMaximumSize(new java.awt.Dimension(19, 19));
        jCB_localSoilDataDir.setMinimumSize(new java.awt.Dimension(19, 19));
        jCB_localSoilDataDir.setName("CD-LocalSoilDB-cb"); // NOI18N
        jCB_localSoilDataDir.setPreferredSize(new java.awt.Dimension(19, 19));
        jCB_localSoilDataDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCB_systemSoilDataDir.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jCB_systemSoilDataDir.setMaximumSize(new java.awt.Dimension(19, 19));
        jCB_systemSoilDataDir.setMinimumSize(new java.awt.Dimension(19, 19));
        jCB_systemSoilDataDir.setName("CD-soil database-cb"); // NOI18N
        jCB_systemSoilDataDir.setPreferredSize(new java.awt.Dimension(19, 19));
        jCB_systemSoilDataDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCB_localSoilDataMart.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jCB_localSoilDataMart.setMaximumSize(new java.awt.Dimension(19, 19));
        jCB_localSoilDataMart.setMinimumSize(new java.awt.Dimension(19, 19));
        jCB_localSoilDataMart.setName("CD-LocalSDMDBLocation-cb"); // NOI18N
        jCB_localSoilDataMart.setPreferredSize(new java.awt.Dimension(19, 19));
        jCB_localSoilDataMart.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCB_nrcsSoilDataMart.setToolTipText("");
        jCB_nrcsSoilDataMart.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jCB_nrcsSoilDataMart.setMaximumSize(new java.awt.Dimension(19, 19));
        jCB_nrcsSoilDataMart.setMinimumSize(new java.awt.Dimension(19, 19));
        jCB_nrcsSoilDataMart.setName("CD-WS-SDM-soils-params-host-cb"); // NOI18N
        jCB_nrcsSoilDataMart.setPreferredSize(new java.awt.Dimension(19, 19));
        jCB_nrcsSoilDataMart.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCB_showCachedCsipSoilDir.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jCB_showCachedCsipSoilDir.setMaximumSize(new java.awt.Dimension(19, 19));
        jCB_showCachedCsipSoilDir.setMinimumSize(new java.awt.Dimension(19, 19));
        jCB_showCachedCsipSoilDir.setName("CD-WS-cached-csip-soils-dir-cb"); // NOI18N
        jCB_showCachedCsipSoilDir.setPreferredSize(new java.awt.Dimension(19, 19));
        jCB_showCachedCsipSoilDir.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jCB_showCachedCsipSoilDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCB_csipSoilService.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jCB_csipSoilService.setMaximumSize(new java.awt.Dimension(19, 19));
        jCB_csipSoilService.setMinimumSize(new java.awt.Dimension(19, 19));
        jCB_csipSoilService.setName("CD-WS-csip-soils-service-cb"); // NOI18N
        jCB_csipSoilService.setPreferredSize(new java.awt.Dimension(19, 19));
        jCB_csipSoilService.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jCB_csipSoilService.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
        jPanel10.setLayout(jPanel10Layout);
        jPanel10Layout.setHorizontalGroup(
            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel10Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel10Layout.createSequentialGroup()
                        .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton_localSoilDataMart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jButton_systemSoilData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton_localSoilData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jButton_surrogateOrganicSoil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jCB_systemSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCB_localSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCB_localSoilDataMart, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel10Layout.createSequentialGroup()
                        .addGap(36, 36, 36)
                        .addComponent(jCB_csipSoilService, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel10Layout.createSequentialGroup()
                            .addComponent(jButton_cachedCsipDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jCB_showCachedCsipSoilDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(jCB_nrcsSoilDataMart, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(37, Short.MAX_VALUE))
        );
        jPanel10Layout.setVerticalGroup(
            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel10Layout.createSequentialGroup()
                .addComponent(jCB_csipSoilService, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(56, 56, 56)
                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jCB_showCachedCsipSoilDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton_cachedCsipDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCB_nrcsSoilDataMart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton_localSoilDataMart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCB_localSoilDataMart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jCB_systemSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton_systemSoilData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel10Layout.createSequentialGroup()
                        .addComponent(jButton_localSoilData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton_surrogateOrganicSoil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jCB_localSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jTF_csipSoilDataURL.setName("CD-WS-csip-soils-data-endpoint"); // NOI18N
        jTF_csipSoilDataURL.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_csipSoilParamsURL.setName("CD-WS-csip-soils-params-endpoint"); // NOI18N
        jTF_csipSoilParamsURL.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_cachedCSIPSoil.setText(CSIP_CACHE_LOCATION);
        jTF_cachedCSIPSoil.setToolTipText("ConfigPanel:soilDB");
        jTF_cachedCSIPSoil.setDisabledTextColor(java.awt.SystemColor.controlText);
        jTF_cachedCSIPSoil.setName("CD-WS-cached-csip-soils-dir"); // NOI18N
        jTF_cachedCSIPSoil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_nrcsSoilDataMartURL.setName("CD-WS-SDM-soils-params-host"); // NOI18N
        jTF_nrcsSoilDataMartURL.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_localSoilDataMartDir.setName("CD-LocalSDMDBLocation"); // NOI18N
        jTF_localSoilDataMartDir.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTF_localSoilDataMartDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_systemSoilDir.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        jTF_systemSoilDir.setToolTipText("ConfigPanel:soilDB");
        jTF_systemSoilDir.setDisabledTextColor(java.awt.SystemColor.controlText);
        jTF_systemSoilDir.setName("CD-soil database"); // NOI18N
        jTF_systemSoilDir.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTF_systemSoilDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_localSoilDataDir.setName("CD-LocalSoilDB"); // NOI18N
        jTF_localSoilDataDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTF_surrogateOrganicSoilFile.setName("CD-soil.organicfile"); // NOI18N
        jTF_surrogateOrganicSoilFile.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTF_surrogateOrganicSoilFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
        jPanel11.setLayout(jPanel11Layout);
        jPanel11Layout.setHorizontalGroup(
            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel11Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTF_localSoilDataMartDir, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_systemSoilDir, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_localSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_surrogateOrganicSoilFile, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_csipSoilParamsURL, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_csipSoilDataURL, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_nrcsSoilDataMartURL, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTF_cachedCSIPSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel11Layout.setVerticalGroup(
            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel11Layout.createSequentialGroup()
                .addGap(24, 24, 24)
                .addComponent(jTF_csipSoilDataURL, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_csipSoilParamsURL, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_cachedCSIPSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_nrcsSoilDataMartURL, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_localSoilDataMartDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_systemSoilDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_localSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTF_surrogateOrganicSoilFile, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(28, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanel_soilServicesLayout = new javax.swing.GroupLayout(jPanel_soilServices);
        jPanel_soilServices.setLayout(jPanel_soilServicesLayout);
        jPanel_soilServicesLayout.setHorizontalGroup(
            jPanel_soilServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel_soilServicesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel_soilServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel_soilServicesLayout.createSequentialGroup()
                        .addGroup(jPanel_soilServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel_localSoilDataMartDir)
                            .addComponent(jLabel_systemSoilDataDir)
                            .addComponent(jLabel_localSoilDataDir)
                            .addComponent(jLabel_surrogateOrganicSoil)
                            .addComponent(jLabel1)
                            .addComponent(jLabel_csipSoilDataURL)
                            .addComponent(jLabel_nrcsSoilDataMartUrl)
                            .addComponent(jLabel_cachedCSIPSoilDir))
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addComponent(jLabel_csipSoilService, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanel_soilServicesLayout.setVerticalGroup(
            jPanel_soilServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel_soilServicesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel_soilServicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel10, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel_soilServicesLayout.createSequentialGroup()
                        .addComponent(jLabel_csipSoilService, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_csipSoilDataURL, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_cachedCSIPSoilDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_nrcsSoilDataMartUrl, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_localSoilDataMartDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_systemSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_localSoilDataDir, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel_surrogateOrganicSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );

        javax.swing.GroupLayout JP_SoilLayout = new javax.swing.GroupLayout(JP_Soil);
        JP_Soil.setLayout(JP_SoilLayout);
        JP_SoilLayout.setHorizontalGroup(
            JP_SoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_SoilLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_SoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel_soilServices, javax.swing.GroupLayout.DEFAULT_SIZE, 1112, Short.MAX_VALUE)
                    .addGroup(JP_SoilLayout.createSequentialGroup()
                        .addGroup(JP_SoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jPanel_wepsHandlingOrganicSoils, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jPanel_soilViewerEditorOptions, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        JP_SoilLayout.setVerticalGroup(
            JP_SoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_SoilLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel_soilServices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel_wepsHandlingOrganicSoils, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel_soilViewerEditorOptions, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        JTP_main.addTab("Soil", JP_Soil);

        JP_ProjAndData.setPreferredSize(new java.awt.Dimension(960, 686));

        Project_jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Crop/Residue Record Locations", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel44.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel44.setText("System Crop/Residue Records");
        jLabel44.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel44.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel44.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField3.setToolTipText("System level Crop/Residue Records Folder Path");
        jTextField3.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField3.setName("CD-system_cropres_folder"); // NOI18N
        jTextField3.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField3.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton1.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton1.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton1.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton1.setName("CD-system_cropres_folder"); // NOI18N
        currentProjectButton1.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel45.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel45.setText("Local Crop/Residue Records");
        jLabel45.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel45.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel45.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel45.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField4.setToolTipText("Local level Crop/Residue Records Folder Path");
        jTextField4.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField4.setName("CD-local_cropres_folder"); // NOI18N
        jTextField4.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField4.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton2.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton2.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton2.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton2.setName("CD-shared_cropres_folder"); // NOI18N
        currentProjectButton2.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jTextField5.setToolTipText("Shared level Crop/Residue Records Folder Path");
        jTextField5.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField5.setName("CD-shared_cropres_folder"); // NOI18N
        jTextField5.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField5.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel46.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel46.setText("Shared Crop/Residue Records");
        jLabel46.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel46.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel46.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel46.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton3.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton3.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton3.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton3.setName("CD-local_cropres_folder"); // NOI18N
        currentProjectButton3.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel50.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel50.setText("CRLMOD Crop/Residue Records");
        jLabel50.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jLabel50.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel50.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel50.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton7.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton7.setDefaultCapable(false);
        currentProjectButton7.setEnabled(false);
        currentProjectButton7.setFocusPainted(false);
        currentProjectButton7.setFocusable(false);
        currentProjectButton7.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton7.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton7.setName(""); // NOI18N
        currentProjectButton7.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton7.setRequestFocusEnabled(false);
        currentProjectButton7.setVerifyInputWhenFocusTarget(false);

        jCheckBox18.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox18.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox18.setName("CD-system_cropres_cb"); // NOI18N
        jCheckBox18.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox19.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox19.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox19.setName("CD-local_cropres_cb"); // NOI18N
        jCheckBox19.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox20.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox20.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox20.setName("CD-shared_cropres_cb"); // NOI18N
        jCheckBox20.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox21.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox21.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox21.setName("CD-CrLmod_cropres_cb"); // NOI18N
        jCheckBox21.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTextField24.setText("CRLMOD Crops/Residue");
        jTextField24.setEnabled(false);
        jTextField24.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField24.setPreferredSize(new java.awt.Dimension(500, 20));

        javax.swing.GroupLayout Project_jPanelLayout = new javax.swing.GroupLayout(Project_jPanel);
        Project_jPanel.setLayout(Project_jPanelLayout);
        Project_jPanelLayout.setHorizontalGroup(
            Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel44, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
                    .addComponent(jLabel45, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel46, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel50, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Project_jPanelLayout.createSequentialGroup()
                        .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(Project_jPanelLayout.createSequentialGroup()
                                .addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(currentProjectButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(Project_jPanelLayout.createSequentialGroup()
                                .addComponent(jTextField3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(currentProjectButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jCheckBox18, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCheckBox19, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(Project_jPanelLayout.createSequentialGroup()
                        .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(Project_jPanelLayout.createSequentialGroup()
                                .addComponent(jTextField24, javax.swing.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(currentProjectButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(Project_jPanelLayout.createSequentialGroup()
                                .addComponent(jTextField5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(currentProjectButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jCheckBox20, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCheckBox21, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
        );
        Project_jPanelLayout.setVerticalGroup(
            Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(currentProjectButton1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel44, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jCheckBox18, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jCheckBox19, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel45, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(currentProjectButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel46, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jCheckBox20, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel50, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField24, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jCheckBox21, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        Project_jPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel44, jLabel45, jLabel46, jLabel50});

        Project_jPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jTextField24, jTextField3, jTextField4, jTextField5});

        Project_jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "WEPS Project Location/Info", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel47.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel47.setText("Initial Default WEPS Project");
        jLabel47.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel47.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel47.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel47.setName(""); // NOI18N
        jLabel47.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField6.setToolTipText("Default Project Directory Path/File name location");
        jTextField6.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField6.setName("CD-default project name"); // NOI18N
        jTextField6.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton4.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton4.setName("CD-default project name"); // NOI18N
        currentProjectButton4.setPreferredSize(new java.awt.Dimension(35, 19));
        currentProjectButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel48.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel48.setText("Parent folder for WEPS Projects");
        jLabel48.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel48.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel48.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel48.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField7.setToolTipText("Projects Directory Path");
        jTextField7.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField7.setName("CD-projects path"); // NOI18N
        jTextField7.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
                configureProjectFolder(evt);
            }
        });

        currentProjectButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton5.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton5.setName("CD-projects path"); // NOI18N
        currentProjectButton5.setPreferredSize(new java.awt.Dimension(35, 19));
        currentProjectButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                projectFolderActionPerformed(evt);
            }
        });

        jTextField8.setToolTipText("New Project's default Runs location");
        jTextField8.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField8.setName("CD-default runs location"); // NOI18N
        jTextField8.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel49.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel49.setText("New Prj. Default Runs Location");
        jLabel49.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel49.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel49.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel49.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton6.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton6.setName("CD-default runs location"); // NOI18N
        currentProjectButton6.setPreferredSize(new java.awt.Dimension(35, 19));
        currentProjectButton6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout Project_jPanel1Layout = new javax.swing.GroupLayout(Project_jPanel1);
        Project_jPanel1.setLayout(Project_jPanel1Layout);
        Project_jPanel1Layout.setHorizontalGroup(
            Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel48, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
                    .addComponent(jLabel47, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel49, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTextField8, javax.swing.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
                    .addComponent(jTextField6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(currentProjectButton4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32))
        );
        Project_jPanel1Layout.setVerticalGroup(
            Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanel1Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(currentProjectButton5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel48, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanel1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel47, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Project_jPanel1Layout.createSequentialGroup()
                        .addGap(7, 7, 7)
                        .addComponent(currentProjectButton4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(currentProjectButton6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(Project_jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel49, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        Project_jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jTextField6, jTextField7, jTextField8});

        Project_jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel47, jLabel48, jLabel49});

        jLabel48.getAccessibleContext().setAccessibleName("Projects Folder");

        Project_jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Management Template Locations", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel51.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel51.setText("System Mgt Templates");
        jLabel51.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel51.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel51.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel51.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField9.setToolTipText("System level Management Templates Folder Path");
        jTextField9.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField9.setName("CD-system_man_folder"); // NOI18N
        jTextField9.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField9.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton8.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton8.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton8.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton8.setName("CD-system_man_folder"); // NOI18N
        currentProjectButton8.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel52.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel52.setText("Local Mgt Templates");
        jLabel52.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel52.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel52.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel52.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField10.setToolTipText("Local level Management Templates Folder Path");
        jTextField10.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField10.setName("CD-local_man_folder"); // NOI18N
        jTextField10.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField10.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton9.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton9.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton9.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton9.setName("CD-local_man_folder"); // NOI18N
        currentProjectButton9.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jTextField11.setToolTipText("Shared level Management Templates Folder Path");
        jTextField11.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField11.setName("CD-shared_man_folder"); // NOI18N
        jTextField11.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField11.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel53.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel53.setText("Shared Mgt Templates");
        jLabel53.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel53.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel53.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel53.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton10.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton10.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton10.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton10.setName("CD-shared_man_folder"); // NOI18N
        currentProjectButton10.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel54.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel54.setText("CRLMOD (CMZ)  Mgt Templates");
        jLabel54.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel54.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel54.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel54.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton11.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton11.setDefaultCapable(false);
        currentProjectButton11.setEnabled(false);
        currentProjectButton11.setFocusPainted(false);
        currentProjectButton11.setFocusable(false);
        currentProjectButton11.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton11.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton11.setName(""); // NOI18N
        currentProjectButton11.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton11.setRequestFocusEnabled(false);
        currentProjectButton11.setVerifyInputWhenFocusTarget(false);

        jCheckBox22.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox22.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox22.setName("CD-system_man_cb"); // NOI18N
        jCheckBox22.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox23.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox23.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox23.setName("CD-local_man_cb"); // NOI18N
        jCheckBox23.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox24.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox24.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox24.setName("CD-CrLmod_man_cb"); // NOI18N
        jCheckBox24.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox25.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox25.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox25.setName("CD-shared_man_cb"); // NOI18N
        jCheckBox25.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTextField22.setText("CRLMOD Managements");
        jTextField22.setEnabled(false);
        jTextField22.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField22.setPreferredSize(new java.awt.Dimension(500, 20));

        javax.swing.GroupLayout Project_jPanel2Layout = new javax.swing.GroupLayout(Project_jPanel2);
        Project_jPanel2.setLayout(Project_jPanel2Layout);
        Project_jPanel2Layout.setHorizontalGroup(
            Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel51, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel52, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel54, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel53, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField9, javax.swing.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
                    .addComponent(jTextField10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTextField11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTextField22, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(currentProjectButton11, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton9, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(currentProjectButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jCheckBox24, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCheckBox22, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCheckBox23, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCheckBox25, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        Project_jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jCheckBox22, jCheckBox23, jCheckBox24, jCheckBox25});

        Project_jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {currentProjectButton10, currentProjectButton11, currentProjectButton8, currentProjectButton9});

        Project_jPanel2Layout.setVerticalGroup(
            Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(currentProjectButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel51, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jCheckBox22, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanel2Layout.createSequentialGroup()
                        .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel52, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jCheckBox23, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel53, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jCheckBox25, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(currentProjectButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(currentProjectButton11, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCheckBox24, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(Project_jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel54, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jTextField22, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addComponent(currentProjectButton9, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        Project_jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel51, jLabel52, jLabel53, jLabel54});

        Project_jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jTextField10, jTextField11, jTextField9});

        Project_jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jCheckBox22, jCheckBox23, jCheckBox24, jCheckBox25});

        Project_jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {currentProjectButton10, currentProjectButton11, currentProjectButton8, currentProjectButton9});

        Project_jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Operation Record Locations", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel55.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel55.setText("System Operation Records");
        jLabel55.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel55.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel55.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel55.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField12.setToolTipText("System level Operation Records Folder Path");
        jTextField12.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField12.setName("CD-system_oper_folder"); // NOI18N
        jTextField12.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField12.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton12.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton12.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton12.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton12.setName("CD-system_oper_folder"); // NOI18N
        currentProjectButton12.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel56.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel56.setText("Local Operation Records");
        jLabel56.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel56.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel56.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel56.setPreferredSize(new java.awt.Dimension(200, 14));

        jTextField13.setToolTipText("Local level Operation Records Folder Path");
        jTextField13.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField13.setName("CD-local_oper_folder"); // NOI18N
        jTextField13.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField13.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        currentProjectButton13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton13.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton13.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton13.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton13.setName("CD-local_oper_folder"); // NOI18N
        currentProjectButton13.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jTextField14.setToolTipText("Shared level Operation Records Folder Path");
        jTextField14.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField14.setName("CD-shared_oper_folder"); // NOI18N
        jTextField14.setPreferredSize(new java.awt.Dimension(500, 20));
        jTextField14.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel57.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel57.setText("Shared Operation Records");
        jLabel57.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel57.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel57.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel57.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton14.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton14.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton14.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton14.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton14.setName("CD-shared_oper_folder"); // NOI18N
        currentProjectButton14.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel58.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel58.setText("CRLMOD Operation Records");
        jLabel58.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel58.setMaximumSize(new java.awt.Dimension(200, 14));
        jLabel58.setMinimumSize(new java.awt.Dimension(200, 14));
        jLabel58.setPreferredSize(new java.awt.Dimension(200, 14));

        currentProjectButton15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton15.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton15.setDefaultCapable(false);
        currentProjectButton15.setEnabled(false);
        currentProjectButton15.setFocusPainted(false);
        currentProjectButton15.setFocusable(false);
        currentProjectButton15.setMaximumSize(new java.awt.Dimension(35, 20));
        currentProjectButton15.setMinimumSize(new java.awt.Dimension(35, 20));
        currentProjectButton15.setName(""); // NOI18N
        currentProjectButton15.setPreferredSize(new java.awt.Dimension(35, 20));
        currentProjectButton15.setRequestFocusEnabled(false);
        currentProjectButton15.setVerifyInputWhenFocusTarget(false);

        jCheckBox26.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox26.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox26.setName("CD-system_oper_cb"); // NOI18N
        jCheckBox26.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox27.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox27.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox27.setName("CD-local_oper_cb"); // NOI18N
        jCheckBox27.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox28.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox28.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox28.setName("CD-shared_oper_cb"); // NOI18N
        jCheckBox28.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox29.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jCheckBox29.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jCheckBox29.setName("CD-CrLmod_oper_cb"); // NOI18N
        jCheckBox29.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTextField23.setText("CRLMOD Operations");
        jTextField23.setEnabled(false);
        jTextField23.setMaximumSize(new java.awt.Dimension(2147483647, 20));
        jTextField23.setPreferredSize(new java.awt.Dimension(500, 20));

        javax.swing.GroupLayout Project_jPanel3Layout = new javax.swing.GroupLayout(Project_jPanel3);
        Project_jPanel3.setLayout(Project_jPanel3Layout);
        Project_jPanel3Layout.setHorizontalGroup(
            Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel55, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
                    .addComponent(jLabel56, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel57, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel58, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField14, javax.swing.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
                    .addComponent(jTextField23, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTextField13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jTextField12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(Project_jPanel3Layout.createSequentialGroup()
                                .addComponent(currentProjectButton12, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jCheckBox26, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Project_jPanel3Layout.createSequentialGroup()
                                .addComponent(currentProjectButton13, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jCheckBox27, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Project_jPanel3Layout.createSequentialGroup()
                            .addComponent(currentProjectButton14, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jCheckBox28, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Project_jPanel3Layout.createSequentialGroup()
                        .addComponent(currentProjectButton15, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jCheckBox29, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        Project_jPanel3Layout.setVerticalGroup(
            Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Project_jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(currentProjectButton12, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel55, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jCheckBox26, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel56, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jCheckBox27, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(currentProjectButton13, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel57, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField14, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(currentProjectButton14, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jCheckBox28, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel58, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField23, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Project_jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jCheckBox29, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(currentProjectButton15, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        Project_jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel55, jLabel56, jLabel57, jLabel58});

        jLabel28.setText("Project & Management/Operation/Crop/Residue Data Locations");

        javax.swing.GroupLayout JP_ProjAndDataLayout = new javax.swing.GroupLayout(JP_ProjAndData);
        JP_ProjAndData.setLayout(JP_ProjAndDataLayout);
        JP_ProjAndDataLayout.setHorizontalGroup(
            JP_ProjAndDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ProjAndDataLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_ProjAndDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Project_jPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Project_jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Project_jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Project_jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(JP_ProjAndDataLayout.createSequentialGroup()
                        .addComponent(jLabel28)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        JP_ProjAndDataLayout.setVerticalGroup(
            JP_ProjAndDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ProjAndDataLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel28)
                .addGap(9, 9, 9)
                .addComponent(Project_jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Project_jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Project_jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Project_jPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        Project_jPanel.getAccessibleContext().setAccessibleName("Crops_Residues");

        JTP_main.addTab("Project & Data Loc", null, JP_ProjAndData, "");

        JP_Windgen.setPreferredSize(new java.awt.Dimension(960, 686));

        JLabel46.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel46.setText("Interpolate 1:");
        JLabel46.setToolTipText("");
        JLabel46.setName("CD-windgen database"); // NOI18N

        JB_winGenDB1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB1.setToolTipText("");
        JB_winGenDB1.setName("CD-windgen index"); // NOI18N
        JB_winGenDB1.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel47.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel47.setText("Interpolate 2:");
        JLabel47.setToolTipText("");
        JLabel47.setName("CD-windgen database"); // NOI18N

        JTF_winExe.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winExe.setToolTipText("ConfigPanel:windExe");
        JTF_winExe.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winExe.setName("CD-windgen generator"); // NOI18N
        JTF_winExe.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_winExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_winCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winCmd.setToolTipText("ConfigPanel:windCmd");
        JTF_winCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winCmd.setName("CD-windgen cmdline"); // NOI18N
        JTF_winCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_winDb2.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb2.setToolTipText("");
        JTF_winDb2.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb2.setName("CD-windgen interpolate 1"); // NOI18N
        JTF_winDb2.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_winDb2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_winGenDB2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB2.setToolTipText("");
        JB_winGenDB2.setName("CD-windgen interpolate 1"); // NOI18N
        JB_winGenDB2.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JB_winExe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winExe.setToolTipText("ConfigPanel:windGenExeButton");
        JB_winExe.setName("CD-windgen generator"); // NOI18N
        JB_winExe.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JB_winGenDB3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB3.setToolTipText("");
        JB_winGenDB3.setName("CD-windgen interpolate 2"); // NOI18N
        JB_winGenDB3.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_winDb3.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb3.setToolTipText("");
        JTF_winDb3.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb3.setName("CD-windgen interpolate 2"); // NOI18N
        JTF_winDb3.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_winDb3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_winGenDB.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB.setToolTipText("");
        JB_winGenDB.setName("CD-windgen database"); // NOI18N
        JB_winGenDB.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_winDb.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb.setToolTipText("");
        JTF_winDb.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb.setName("CD-windgen database"); // NOI18N
        JTF_winDb.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_winDb.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel20.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel20.setText("Database:");
        JLabel20.setToolTipText("");
        JLabel20.setName("CD-windgen database"); // NOI18N

        JTF_winDb1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb1.setToolTipText("");
        JTF_winDb1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb1.setName("CD-windgen index"); // NOI18N
        JTF_winDb1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winDb1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel44.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel44.setText("Index:");
        JLabel44.setToolTipText("");
        JLabel44.setName("CD-windgen database"); // NOI18N

        JLabel2.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel2.setText("Arguments:");
        JLabel2.setToolTipText("ConfigPanel:windCmd");
        JLabel2.setName("CD-windgen cmdline"); // NOI18N

        JLabel1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel1.setText("Executable:");
        JLabel1.setToolTipText("ConfigPanel:windExe");
        JLabel1.setName("CD-windgen generator"); // NOI18N

        jLabel10.setText("Modes:");
        jLabel10.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        jLabel10.setName("CD-windgen.allowedmodes"); // NOI18N

        windgenModes.setName("CD-windgen.allowedmodes"); // NOI18N
        windgenModes.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        windRadiusField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        windRadiusField.setName("CD-wind radius"); // NOI18N
        windRadiusField.setUnitsLabel(windRadiusUnits);
        windRadiusField.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        windRadiusField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        windRadiusLabel.setText("Radius:");
        windRadiusLabel.setName("CD-wind radius"); // NOI18N

        windRadiusUnits.setFont(windRadiusUnits.getFont().deriveFont(windRadiusUnits.getFont().getStyle() & ~java.awt.Font.BOLD));

        JLabel48.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel48.setText("Boundary:");
        JLabel48.setToolTipText("");
        JLabel48.setName(ConfigData.WindgenInterpolationBoundaryFile);

        JTF_winDb4.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb4.setToolTipText("");
        JTF_winDb4.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb4.setName(ConfigData.WindgenInterpolationBoundaryFile);
        JTF_winDb4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winDb4.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_winGenDB4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB4.setToolTipText("");
        JB_winGenDB4.setName(ConfigData.WindgenInterpolationBoundaryFile);
        JB_winGenDB4.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel57.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel57.setText("Winden Data (CR_LMOD)");
        JLabel57.setToolTipText("");
        JLabel57.setName("CD-windgen database"); // NOI18N

        JTF_winDat.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDat.setToolTipText("");
        JTF_winDat.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDat.setName("CD-windgen data crlmod"); // NOI18N
        JTF_winDat.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_winDat.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_winDat.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winDat.setToolTipText("");
        JB_winDat.setName("CD-windgen data crlmod"); // NOI18N
        JB_winDat.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winDat.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel58.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel58.setText("Winden Index (CR_LMOD)");
        JLabel58.setToolTipText("");
        JLabel58.setName("CD-windgen database"); // NOI18N

        JTF_winIdx.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winIdx.setToolTipText("");
        JTF_winIdx.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winIdx.setName("CD-windgen index crlmod"); // NOI18N
        JTF_winIdx.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_winIdx.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_winIdx.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winIdx.setToolTipText("");
        JB_winIdx.setName("CD-windgen index crlmod"); // NOI18N
        JB_winIdx.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winIdx.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_WindgenLayout = new javax.swing.GroupLayout(JP_Windgen);
        JP_Windgen.setLayout(JP_WindgenLayout);
        JP_WindgenLayout.setHorizontalGroup(
            JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_WindgenLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(JLabel48, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel58, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel57, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel46, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel47, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(windRadiusLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel44, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel20, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_WindgenLayout.createSequentialGroup()
                        .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(JTF_winDb2, javax.swing.GroupLayout.DEFAULT_SIZE, 857, Short.MAX_VALUE)
                            .addComponent(JTF_winIdx, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winDat, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winDb1, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winDb, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winCmd, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winExe, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winDb3, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_winDb4))
                        .addGap(13, 13, 13)
                        .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(JB_winGenDB4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(JB_winGenDB3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(JB_winExe, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(JB_winGenDB, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(JB_winGenDB1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(JB_winGenDB2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(JB_winDat, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(JB_winIdx, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addComponent(windgenModes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_WindgenLayout.createSequentialGroup()
                        .addComponent(windRadiusField, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(windRadiusUnits)))
                .addContainerGap())
        );
        JP_WindgenLayout.setVerticalGroup(
            JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_WindgenLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_WindgenLayout.createSequentialGroup()
                        .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JTF_winExe, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JTF_winCmd, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(JB_winExe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel20, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_winDb, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_winGenDB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JB_winGenDB1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel44, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_winDb1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JB_winDat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel57, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_winDat, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JB_winIdx, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel58, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_winIdx, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel46, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_winDb2, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_winGenDB2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JTF_winDb3, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JLabel47, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_winGenDB3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JTF_winDb4, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JLabel48, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_winGenDB4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(windRadiusField, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(windRadiusLabel)
                    .addComponent(windRadiusUnits))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_WindgenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel10)
                    .addComponent(windgenModes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        JTF_winDat.getAccessibleContext().setAccessibleName("");

        JTP_main.addTab("Windgen", JP_Windgen);

        JP_Cligen.setPreferredSize(new java.awt.Dimension(960, 686));

        JLabel45.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel45.setText("Index:");
        JLabel45.setToolTipText("");
        JLabel45.setName("CD-cligen database"); // NOI18N

        JB_cliGenDb1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliGenDb1.setToolTipText("");
        JB_cliGenDb1.setName("CD-cligen index"); // NOI18N
        JB_cliGenDb1.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliGenDb1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_cliCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliCmd.setToolTipText("ConfigPanel:cliCmd");
        JTF_cliCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliCmd.setName("CD-cligen cmdline"); // NOI18N
        JTF_cliCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_cliCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_cliExe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliExe.setToolTipText("ConfigPanel:cliGenExeButton");
        JB_cliExe.setName("CD-cligen generator"); // NOI18N
        JB_cliExe.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel3.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel3.setText("Executable:");
        JLabel3.setToolTipText("ConfigPanel:cliExe");
        JLabel3.setName("CD-cligen generator"); // NOI18N

        JTF_cliIdx.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliIdx.setToolTipText("");
        JTF_cliIdx.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliIdx.setName("CD-cligen index"); // NOI18N
        JTF_cliIdx.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_cliIdx.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_cliGenDb.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliGenDb.setToolTipText("");
        JB_cliGenDb.setName("CD-cligen database"); // NOI18N
        JB_cliGenDb.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliGenDb.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel4.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel4.setText("Arguments:");
        JLabel4.setToolTipText("ConfigPanel:cliCmd");
        JLabel4.setName("CD-windgen cmdline"); // NOI18N

        JTF_cliDb.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliDb.setToolTipText("");
        JTF_cliDb.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliDb.setName("CD-cligen database"); // NOI18N
        JTF_cliDb.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_cliDb.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_cliExe.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliExe.setToolTipText("ConfigPanel:cliExe");
        JTF_cliExe.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliExe.setName("CD-cligen generator"); // NOI18N
        JTF_cliExe.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_cliExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel41.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel41.setText("Database:");
        JLabel41.setToolTipText("");
        JLabel41.setName("CD-cligen database"); // NOI18N

        jLabel12.setText("Modes:");
        jLabel12.setName("CD-cligen.allowedmodes"); // NOI18N

        cligenModes.setName("CD-cligen.allowedmodes"); // NOI18N

        cligenRadiusField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        cligenRadiusField.setName("CD-climate radius"); // NOI18N
        cligenRadiusField.setUnitsLabel(cligenRadiusUnits);
        cligenRadiusField.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        cligenRadiusField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        cligenRadiusLabel.setText("Radius:");
        cligenRadiusLabel.setName("CD-climate radius"); // NOI18N

        cligenRadiusUnits.setFont(cligenRadiusUnits.getFont().deriveFont(cligenRadiusUnits.getFont().getStyle() & ~java.awt.Font.BOLD));
        cligenRadiusUnits.setName("CD-climate radius"); // NOI18N

        JLabel54.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel54.setText("Cligen Data (CR_LMOD):");
        JLabel54.setToolTipText("");
        JLabel54.setName("CD-cligen database"); // NOI18N

        JTF_cliDatCRLMOD.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliDatCRLMOD.setToolTipText("");
        JTF_cliDatCRLMOD.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliDatCRLMOD.setName("CD-cligen data crlmod"); // NOI18N
        JTF_cliDatCRLMOD.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_cliDatCRLMOD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_cliDatCRLMOD.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliDatCRLMOD.setToolTipText("");
        JB_cliDatCRLMOD.setName("CD-cligen data crlmod"); // NOI18N
        JB_cliDatCRLMOD.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliDatCRLMOD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel55.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel55.setText("Cligen Index (CR_LMOD):");
        JLabel55.setToolTipText("");
        JLabel55.setName("CD-cligen database"); // NOI18N

        JTF_cliIdxCRLMOD.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliIdxCRLMOD.setToolTipText("");
        JTF_cliIdxCRLMOD.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliIdxCRLMOD.setName("CD-cligen index crlmod"); // NOI18N
        JTF_cliIdxCRLMOD.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_cliIdxCRLMOD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_cliIdxCRLMOD.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliIdxCRLMOD.setToolTipText("");
        JB_cliIdxCRLMOD.setName("CD-cligen index crlmod"); // NOI18N
        JB_cliIdxCRLMOD.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliIdxCRLMOD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel56.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel56.setText("Prism Normals (CR_LMOD):");
        JLabel56.setToolTipText("");
        JLabel56.setName("CD-cligen database"); // NOI18N

        JTF_prismNormCRLMOD.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_prismNormCRLMOD.setToolTipText("");
        JTF_prismNormCRLMOD.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_prismNormCRLMOD.setName("CD-prism normals crlmod"); // NOI18N
        JTF_prismNormCRLMOD.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_prismNormCRLMOD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_prismNormCRLMOD.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_prismNormCRLMOD.setToolTipText("");
        JB_prismNormCRLMOD.setName("CD-prism normals crlmod"); // NOI18N
        JB_prismNormCRLMOD.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_prismNormCRLMOD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_CligenLayout = new javax.swing.GroupLayout(JP_Cligen);
        JP_Cligen.setLayout(JP_CligenLayout);
        JP_CligenLayout.setHorizontalGroup(
            JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_CligenLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(JLabel45, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JLabel41, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JLabel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JLabel54, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JLabel55, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JLabel56, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addComponent(jLabel12)
                    .addComponent(cligenRadiusLabel)
                    .addComponent(JLabel3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(JTF_cliExe)
                    .addComponent(JTF_cliIdx, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE)
                    .addComponent(JTF_cliDb, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE)
                    .addComponent(JTF_cliCmd, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE)
                    .addComponent(JTF_cliDatCRLMOD, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, JP_CligenLayout.createSequentialGroup()
                        .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(cligenModes, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, JP_CligenLayout.createSequentialGroup()
                                .addComponent(cligenRadiusField, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cligenRadiusUnits)))
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addComponent(JTF_cliIdxCRLMOD, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE)
                    .addComponent(JTF_prismNormCRLMOD, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(JB_cliExe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JB_cliGenDb, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_cliGenDb1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_cliDatCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_cliIdxCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_prismNormCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        JP_CligenLayout.setVerticalGroup(
            JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_CligenLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(JB_cliExe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_cliExe, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_cliCmd, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel41, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_cliDb, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_cliGenDb, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel45, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_cliIdx, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_cliGenDb1, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel54, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_cliDatCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_cliDatCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel55, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_cliIdxCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_cliIdxCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(JLabel56, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JTF_prismNormCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_prismNormCRLMOD, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cligenRadiusField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cligenRadiusLabel)
                    .addComponent(cligenRadiusUnits))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_CligenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(cligenModes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel12))
                .addContainerGap(323, Short.MAX_VALUE))
        );

        JP_CligenLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {JB_cliGenDb, JLabel41, JTF_cliDb});

        JP_CligenLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {JB_cliGenDb1, JLabel45, JTF_cliIdx});

        JTP_main.addTab("Cligen", JP_Cligen);

        JP_Weps.setToolTipText("ConfigPanel:exe");
        JP_Weps.setPreferredSize(new java.awt.Dimension(960, 686));

        JLabel5.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel5.setText("Executable:");
        JLabel5.setToolTipText("ConfigPanel:wepsExe");
        JLabel5.setName("CD-WEPS exe"); // NOI18N

        JLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel6.setText("Arguments:");
        JLabel6.setToolTipText("ConfigPanel:wepsCmd");
        JLabel6.setName("CD-WEPS exe parameter"); // NOI18N

        JTF_wepsExe.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_wepsExe.setToolTipText("ConfigPanel:wepsExe");
        JTF_wepsExe.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_wepsExe.setName("CD-WEPS exe"); // NOI18N
        JTF_wepsExe.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_wepsExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_wepsCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_wepsCmd.setToolTipText("ConfigPanel:wepsCmd");
        JTF_wepsCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_wepsCmd.setName("CD-WEPS exe parameter"); // NOI18N
        JTF_wepsCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_wepsCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JL_calWepsCmd.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JL_calWepsCmd.setText("Calibration:");
        JL_calWepsCmd.setToolTipText("ConfigPanel:calWepsCmd");
        JL_calWepsCmd.setName("CD-WEPS calibration exe parameter"); // NOI18N

        JTF_calWepsCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_calWepsCmd.setToolTipText("ConfigPanel:calWepsCmd");
        JTF_calWepsCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_calWepsCmd.setName("CD-WEPS calibration exe parameter"); // NOI18N
        JTF_calWepsCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_calWepsCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_wepsExe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_wepsExe.setToolTipText("ConfigPanel:wepsExeButton");
        JB_wepsExe.setName("CD-WEPS exe"); // NOI18N
        JB_wepsExe.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_wepsExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_WepsLayout = new javax.swing.GroupLayout(JP_Weps);
        JP_Weps.setLayout(JP_WepsLayout);
        JP_WepsLayout.setHorizontalGroup(
            JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_WepsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(JLabel6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JLabel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addComponent(JL_calWepsCmd))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JTF_calWepsCmd, javax.swing.GroupLayout.DEFAULT_SIZE, 956, Short.MAX_VALUE)
                    .addComponent(JTF_wepsCmd, javax.swing.GroupLayout.DEFAULT_SIZE, 956, Short.MAX_VALUE)
                    .addComponent(JTF_wepsExe, javax.swing.GroupLayout.DEFAULT_SIZE, 956, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JB_wepsExe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        JP_WepsLayout.setVerticalGroup(
            JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_WepsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JB_wepsExe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_WepsLayout.createSequentialGroup()
                        .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JTF_wepsExe, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JTF_wepsCmd, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_WepsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JL_calWepsCmd, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JTF_calWepsCmd, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(525, Short.MAX_VALUE))
        );

        JTP_main.addTab("Weps", null, JP_Weps, "ConfigPanel:exe");

        JP_Gis.setPreferredSize(new java.awt.Dimension(960, 686));

        gisData.setDisabledTextColor(java.awt.SystemColor.controlText);
        gisData.setName("CD-gis.data"); // NOI18N
        gisData.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        gisData.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        gisDataLabel.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        gisDataLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        gisDataLabel.setText("GIS Data:");
        gisDataLabel.setName("CD-gis.data"); // NOI18N

        JP_GisViewer.setBorder(javax.swing.BorderFactory.createTitledBorder("Viewer"));

        jtf_GisViewerInitialHeight.setDisabledTextColor(java.awt.SystemColor.controlText);
        jtf_GisViewerInitialHeight.setName("CD-ImageryViewerInitialSizeHeight"); // NOI18N
        jtf_GisViewerInitialHeight.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jtf_GisViewerInitialHeight.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel26.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        jLabel26.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel26.setText("height");

        jtf_GisViewerInitialWidth.setDisabledTextColor(java.awt.SystemColor.controlText);
        jtf_GisViewerInitialWidth.setName("CD-ImageryViewerInitialSizeWidth"); // NOI18N
        jtf_GisViewerInitialWidth.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jtf_GisViewerInitialWidth.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel25.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        jLabel25.setText("Initial imagery viewer size (pixels):       width");
        jLabel25.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);

        jsImageryZoom.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        jsImageryZoom.setModel(new javax.swing.SpinnerNumberModel(0, 0, 100, 1));
        jsImageryZoom.setName("CD-ImageryViewerInitialZoom"); // NOI18N
        jsImageryZoom.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                jsImageryZoomStateChanged(evt);
            }
        });
        jsImageryZoom.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        jLabel8.setText("%");

        jLabel2.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        jLabel2.setText("Initial imagery zoom level");
        jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);

        jLabel30.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        jLabel30.setText("Viewer tile cache size (in tiles):");
        jLabel30.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);

        jtf_GisViewerTileCacheSize.setDisabledTextColor(java.awt.SystemColor.controlText);
        jtf_GisViewerTileCacheSize.setName("CD-GeotoolsTileExtentCount"); // NOI18N
        jtf_GisViewerTileCacheSize.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jtf_GisViewerTileCacheSize.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_GisViewerLayout = new javax.swing.GroupLayout(JP_GisViewer);
        JP_GisViewer.setLayout(JP_GisViewerLayout);
        JP_GisViewerLayout.setHorizontalGroup(
            JP_GisViewerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisViewerLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_GisViewerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_GisViewerLayout.createSequentialGroup()
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jsImageryZoom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel8))
                    .addGroup(JP_GisViewerLayout.createSequentialGroup()
                        .addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jtf_GisViewerInitialWidth, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(28, 28, 28)
                        .addComponent(jLabel26, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jtf_GisViewerInitialHeight, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_GisViewerLayout.createSequentialGroup()
                        .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jtf_GisViewerTileCacheSize, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(404, Short.MAX_VALUE))
        );
        JP_GisViewerLayout.setVerticalGroup(
            JP_GisViewerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisViewerLayout.createSequentialGroup()
                .addGap(0, 0, 0)
                .addGroup(JP_GisViewerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jsImageryZoom, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel8))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_GisViewerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jtf_GisViewerInitialWidth, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jtf_GisViewerInitialHeight, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel26))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_GisViewerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jtf_GisViewerTileCacheSize, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(33, Short.MAX_VALUE))
        );

        JB_gisDataFile.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_gisDataFile.setToolTipText("ConfigPanel:opDefnButton");
        JB_gisDataFile.setName("CD-gis.data"); // NOI18N
        JB_gisDataFile.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_gisDataFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_GisMainLayout = new javax.swing.GroupLayout(JP_GisMain);
        JP_GisMain.setLayout(JP_GisMainLayout);
        JP_GisMainLayout.setHorizontalGroup(
            JP_GisMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisMainLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_GisMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_GisMainLayout.createSequentialGroup()
                        .addComponent(gisDataLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(gisData, javax.swing.GroupLayout.PREFERRED_SIZE, 765, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JB_gisDataFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 15, Short.MAX_VALUE))
                    .addComponent(JP_GisViewer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        JP_GisMainLayout.setVerticalGroup(
            JP_GisMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisMainLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_GisMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(JP_GisMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(gisDataLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(gisData, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_gisDataFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(JP_GisViewer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        JTP_Gis.addTab("main", JP_GisMain);

        JP_cachedsoil.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_cachedsoil.setName("CD-imageryCachedSoilLayerEnabled"); // NOI18N

        jLabel76.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel76.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel76.setText("cached soil dat");
        jLabel76.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible.setText("visible");
        JXB_cachedsoilVisible.setIconTextGap(2);
        JXB_cachedsoilVisible.setName("CD-imageryCachedSoilLayerVisible"); // NOI18N
        JXB_cachedsoilVisible.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_cachedsoilLayout = new javax.swing.GroupLayout(JP_cachedsoil);
        JP_cachedsoil.setLayout(JP_cachedsoilLayout);
        JP_cachedsoilLayout.setHorizontalGroup(
            JP_cachedsoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_cachedsoilLayout.createSequentialGroup()
                .addComponent(jLabel76, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_cachedsoilLayout.setVerticalGroup(
            JP_cachedsoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_cachedsoilLayout.createSequentialGroup()
                .addGroup(JP_cachedsoilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel76)
                    .addComponent(JXB_cachedsoilVisible))
                .addGap(1, 1, 1))
        );

        JP_cachedprism.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_cachedprism.setName("CD-imageryCachedPrismLayerEnabled"); // NOI18N

        jLabel78.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel78.setText("cached prism data");
        jLabel78.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedprismVisible.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedprismVisible.setText("visible");
        JXB_cachedprismVisible.setIconTextGap(2);
        JXB_cachedprismVisible.setName("CD-imageryCachedPrismLayerVisible"); // NOI18N
        JXB_cachedprismVisible.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_cachedprismLayout = new javax.swing.GroupLayout(JP_cachedprism);
        JP_cachedprism.setLayout(JP_cachedprismLayout);
        JP_cachedprismLayout.setHorizontalGroup(
            JP_cachedprismLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_cachedprismLayout.createSequentialGroup()
                .addComponent(jLabel78, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedprismVisible, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_cachedprismLayout.setVerticalGroup(
            JP_cachedprismLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_cachedprismLayout.createSequentialGroup()
                .addGroup(JP_cachedprismLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel78)
                    .addComponent(JXB_cachedprismVisible))
                .addGap(1, 1, 1))
        );

        JP_chinaprov.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_chinaprov.setName("CD-imageryChinaProvLayerEnabled"); // NOI18N
        JP_chinaprov.setOpaque(false);
        JP_chinaprov.setPreferredSize(new java.awt.Dimension(430, 24));

        jLabel86.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel86.setText("China provinces");
        jLabel86.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_chinaprovincesVisible.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_chinaprovincesVisible.setText("visible");
        JXB_chinaprovincesVisible.setIconTextGap(2);
        JXB_chinaprovincesVisible.setName("CD-imageryChinaProvLayerVisible"); // NOI18N
        JXB_chinaprovincesVisible.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_chinaprovincesOpacity.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_chinaprovincesOpacity.setText("1.0");
        JT_chinaprovincesOpacity.setName("CD-imageryChinaProvLayerOpacity"); // NOI18N
        JT_chinaprovincesOpacity.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_chinaprovincesOpacity.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel85.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel85.setText("opacity");

        JBGP_layersmodechina.add(JB_cachedsoilOutline);
        JB_cachedsoilOutline.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JB_cachedsoilOutline.setSelected(true);
        JB_cachedsoilOutline.setText("outline");
        JB_cachedsoilOutline.setIconTextGap(2);
        JB_cachedsoilOutline.setName("CD-imageryChinaProvLayerMode:outline"); // NOI18N
        JB_cachedsoilOutline.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JBGP_layersmodechina.add(JB_cachedsoilFill);
        JB_cachedsoilFill.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JB_cachedsoilFill.setText("fill");
        JB_cachedsoilFill.setIconTextGap(2);
        JB_cachedsoilFill.setName("CD-imageryChinaProvLayerMode:fill"); // NOI18N
        JB_cachedsoilFill.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_chinaprovLayout = new javax.swing.GroupLayout(JP_chinaprov);
        JP_chinaprov.setLayout(JP_chinaprovLayout);
        JP_chinaprovLayout.setHorizontalGroup(
            JP_chinaprovLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_chinaprovLayout.createSequentialGroup()
                .addComponent(jLabel86, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_chinaprovincesVisible, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_chinaprovincesOpacity, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel85, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(6, 6, 6)
                .addComponent(JB_cachedsoilOutline, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JB_cachedsoilFill, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        JP_chinaprovLayout.setVerticalGroup(
            JP_chinaprovLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_chinaprovLayout.createSequentialGroup()
                .addGroup(JP_chinaprovLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel86)
                    .addComponent(JXB_chinaprovincesVisible)
                    .addComponent(JT_chinaprovincesOpacity, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel85)
                    .addComponent(JB_cachedsoilOutline)
                    .addComponent(JB_cachedsoilFill))
                .addGap(1, 1, 1))
        );

        JP_windgentri.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_windgentri.setName("CD-wingenTriangulationLayerEnabled"); // NOI18N

        jLabel88.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel88.setText("windgen triangulation");
        jLabel88.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_windgentriVisible.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_windgentriVisible.setText("visible");
        JXB_windgentriVisible.setIconTextGap(2);
        JXB_windgentriVisible.setName("CD-wingenTriangulationLayerVisible"); // NOI18N
        JXB_windgentriVisible.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_windgentriLayout = new javax.swing.GroupLayout(JP_windgentri);
        JP_windgentri.setLayout(JP_windgentriLayout);
        JP_windgentriLayout.setHorizontalGroup(
            JP_windgentriLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_windgentriLayout.createSequentialGroup()
                .addComponent(jLabel88, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_windgentriVisible, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_windgentriLayout.setVerticalGroup(
            JP_windgentriLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_windgentriLayout.createSequentialGroup()
                .addGroup(JP_windgentriLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel88)
                    .addComponent(JXB_windgentriVisible))
                .addGap(1, 1, 1))
        );

        JP_windgenreflect.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_windgenreflect.setName("CD-wingenReflectedLayerEnabled"); // NOI18N

        jLabel89.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel89.setText("windgen reflected");
        jLabel89.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_windreflect.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_windreflect.setText("visible");
        JXB_windreflect.setIconTextGap(2);
        JXB_windreflect.setName("CD-wingenReflectedLayerVisible"); // NOI18N
        JXB_windreflect.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_windgenreflectLayout = new javax.swing.GroupLayout(JP_windgenreflect);
        JP_windgenreflect.setLayout(JP_windgenreflectLayout);
        JP_windgenreflectLayout.setHorizontalGroup(
            JP_windgenreflectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_windgenreflectLayout.createSequentialGroup()
                .addComponent(jLabel89, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_windreflect, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_windgenreflectLayout.setVerticalGroup(
            JP_windgenreflectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_windgenreflectLayout.createSequentialGroup()
                .addGroup(JP_windgenreflectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel89)
                    .addComponent(JXB_windreflect))
                .addGap(1, 1, 1))
        );

        JP_windgeninterp.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_windgeninterp.setName("CD-wingenBoundaryLayerEnabled"); // NOI18N

        jLabel83.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel83.setText("windgen interp bound");
        jLabel83.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible8.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible8.setText("visible");
        JXB_cachedsoilVisible8.setIconTextGap(2);
        JXB_cachedsoilVisible8.setName("CD-wingenBoundaryLayerVisible"); // NOI18N
        JXB_cachedsoilVisible8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_windgeninterpLayout = new javax.swing.GroupLayout(JP_windgeninterp);
        JP_windgeninterp.setLayout(JP_windgeninterpLayout);
        JP_windgeninterpLayout.setHorizontalGroup(
            JP_windgeninterpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_windgeninterpLayout.createSequentialGroup()
                .addComponent(jLabel83, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible8, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_windgeninterpLayout.setVerticalGroup(
            JP_windgeninterpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_windgeninterpLayout.createSequentialGroup()
                .addGroup(JP_windgeninterpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel83)
                    .addComponent(JXB_cachedsoilVisible8))
                .addGap(1, 1, 1))
        );

        JP_windgenpolygon.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_windgenpolygon.setName("CD-wingenRegionsLayerEnabled"); // NOI18N

        jLabel84.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel84.setText("windgen polygons");
        jLabel84.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible9.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible9.setText("visible");
        JXB_cachedsoilVisible9.setIconTextGap(2);
        JXB_cachedsoilVisible9.setName("CD-wingenRegionsLayerVisible"); // NOI18N
        JXB_cachedsoilVisible9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_windgenpolygonLayout = new javax.swing.GroupLayout(JP_windgenpolygon);
        JP_windgenpolygon.setLayout(JP_windgenpolygonLayout);
        JP_windgenpolygonLayout.setHorizontalGroup(
            JP_windgenpolygonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_windgenpolygonLayout.createSequentialGroup()
                .addComponent(jLabel84, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible9, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_windgenpolygonLayout.setVerticalGroup(
            JP_windgenpolygonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_windgenpolygonLayout.createSequentialGroup()
                .addGroup(JP_windgenpolygonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel84)
                    .addComponent(JXB_cachedsoilVisible9))
                .addGap(1, 1, 1))
        );

        JP_windgensta.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_windgensta.setName("CD-wingenStationsLayerEnabled"); // NOI18N
        JP_windgensta.setPreferredSize(new java.awt.Dimension(430, 24));

        jLabel87.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel87.setText("windgen stations");
        jLabel87.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible10.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible10.setText("visible");
        JXB_cachedsoilVisible10.setIconTextGap(2);
        JXB_cachedsoilVisible10.setName("CD-wingenStationsLayerVisible"); // NOI18N
        JXB_cachedsoilVisible10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_windgenstaLayout = new javax.swing.GroupLayout(JP_windgensta);
        JP_windgensta.setLayout(JP_windgenstaLayout);
        JP_windgenstaLayout.setHorizontalGroup(
            JP_windgenstaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_windgenstaLayout.createSequentialGroup()
                .addComponent(jLabel87, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible10, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(235, Short.MAX_VALUE))
        );
        JP_windgenstaLayout.setVerticalGroup(
            JP_windgenstaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_windgenstaLayout.createSequentialGroup()
                .addGroup(JP_windgenstaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel87)
                    .addComponent(JXB_cachedsoilVisible10))
                .addGap(1, 1, 1))
        );

        JP_cligenbound.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_cligenbound.setName("CD-cligenBoundaryLayerEnabled"); // NOI18N

        jLabel90.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel90.setText("cligen boundary");
        jLabel90.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible11.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible11.setText("visible");
        JXB_cachedsoilVisible11.setIconTextGap(2);
        JXB_cachedsoilVisible11.setName("CD-cligenBoundaryLayerVisible"); // NOI18N
        JXB_cachedsoilVisible11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_cligenboundLayout = new javax.swing.GroupLayout(JP_cligenbound);
        JP_cligenbound.setLayout(JP_cligenboundLayout);
        JP_cligenboundLayout.setHorizontalGroup(
            JP_cligenboundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_cligenboundLayout.createSequentialGroup()
                .addComponent(jLabel90, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible11, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_cligenboundLayout.setVerticalGroup(
            JP_cligenboundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_cligenboundLayout.createSequentialGroup()
                .addGroup(JP_cligenboundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel90)
                    .addComponent(JXB_cachedsoilVisible11))
                .addGap(1, 1, 1))
        );

        JP_cligenregion.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_cligenregion.setName("CD-cligenRegionsLayerEnabled"); // NOI18N

        jLabel92.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel92.setText("cligen regions");
        jLabel92.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible12.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible12.setText("visible");
        JXB_cachedsoilVisible12.setIconTextGap(2);
        JXB_cachedsoilVisible12.setName("CD-cligenRegionsLayerVisible"); // NOI18N
        JXB_cachedsoilVisible12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_cligenregionLayout = new javax.swing.GroupLayout(JP_cligenregion);
        JP_cligenregion.setLayout(JP_cligenregionLayout);
        JP_cligenregionLayout.setHorizontalGroup(
            JP_cligenregionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_cligenregionLayout.createSequentialGroup()
                .addComponent(jLabel92, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible12, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_cligenregionLayout.setVerticalGroup(
            JP_cligenregionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_cligenregionLayout.createSequentialGroup()
                .addGroup(JP_cligenregionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel92)
                    .addComponent(JXB_cachedsoilVisible12))
                .addGap(1, 1, 1))
        );

        JP_cligenstations.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_cligenstations.setName("CD-clienStationsLayerEnabled"); // NOI18N

        jLabel93.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel93.setText("cligen stations");
        jLabel93.setToolTipText("");
        jLabel93.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible13.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible13.setText("visible");
        JXB_cachedsoilVisible13.setIconTextGap(2);
        JXB_cachedsoilVisible13.setName("CD-clienStationsLayerVisible"); // NOI18N
        JXB_cachedsoilVisible13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_cligenstationsLayout = new javax.swing.GroupLayout(JP_cligenstations);
        JP_cligenstations.setLayout(JP_cligenstationsLayout);
        JP_cligenstationsLayout.setHorizontalGroup(
            JP_cligenstationsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_cligenstationsLayout.createSequentialGroup()
                .addComponent(jLabel93, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible13, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_cligenstationsLayout.setVerticalGroup(
            JP_cligenstationsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_cligenstationsLayout.createSequentialGroup()
                .addGroup(JP_cligenstationsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel93)
                    .addComponent(JXB_cachedsoilVisible13))
                .addGap(1, 1, 1))
        );

        JP_cmz.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_cmz.setName("CD-cmzLayerEnabled"); // NOI18N

        jLabel94.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel94.setText("CMZ regions");
        jLabel94.setToolTipText("");
        jLabel94.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible14.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible14.setText("visible");
        JXB_cachedsoilVisible14.setIconTextGap(2);
        JXB_cachedsoilVisible14.setName("CD-cmzLayerVisible"); // NOI18N
        JXB_cachedsoilVisible14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_cmzLayout = new javax.swing.GroupLayout(JP_cmz);
        JP_cmz.setLayout(JP_cmzLayout);
        JP_cmzLayout.setHorizontalGroup(
            JP_cmzLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_cmzLayout.createSequentialGroup()
                .addComponent(jLabel94, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible14, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_cmzLayout.setVerticalGroup(
            JP_cmzLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_cmzLayout.createSequentialGroup()
                .addGroup(JP_cmzLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel94)
                    .addComponent(JXB_cachedsoilVisible14))
                .addGap(1, 1, 1))
        );

        JP_uscounties.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_uscounties.setName("CD-imageryCountiesLayerEnabled"); // NOI18N

        jLabel91.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel91.setText("US counties");
        jLabel91.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible15.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible15.setText("visible");
        JXB_cachedsoilVisible15.setIconTextGap(2);
        JXB_cachedsoilVisible15.setName("CD-imageryCountiesLayerVisible"); // NOI18N
        JXB_cachedsoilVisible15.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_uscountiesLayout = new javax.swing.GroupLayout(JP_uscounties);
        JP_uscounties.setLayout(JP_uscountiesLayout);
        JP_uscountiesLayout.setHorizontalGroup(
            JP_uscountiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_uscountiesLayout.createSequentialGroup()
                .addComponent(jLabel91, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible15, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
        );
        JP_uscountiesLayout.setVerticalGroup(
            JP_uscountiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_uscountiesLayout.createSequentialGroup()
                .addGroup(JP_uscountiesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel91)
                    .addComponent(JXB_cachedsoilVisible15))
                .addGap(1, 1, 1))
        );

        JP_usStates.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_usStates.setName("CD-imageryUsStatesLayerEnabled"); // NOI18N
        JP_usStates.setPreferredSize(new java.awt.Dimension(430, 24));

        jLabel96.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel96.setText("US states");
        jLabel96.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible16.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible16.setText("visible");
        JXB_cachedsoilVisible16.setIconTextGap(2);
        JXB_cachedsoilVisible16.setName("CD-imageryUsStatesLayerVisible"); // NOI18N
        JXB_cachedsoilVisible16.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity9.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity9.setText("1.0");
        JT_cachedsoilOpacity9.setName("CD-imageryUsStatesLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity9.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel97.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel97.setText("opacity");

        JBGP_usStates.add(JB_cachedsoilOutline9);
        JB_cachedsoilOutline9.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JB_cachedsoilOutline9.setSelected(true);
        JB_cachedsoilOutline9.setText("outline");
        JB_cachedsoilOutline9.setIconTextGap(2);
        JB_cachedsoilOutline9.setName("CD-imageryUsStatesLayerMode:outline"); // NOI18N
        JB_cachedsoilOutline9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JBGP_usStates.add(JB_cachedsoilFill9);
        JB_cachedsoilFill9.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JB_cachedsoilFill9.setText("fill");
        JB_cachedsoilFill9.setIconTextGap(2);
        JB_cachedsoilFill9.setName("CD-imageryUsStatesLayerMode:fill"); // NOI18N
        JB_cachedsoilFill9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_usStatesLayout = new javax.swing.GroupLayout(JP_usStates);
        JP_usStates.setLayout(JP_usStatesLayout);
        JP_usStatesLayout.setHorizontalGroup(
            JP_usStatesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_usStatesLayout.createSequentialGroup()
                .addComponent(jLabel96, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible16, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity9, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel97, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(6, 6, 6)
                .addComponent(JB_cachedsoilOutline9, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JB_cachedsoilFill9, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        JP_usStatesLayout.setVerticalGroup(
            JP_usStatesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_usStatesLayout.createSequentialGroup()
                .addGroup(JP_usStatesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel96)
                    .addComponent(JXB_cachedsoilVisible16)
                    .addComponent(JT_cachedsoilOpacity9, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel97)
                    .addComponent(JB_cachedsoilOutline9)
                    .addComponent(JB_cachedsoilFill9))
                .addGap(1, 1, 1))
        );

        JP_worldborders.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_worldborders.setName("CD-imageryWorldBordersLayerEnabled"); // NOI18N
        JP_worldborders.setPreferredSize(new java.awt.Dimension(430, 24));

        jLabel95.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel95.setText("world borders");
        jLabel95.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible17.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible17.setText("visible");
        JXB_cachedsoilVisible17.setIconTextGap(2);
        JXB_cachedsoilVisible17.setName("CD-imageryWorldBordersLayerVisible"); // NOI18N
        JXB_cachedsoilVisible17.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity8.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity8.setText("1.0");
        JT_cachedsoilOpacity8.setName("CD-imageryWorldBordersLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity8.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel98.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel98.setText("opacity");

        JBGP_worldborders.add(JB_cachedsoilOutline8);
        JB_cachedsoilOutline8.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JB_cachedsoilOutline8.setText("outline");
        JB_cachedsoilOutline8.setIconTextGap(2);
        JB_cachedsoilOutline8.setName("CD-imageryWorldBordersLayerMode:outline"); // NOI18N
        JB_cachedsoilOutline8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JBGP_worldborders.add(JB_cachedsoilFill8);
        JB_cachedsoilFill8.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JB_cachedsoilFill8.setText("fill");
        JB_cachedsoilFill8.setIconTextGap(2);
        JB_cachedsoilFill8.setName("CD-imageryWorldBordersLayerMode:fill"); // NOI18N
        JB_cachedsoilFill8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_worldbordersLayout = new javax.swing.GroupLayout(JP_worldborders);
        JP_worldborders.setLayout(JP_worldbordersLayout);
        JP_worldbordersLayout.setHorizontalGroup(
            JP_worldbordersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_worldbordersLayout.createSequentialGroup()
                .addComponent(jLabel95, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible17, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity8, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel98, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(6, 6, 6)
                .addComponent(JB_cachedsoilOutline8, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JB_cachedsoilFill8, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        JP_worldbordersLayout.setVerticalGroup(
            JP_worldbordersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_worldbordersLayout.createSequentialGroup()
                .addGroup(JP_worldbordersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel95)
                    .addComponent(JXB_cachedsoilVisible17)
                    .addComponent(JT_cachedsoilOpacity8, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel98)
                    .addComponent(JB_cachedsoilOutline8)
                    .addComponent(JB_cachedsoilFill8))
                .addGap(1, 1, 1))
        );

        JP_arcgisStreetsOverlay.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_arcgisStreetsOverlay.setName("CD-transportOvlArcgisLayerEnabled"); // NOI18N

        jLabel107.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel107.setText("streets Overlay ArcGIS");
        jLabel107.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible22.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible22.setText("visible");
        JXB_cachedsoilVisible22.setIconTextGap(2);
        JXB_cachedsoilVisible22.setName("CD-transportOvlArcgisLayerVisible"); // NOI18N
        JXB_cachedsoilVisible22.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity14.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity14.setText("1.0");
        JT_cachedsoilOpacity14.setName("CD-transportOvlArcgisLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity14.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel108.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel108.setText("opacity");

        javax.swing.GroupLayout JP_arcgisStreetsOverlayLayout = new javax.swing.GroupLayout(JP_arcgisStreetsOverlay);
        JP_arcgisStreetsOverlay.setLayout(JP_arcgisStreetsOverlayLayout);
        JP_arcgisStreetsOverlayLayout.setHorizontalGroup(
            JP_arcgisStreetsOverlayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_arcgisStreetsOverlayLayout.createSequentialGroup()
                .addComponent(jLabel107, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible22, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity14, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel108, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_arcgisStreetsOverlayLayout.setVerticalGroup(
            JP_arcgisStreetsOverlayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_arcgisStreetsOverlayLayout.createSequentialGroup()
                .addGroup(JP_arcgisStreetsOverlayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel107)
                    .addComponent(JXB_cachedsoilVisible22)
                    .addComponent(JT_cachedsoilOpacity14, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel108))
                .addGap(1, 1, 1))
        );

        JP_arcgisStreets.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_arcgisStreets.setName("CD-streetsArcgisLayerEnabled"); // NOI18N

        jLabel99.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel99.setText("streets ArcGIS");
        jLabel99.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible18.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible18.setText("visible");
        JXB_cachedsoilVisible18.setIconTextGap(2);
        JXB_cachedsoilVisible18.setName("CD-streetsArcgisLayerVisible"); // NOI18N
        JXB_cachedsoilVisible18.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity10.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity10.setText("1.0");
        JT_cachedsoilOpacity10.setName("CD-streetsArcgisLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity10.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel100.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel100.setText("opacity");

        javax.swing.GroupLayout JP_arcgisStreetsLayout = new javax.swing.GroupLayout(JP_arcgisStreets);
        JP_arcgisStreets.setLayout(JP_arcgisStreetsLayout);
        JP_arcgisStreetsLayout.setHorizontalGroup(
            JP_arcgisStreetsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_arcgisStreetsLayout.createSequentialGroup()
                .addComponent(jLabel99, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible18, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity10, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel100, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_arcgisStreetsLayout.setVerticalGroup(
            JP_arcgisStreetsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_arcgisStreetsLayout.createSequentialGroup()
                .addGroup(JP_arcgisStreetsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel99)
                    .addComponent(JXB_cachedsoilVisible18)
                    .addComponent(JT_cachedsoilOpacity10, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel100))
                .addGap(1, 1, 1))
        );

        JP_arcgistopo.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_arcgistopo.setName("CD-topoArcgisLayerEnabled"); // NOI18N

        jLabel101.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel101.setText("topo ArcGIS");
        jLabel101.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible19.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible19.setText("visible");
        JXB_cachedsoilVisible19.setIconTextGap(2);
        JXB_cachedsoilVisible19.setName("CD-topoArcgisLayerVisible"); // NOI18N
        JXB_cachedsoilVisible19.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity11.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity11.setText("1.0");
        JT_cachedsoilOpacity11.setName("CD-topoArcgisLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity11.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel102.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel102.setText("opacity");

        javax.swing.GroupLayout JP_arcgistopoLayout = new javax.swing.GroupLayout(JP_arcgistopo);
        JP_arcgistopo.setLayout(JP_arcgistopoLayout);
        JP_arcgistopoLayout.setHorizontalGroup(
            JP_arcgistopoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_arcgistopoLayout.createSequentialGroup()
                .addComponent(jLabel101, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible19, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity11, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel102, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_arcgistopoLayout.setVerticalGroup(
            JP_arcgistopoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_arcgistopoLayout.createSequentialGroup()
                .addGroup(JP_arcgistopoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel101)
                    .addComponent(JXB_cachedsoilVisible19)
                    .addComponent(JT_cachedsoilOpacity11, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel102))
                .addGap(1, 1, 1))
        );

        JP_arcgisHillshade.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_arcgisHillshade.setName("CD-imageryArcgisNatgeoLayerEnabled"); // NOI18N

        jLabel103.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel103.setText("hillshade ArcGIS");
        jLabel103.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible20.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible20.setText("visible");
        JXB_cachedsoilVisible20.setIconTextGap(2);
        JXB_cachedsoilVisible20.setName("CD-imageryArcgisNatgeoLayerVisible"); // NOI18N
        JXB_cachedsoilVisible20.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity12.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity12.setText("1.0");
        JT_cachedsoilOpacity12.setName("CD-imageryArcgisNatgeoLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity12.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel104.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel104.setText("opacity");

        javax.swing.GroupLayout JP_arcgisHillshadeLayout = new javax.swing.GroupLayout(JP_arcgisHillshade);
        JP_arcgisHillshade.setLayout(JP_arcgisHillshadeLayout);
        JP_arcgisHillshadeLayout.setHorizontalGroup(
            JP_arcgisHillshadeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_arcgisHillshadeLayout.createSequentialGroup()
                .addComponent(jLabel103, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible20, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity12, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel104, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_arcgisHillshadeLayout.setVerticalGroup(
            JP_arcgisHillshadeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_arcgisHillshadeLayout.createSequentialGroup()
                .addGroup(JP_arcgisHillshadeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel103)
                    .addComponent(JXB_cachedsoilVisible20)
                    .addComponent(JT_cachedsoilOpacity12, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel104))
                .addGap(1, 1, 1))
        );

        JP_arcgisImagery.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_arcgisImagery.setName("CD-imageryArcgisLayerEnabled"); // NOI18N

        jLabel105.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel105.setText("imagery ArcGIS");
        jLabel105.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible21.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible21.setText("visible");
        JXB_cachedsoilVisible21.setIconTextGap(2);
        JXB_cachedsoilVisible21.setName("CD-imageryArcgisLayerVisible"); // NOI18N
        JXB_cachedsoilVisible21.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity13.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity13.setText("1.0");
        JT_cachedsoilOpacity13.setName("CD-imageryArcgisLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity13.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel106.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel106.setText("opacity");

        javax.swing.GroupLayout JP_arcgisImageryLayout = new javax.swing.GroupLayout(JP_arcgisImagery);
        JP_arcgisImagery.setLayout(JP_arcgisImageryLayout);
        JP_arcgisImageryLayout.setHorizontalGroup(
            JP_arcgisImageryLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_arcgisImageryLayout.createSequentialGroup()
                .addComponent(jLabel105, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible21, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity13, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel106, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_arcgisImageryLayout.setVerticalGroup(
            JP_arcgisImageryLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_arcgisImageryLayout.createSequentialGroup()
                .addGroup(JP_arcgisImageryLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel105)
                    .addComponent(JXB_cachedsoilVisible21)
                    .addComponent(JT_cachedsoilOpacity13, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel106))
                .addGap(1, 1, 1))
        );

        JP_imageryNationalmap.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_imageryNationalmap.setName("CD-imageryNationalmapLayerEnabled"); // NOI18N

        jLabel82.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel82.setText("imagery Nationalmap");
        jLabel82.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible7.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible7.setText("visible");
        JXB_cachedsoilVisible7.setIconTextGap(2);
        JXB_cachedsoilVisible7.setName("CD-imageryNationalmapLayerVisible"); // NOI18N
        JXB_cachedsoilVisible7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity7.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity7.setText("1.0");
        JT_cachedsoilOpacity7.setName("CD-imageryNationalmapLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity7.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel81.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel81.setText("opacity");

        javax.swing.GroupLayout JP_imageryNationalmapLayout = new javax.swing.GroupLayout(JP_imageryNationalmap);
        JP_imageryNationalmap.setLayout(JP_imageryNationalmapLayout);
        JP_imageryNationalmapLayout.setHorizontalGroup(
            JP_imageryNationalmapLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_imageryNationalmapLayout.createSequentialGroup()
                .addComponent(jLabel82, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible7, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity7, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel81, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_imageryNationalmapLayout.setVerticalGroup(
            JP_imageryNationalmapLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_imageryNationalmapLayout.createSequentialGroup()
                .addGroup(JP_imageryNationalmapLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel82)
                    .addComponent(JXB_cachedsoilVisible7)
                    .addComponent(JT_cachedsoilOpacity7, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel81))
                .addGap(1, 1, 1))
        );

        JP_townshipRange.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
        JP_townshipRange.setName("CD-rangeTownshipLayerEnabled"); // NOI18N

        jLabel109.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel109.setText("township range");
        jLabel109.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 2, 1, 1));

        JXB_cachedsoilVisible23.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JXB_cachedsoilVisible23.setText("visible");
        JXB_cachedsoilVisible23.setIconTextGap(2);
        JXB_cachedsoilVisible23.setName("CD-rangeTownshipLayerVisible"); // NOI18N
        JXB_cachedsoilVisible23.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        JT_cachedsoilOpacity15.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        JT_cachedsoilOpacity15.setText("1.0");
        JT_cachedsoilOpacity15.setName("CD-rangeTownshipLayerOpacity"); // NOI18N
        JT_cachedsoilOpacity15.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                GisLayersFocusLost(evt);
            }
        });
        JT_cachedsoilOpacity15.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                GisLayersActionPerformed(evt);
            }
        });

        jLabel110.setFont(new java.awt.Font("Dialog", 0, 10)); // NOI18N
        jLabel110.setText("opacity");

        javax.swing.GroupLayout JP_townshipRangeLayout = new javax.swing.GroupLayout(JP_townshipRange);
        JP_townshipRange.setLayout(JP_townshipRangeLayout);
        JP_townshipRangeLayout.setHorizontalGroup(
            JP_townshipRangeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_townshipRangeLayout.createSequentialGroup()
                .addComponent(jLabel109, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JXB_cachedsoilVisible23, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JT_cachedsoilOpacity15, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jLabel110, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(139, 139, 139))
        );
        JP_townshipRangeLayout.setVerticalGroup(
            JP_townshipRangeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_townshipRangeLayout.createSequentialGroup()
                .addGroup(JP_townshipRangeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel109)
                    .addComponent(JXB_cachedsoilVisible23)
                    .addComponent(JT_cachedsoilOpacity15, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel110))
                .addGap(1, 1, 1))
        );

        javax.swing.GroupLayout JP_GisLayersLayout = new javax.swing.GroupLayout(JP_GisLayers);
        JP_GisLayers.setLayout(JP_GisLayersLayout);
        JP_GisLayersLayout.setHorizontalGroup(
            JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisLayersLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JP_cligenbound, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_windgensta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_windgeninterp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_windgenreflect, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_cachedsoil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_chinaprov, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_cachedprism, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_cmz, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_cligenregion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_cligenstations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_windgentri, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_windgenpolygon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 25, Short.MAX_VALUE)
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(JP_worldborders, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JP_usStates, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JP_townshipRange, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_uscounties, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(JP_arcgisHillshade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JP_arcgistopo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(JP_arcgisStreets, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JP_arcgisImagery, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JP_imageryNationalmap, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(JP_arcgisStreetsOverlay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32))
        );
        JP_GisLayersLayout.setVerticalGroup(
            JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisLayersLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JP_cachedsoil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_uscounties, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JP_cachedprism, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_usStates, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JP_chinaprov, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_worldborders, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JP_windgentri, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JP_townshipRange, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(JP_GisLayersLayout.createSequentialGroup()
                            .addComponent(JP_windgenreflect, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(JP_windgeninterp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(36, 36, 36)
                            .addComponent(JP_windgensta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(JP_cligenbound, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(JP_cligenregion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(JP_GisLayersLayout.createSequentialGroup()
                            .addComponent(JP_windgenpolygon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(93, 93, 93)))
                    .addGroup(JP_GisLayersLayout.createSequentialGroup()
                        .addComponent(JP_arcgisStreetsOverlay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_GisLayersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(JP_arcgisImagery, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(JP_GisLayersLayout.createSequentialGroup()
                                .addComponent(JP_arcgisStreets, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JP_arcgistopo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(JP_arcgisHillshade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(33, 33, 33)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JP_imageryNationalmap, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JP_cligenstations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JP_cmz, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(177, Short.MAX_VALUE))
        );

        JTP_Gis.addTab("layers", JP_GisLayers);

        javax.swing.GroupLayout JP_GisLayout = new javax.swing.GroupLayout(JP_Gis);
        JP_Gis.setLayout(JP_GisLayout);
        JP_GisLayout.setHorizontalGroup(
            JP_GisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JTP_Gis, javax.swing.GroupLayout.PREFERRED_SIZE, 923, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        JP_GisLayout.setVerticalGroup(
            JP_GisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_GisLayout.createSequentialGroup()
                .addComponent(JTP_Gis, javax.swing.GroupLayout.PREFERRED_SIZE, 575, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 31, Short.MAX_VALUE))
        );

        JTP_main.addTab("GIS", JP_Gis);

        JP_Reporting.setToolTipText("ConfigPanel:output");
        JP_Reporting.setPreferredSize(new java.awt.Dimension(960, 686));

        JLabel17.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel17.setText("Reporting period");
        JLabel17.setToolTipText("ConfigPanel:outputRepPer");
        JLabel17.setName("CD-output report frequency"); // NOI18N

        JLabel18.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel18.setText("Submodel Reports");
        JLabel18.setToolTipText("ConfigPanel:subReports");
        JLabel18.setName("CD-detailed hydro output;CD-detailed soil output;CD-detailed manage output;CD-detailed crop output;CD-detailed decomp output;CD-detailed erosion output;CD-debug hydro output;CD-debug soil output;CD-debug manage output;CD-debug crop output;CD-debug decomp output;CD-debug erosion output"); // NOI18N

        JLabel21.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JLabel21.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel21.setText("Hydrology");
        JLabel21.setToolTipText("ConfigPanel:outputHydro");
        JLabel21.setName("CD-detailed hydro output;CD-debug hydro output"); // NOI18N

        JLabel22.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JLabel22.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel22.setText("Soil");
        JLabel22.setToolTipText("ConfigPanel:outputSoil");
        JLabel22.setName("CD-detailed soil output;CD-debug soil output"); // NOI18N

        JLabel23.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JLabel23.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel23.setText("Management");
        JLabel23.setToolTipText("ConfigPanel:outputManage");
        JLabel23.setName("CD-detailed manage output;CD-debug manage output"); // NOI18N

        JLabel24.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JLabel24.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel24.setText("Crop");
        JLabel24.setToolTipText("ConfigPanel:outputCrop");
        JLabel24.setName("CD-detailed crop output;CD-debug crop output"); // NOI18N

        JLabel25.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JLabel25.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel25.setText("Decomposition");
        JLabel25.setToolTipText("ConfigPanel:outputDecomp");
        JLabel25.setName("CD-detailed decomp output;CD-debug decomp output"); // NOI18N

        JLabel26.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JLabel26.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel26.setText("Erosion");
        JLabel26.setToolTipText("ConfigPanel:outputErosion");
        JLabel26.setName("CD-detailed erosion output;CD-debug erosion output"); // NOI18N

        JLabel19.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel19.setText("Detail");
        JLabel19.setToolTipText("ConfigPanel:detailLevel");
        JLabel19.setName("CD-detailed hydro output;CD-detailed soil output;CD-detailed manage output;CD-detailed crop output;CD-detailed decomp output;CD-detailed erosion output"); // NOI18N

        JTF_detHydro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detHydro.setText("0");
        JTF_detHydro.setToolTipText("ConfigPanel:outputHydro");
        JTF_detHydro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detHydro.setName("CD-detailed hydro output"); // NOI18N
        JTF_detHydro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detHydro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detSoil.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detSoil.setText("0");
        JTF_detSoil.setToolTipText("ConfigPanel:outputSoil");
        JTF_detSoil.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detSoil.setName("CD-detailed soil output"); // NOI18N
        JTF_detSoil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detSoil.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detMan.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detMan.setText("0");
        JTF_detMan.setToolTipText("ConfigPanel:outputManage");
        JTF_detMan.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detMan.setName("CD-detailed manage output"); // NOI18N
        JTF_detMan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detMan.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detCrop.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detCrop.setText("0");
        JTF_detCrop.setToolTipText("ConfigPanel:outputCrop");
        JTF_detCrop.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detCrop.setName("CD-detailed crop output"); // NOI18N
        JTF_detCrop.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detCrop.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detDec.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detDec.setText("0");
        JTF_detDec.setToolTipText("ConfigPanel:outputDecomp");
        JTF_detDec.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detDec.setName("CD-detailed decomp output"); // NOI18N
        JTF_detDec.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detDec.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detEro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detEro.setText("0");
        JTF_detEro.setToolTipText("ConfigPanel:outputErosion");
        JTF_detEro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detEro.setName("CD-detailed erosion output"); // NOI18N
        JTF_detEro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detEro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugHydro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugHydro.setText("0");
        JTF_debugHydro.setToolTipText("ConfigPanel:outputHydroDebug\n");
        JTF_debugHydro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugHydro.setName("CD-debug hydro output"); // NOI18N
        JTF_debugHydro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugHydro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugSoil.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugSoil.setText("0");
        JTF_debugSoil.setToolTipText("ConfigPanel:outputSoilDebug");
        JTF_debugSoil.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugSoil.setName("CD-debug soil output"); // NOI18N
        JTF_debugSoil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugSoil.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugMan.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugMan.setText("0");
        JTF_debugMan.setToolTipText("ConfigPanel:outputManageDebug");
        JTF_debugMan.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugMan.setName("CD-debug manage output"); // NOI18N
        JTF_debugMan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugMan.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugCrop.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugCrop.setText("0");
        JTF_debugCrop.setToolTipText("ConfigPanel:outputCropDebug");
        JTF_debugCrop.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugCrop.setName("CD-debug crop output"); // NOI18N
        JTF_debugCrop.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugCrop.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugDec.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugDec.setText("0");
        JTF_debugDec.setToolTipText("ConfigPanel:outputDecompDebug");
        JTF_debugDec.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugDec.setName("CD-debug decomp output"); // NOI18N
        JTF_debugDec.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugDec.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugEro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugEro.setText("0");
        JTF_debugEro.setToolTipText("ConfigPanel:outputErosionDebug");
        JTF_debugEro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugEro.setName("CD-debug erosion output"); // NOI18N
        JTF_debugEro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugEro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel43.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel43.setText("Debug");
        JLabel43.setToolTipText("ConfigPanel:detailLevel");
        JLabel43.setName("CD-debug hydro output;CD-debug soil output;CD-debug manage output;CD-debug crop output;CD-debug decomp output;CD-debug erosion output"); // NOI18N

        JP_ReportingPeriod.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));

        JBGP_reportPeriod.add(JRB_1);
        JRB_1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JRB_1.setText("Daily");
        JRB_1.setToolTipText("ConfigPanel:outputRepPer");
        JRB_1.setActionCommand("E");
        JRB_1.setName("CD-output report frequency:1"); // NOI18N
        JRB_1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JP_ReportingPeriod.add(JRB_1);

        JBGP_reportPeriod.add(JRB_2);
        JRB_2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JRB_2.setText("Weekly");
        JRB_2.setToolTipText("ConfigPanel:outputRepPer");
        JRB_2.setActionCommand("N");
        JRB_2.setName("CD-output report frequency:2"); // NOI18N
        JRB_2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JP_ReportingPeriod.add(JRB_2);

        JBGP_reportPeriod.add(JRB_3);
        JRB_3.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JRB_3.setText("Bi-Weekly");
        JRB_3.setToolTipText("ConfigPanel:outputRepPer");
        JRB_3.setActionCommand("S");
        JRB_3.setName("CD-output report frequency:3"); // NOI18N
        JRB_3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JP_ReportingPeriod.add(JRB_3);

        JBGP_reportPeriod.add(JRB_4);
        JRB_4.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        JRB_4.setText("Monthly");
        JRB_4.setToolTipText("ConfigPanel:outputRepPer");
        JRB_4.setActionCommand("W");
        JRB_4.setName("CD-output report frequency:4"); // NOI18N
        JRB_4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JP_ReportingPeriod.add(JRB_4);

        jCheckBox5.setText("Confidence Interval");
        jCheckBox5.setName(ConfigData.ReportsConfidenceIntervalEnabled);
        jCheckBox5.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jCheckBox5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox6.setText("Crop Interval Period Detail");
        jCheckBox6.setName(ConfigData.ReportsCropIntPerDetEnabled);
        jCheckBox6.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jCheckBox6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox1.setSelected(ConfigData.getDefault().getReportVisibility("Rep-Run"));
        jCheckBox1.setText("Run Report");
        jCheckBox1.setName("Rep-Run"); // NOI18N
        jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox7.setSelected(ConfigData.getDefault().getReportVisibility("Rep-Man"));
        jCheckBox7.setText("Management Report");
        jCheckBox7.setName("Rep-Man"); // NOI18N
        jCheckBox7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox8.setSelected(ConfigData.getDefault().getReportVisibility("Rep-Crop"));
        jCheckBox8.setText("Crop Report");
        jCheckBox8.setName("Rep-Crop"); // NOI18N
        jCheckBox8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox9.setSelected(ConfigData.getDefault().getReportVisibility("Rep-CCr"));
        jCheckBox9.setText("Cover Crop Report");
        jCheckBox9.setName("Rep-CCr"); // NOI18N
        jCheckBox9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel7.setText("Buttons Visible:");

        jCheckBox10.setSelected(ConfigData.getDefault().getReportVisibility("Rep-CInt"));
        jCheckBox10.setText("Crop Interval Report");
        jCheckBox10.setName("Rep-CInt"); // NOI18N
        jCheckBox10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox11.setSelected(ConfigData.getDefault().getReportVisibility("Rep-STIR"));
        jCheckBox11.setText("STIR Report");
        jCheckBox11.setName("Rep-STIR"); // NOI18N
        jCheckBox11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox12.setSelected(ConfigData.getDefault().getReportVisibility("Rep-Det"));
        jCheckBox12.setText("Detail Report");
        jCheckBox12.setName("Rep-Det"); // NOI18N
        jCheckBox12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jCheckBox13.setSelected(ConfigData.getDefault().getReportVisibility("Rep-Conf"));
        jCheckBox13.setText("Confidence Interval Report");
        jCheckBox13.setName("Rep-Conf"); // NOI18N
        jCheckBox13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Report Configuration Settings/Files", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel63.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel63.setText("Report Image/Logo File");
        jLabel63.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel63.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel63.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel63.setPreferredSize(new java.awt.Dimension(150, 14));

        jLabel64.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel64.setText("Tabular Detail Report Filter");
        jLabel64.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel64.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel64.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel64.setPreferredSize(new java.awt.Dimension(150, 14));

        jTextField19.setName("CD-report file name"); // NOI18N
        jTextField19.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField19.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTextField20.setName("CD-detail table filter file"); // NOI18N
        jTextField20.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField20.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_reportFileName.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_reportFileName.setToolTipText("ConfigPanel:opDefnButton");
        JB_reportFileName.setName("CD-report file name"); // NOI18N
        JB_reportFileName.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_reportFileName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JB_detailFilters.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_detailFilters.setToolTipText("ConfigPanel:opDefnButton");
        JB_detailFilters.setName("CD-detail table filter file"); // NOI18N
        JB_detailFilters.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_detailFilters.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
        jPanel7.setLayout(jPanel7Layout);
        jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel63, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel64, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField19)
                    .addComponent(jTextField20, javax.swing.GroupLayout.DEFAULT_SIZE, 814, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JB_reportFileName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_detailFilters, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(51, 51, 51))
        );

        jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel63, jLabel64});

        jPanel7Layout.setVerticalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jTextField19)
                        .addComponent(jLabel63, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_reportFileName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jTextField20)
                        .addComponent(jLabel64, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(JB_detailFilters, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel7Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel63, jLabel64});

        jPanel7Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jTextField19, jTextField20});

        javax.swing.GroupLayout JP_ReportingLayout = new javax.swing.GroupLayout(JP_Reporting);
        JP_Reporting.setLayout(JP_ReportingLayout);
        JP_ReportingLayout.setHorizontalGroup(
            JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ReportingLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_ReportingLayout.createSequentialGroup()
                        .addComponent(JLabel17, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(4, 4, 4)
                        .addComponent(JP_ReportingPeriod, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(JP_ReportingLayout.createSequentialGroup()
                        .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_ReportingLayout.createSequentialGroup()
                                .addGap(15, 15, 15)
                                .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(JLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JLabel23, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JLabel22, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JLabel26, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addComponent(JLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JLabel19)
                            .addGroup(JP_ReportingLayout.createSequentialGroup()
                                .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(JTF_detEro, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_detDec, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_detCrop, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_detMan, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_detSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_detHydro, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(JTF_debugHydro, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_debugSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_debugMan, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_debugCrop, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_debugDec, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JTF_debugEro, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(JLabel43))))
                        .addGap(388, 388, 388))
                    .addGroup(JP_ReportingLayout.createSequentialGroup()
                        .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jCheckBox5)
                            .addComponent(jCheckBox6))
                        .addGap(0, 0, Short.MAX_VALUE))))
            .addGroup(JP_ReportingLayout.createSequentialGroup()
                .addGap(15, 15, 15)
                .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jCheckBox13)
                    .addComponent(jCheckBox12)
                    .addComponent(jCheckBox11)
                    .addComponent(jCheckBox10)
                    .addComponent(jCheckBox1)
                    .addComponent(jCheckBox7)
                    .addComponent(jCheckBox8)
                    .addComponent(jCheckBox9)
                    .addComponent(jLabel7))
                .addGap(0, 0, Short.MAX_VALUE))
            .addGroup(JP_ReportingLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        JP_ReportingLayout.setVerticalGroup(
            JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_ReportingLayout.createSequentialGroup()
                .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_ReportingLayout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addComponent(JLabel17, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(JP_ReportingLayout.createSequentialGroup()
                                    .addGroup(JP_ReportingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(JLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(JLabel19, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(JLabel43, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(1, 1, 1)
                                    .addComponent(JLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JLabel22, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JLabel23, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JLabel26, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(JP_ReportingLayout.createSequentialGroup()
                                    .addGap(20, 20, 20)
                                    .addComponent(JTF_detHydro, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JTF_detSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JTF_detMan, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JTF_detCrop, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JTF_detDec, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(1, 1, 1)
                                    .addComponent(JTF_detEro, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(JP_ReportingLayout.createSequentialGroup()
                                .addComponent(JTF_debugHydro, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(1, 1, 1)
                                .addComponent(JTF_debugSoil, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(1, 1, 1)
                                .addComponent(JTF_debugMan, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(1, 1, 1)
                                .addComponent(JTF_debugCrop, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(1, 1, 1)
                                .addComponent(JTF_debugDec, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(1, 1, 1)
                                .addComponent(JTF_debugEro, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(30, 30, 30)
                        .addComponent(jCheckBox5))
                    .addComponent(JP_ReportingPeriod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox8)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox9)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox10)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox11)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox12)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jCheckBox13)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, Short.MAX_VALUE))
        );

        JTP_main.addTab("Reporting", JP_Reporting);

        JP_Email.setToolTipText("ConfigPanel:email");
        JP_Email.setPreferredSize(new java.awt.Dimension(960, 686));

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Email Settings"));
        jPanel2.setName("CD-SenderEmail;CD-Dest_email;CD-Dest_bug_email"); // NOI18N

        JTF_emailSender.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailSender.setToolTipText("ConfigPanel:emailSender");
        JTF_emailSender.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailSender.setName("CD-SenderEmail"); // NOI18N
        JTF_emailSender.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_emailSender.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_emailWeps.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailWeps.setText("weps222@ars.usda.gov");
        JTF_emailWeps.setToolTipText("ConfigPanel:emailComments");
        JTF_emailWeps.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailWeps.setName("CD-Dest_email"); // NOI18N
        JTF_emailWeps.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_emailWeps.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_emailBugs.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailBugs.setText("weps@ars.usda.gov");
        JTF_emailBugs.setToolTipText("ConfigPanel:emailBugs");
        JTF_emailBugs.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailBugs.setName("CD-Dest_bug_email"); // NOI18N
        JTF_emailBugs.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_emailBugs.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel13.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel13.setText("Send From:");
        JLabel13.setToolTipText("ConfigPanel:emailSender");
        JLabel13.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        JLabel13.setName("CD-SenderEmail"); // NOI18N

        JLabel15.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel15.setText("Send Comments To:");
        JLabel15.setToolTipText("ConfigPanel:emailComments");
        JLabel15.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel15.setName("CD-Dest_bug_email"); // NOI18N

        JLabel16.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel16.setText("Send Bug Reports To:");
        JLabel16.setToolTipText("ConfigPanel:emailBugs");
        JLabel16.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel16.setName("CD-Dest_email"); // NOI18N

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(JLabel15, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel13, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(JLabel16, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
                .addGap(10, 10, 10)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JTF_emailBugs, javax.swing.GroupLayout.DEFAULT_SIZE, 907, Short.MAX_VALUE)
                    .addComponent(JTF_emailWeps)
                    .addComponent(JTF_emailSender, javax.swing.GroupLayout.Alignment.TRAILING))
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JTF_emailSender, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JTF_emailWeps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JLabel15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(3, 3, 3)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false)
                    .addComponent(JLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_emailBugs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("User Name"));
        jPanel3.setName("CD-UserName");

        JTF_mantisEmail.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisEmail.setToolTipText("ConfigPanel:mantisSender");
        JTF_mantisEmail.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisEmail.setName("CD-user.fullname");
        JTF_mantisEmail.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisEmail.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel14.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel14.setText("User Name");
        JLabel14.setToolTipText("ConfigPanel:username");
        JLabel14.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        JLabel14.setName("CD-user.fullname");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(10, 10, 10)
                .addComponent(JTF_mantisEmail)
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_mantisEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
        );

        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Mantis Settings"));
        jPanel4.setName("CD-SenderEmail;CD-Dest_email;CD-Dest_bug_email"); // NOI18N

        JTF_mantisEmail1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisEmail1.setToolTipText("ConfigPanel:mantisSender");
        JTF_mantisEmail1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisEmail1.setName("CD-MantisEmail"); // NOI18N
        JTF_mantisEmail1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisEmail1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_mantisURL1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisURL1.setText("https://infosys.ars.usda.gov/issues/api/soap/mantisconnect.php");
        JTF_mantisURL1.setToolTipText("ConfigPanel:mantisUrl");
        JTF_mantisURL1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisURL1.setName("CD-Mantis URL"); // NOI18N
        JTF_mantisURL1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisURL1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_mantisUserID1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisUserID1.setText("test");
        JTF_mantisUserID1.setToolTipText("ConfigPanel:mantisUser");
        JTF_mantisUserID1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisUserID1.setName("CD-Mantis user"); // NOI18N
        JTF_mantisUserID1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisUserID1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel29.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel29.setText("Your email:");
        JLabel29.setToolTipText("ConfigPanel:mantisSender");
        JLabel29.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        JLabel29.setName("CD-MantisEmail"); // NOI18N

        JLabel49.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel49.setText("Mantis user id:");
        JLabel49.setToolTipText("ConfigPanel:mantisUser");
        JLabel49.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel49.setName("CD-Mantis user"); // NOI18N

        JLabel50.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel50.setText("Mantis password:");
        JLabel50.setToolTipText("ConfigPanel:mantisPassword");
        JLabel50.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel50.setName("CD-Mantis password"); // NOI18N

        jLabel14.setText("Mantis URL:");
        jLabel14.setToolTipText("ConfigPanel:mantisUrl");
        jLabel14.setName("CD-Mantis URL"); // NOI18N

        JLabel51.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel51.setText("Mantis project:");
        JLabel51.setToolTipText("ConfigPanel:mantisProject");
        JLabel51.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel51.setName("CD-Mantis project"); // NOI18N

        JTF_mantisProject1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisProject1.setText("triage");
        JTF_mantisProject1.setToolTipText("ConfigPanel:mantisProject");
        JTF_mantisProject1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisProject1.setName("CD-Mantis project"); // NOI18N
        JTF_mantisProject1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisProject1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_mantisPassword1.setToolTipText("ConfigPanel:mantisPassword");
        JTF_mantisPassword1.setName("CD-Mantis password"); // NOI18N
        JTF_mantisPassword1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisPassword1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel29.setText("Mantis max zipped directory size (MB):");
        jLabel29.setName("CD-MantisMaxSize"); // NOI18N

        JTF_mantisMaxSize1.setName("CD-MantisMaxSize"); // NOI18N
        JTF_mantisMaxSize1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        JTF_mantisMaxSize1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_addDirectoryButton.setText("Show add directory button");
        JCB_addDirectoryButton.setName("CD-AddDirectoryButton"); // NOI18N
        JCB_addDirectoryButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JLabel49)
                            .addComponent(JLabel50, javax.swing.GroupLayout.PREFERRED_SIZE, 159, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(JLabel51)
                            .addComponent(JLabel29)
                            .addComponent(jLabel14))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(JTF_mantisURL1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 885, Short.MAX_VALUE)
                            .addComponent(JTF_mantisEmail1, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_mantisUserID1, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JTF_mantisPassword1)
                            .addComponent(JTF_mantisProject1, javax.swing.GroupLayout.Alignment.LEADING)))
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(JCB_addDirectoryButton, javax.swing.GroupLayout.PREFERRED_SIZE, 263, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(jLabel29)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JTF_mantisMaxSize1)))
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JCB_addDirectoryButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JTF_mantisEmail1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JLabel29, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JTF_mantisURL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel49, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_mantisUserID1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(6, 6, 6)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel50, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_mantisPassword1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JLabel51, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JTF_mantisProject1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(5, 5, 5)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel29)
                    .addComponent(JTF_mantisMaxSize1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        JTF_mantisMaxSize1.getAccessibleContext().setAccessibleDescription("ConfigPanel:mantisMaxSize");
        JCB_addDirectoryButton.getAccessibleContext().setAccessibleName("");
        JCB_addDirectoryButton.getAccessibleContext().setAccessibleDescription("ConfigPanel:addDirectoryButton");

        javax.swing.GroupLayout JP_EmailLayout = new javax.swing.GroupLayout(JP_Email);
        JP_Email.setLayout(JP_EmailLayout);
        JP_EmailLayout.setHorizontalGroup(
            JP_EmailLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_EmailLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_EmailLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        JP_EmailLayout.setVerticalGroup(
            JP_EmailLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_EmailLayout.createSequentialGroup()
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(150, Short.MAX_VALUE))
        );

        jPanel3.getAccessibleContext().setAccessibleName("");

        JTP_main.addTab("Email/Mantis", JP_Email);

        JP_Fuels.setPreferredSize(new java.awt.Dimension(960, 686));

        fuelLabel.setText("Fuels:");
        fuelLabel.setName("CD-fuel.database"); // NOI18N

        fuelFile.setName("CD-fuel.database"); // NOI18N
        fuelFile.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        fuelFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        fuelFileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        fuelFileButton.setToolTipText("ConfigPanel:cliGenExeButton");
        fuelFileButton.setName("CD-fuel.database"); // NOI18N
        fuelFileButton.setPreferredSize(new java.awt.Dimension(35, 19));
        fuelFileButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        fuelTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        jScrollPane1.setViewportView(fuelTable);

        userFuelFileLabel.setFont(userFuelFileLabel.getFont().deriveFont(userFuelFileLabel.getFont().getStyle() & ~java.awt.Font.BOLD));
        userFuelFileLabel.setText("Changes saved to:");

        userFuelFile.setFont(userFuelFile.getFont().deriveFont(userFuelFile.getFont().getStyle() & ~java.awt.Font.BOLD));
        userFuelFile.setText("path to user file");

        jLabel5.setText("Default:");
        jLabel5.setName("CD-fuel.default"); // NOI18N

        fuelDefaultChooser.setBackground(javax.swing.UIManager.getDefaults().getColor("white"));
        fuelDefaultChooser.setName("CD-fuel.default"); // NOI18N
        fuelDefaultChooser.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_FuelsLayout = new javax.swing.GroupLayout(JP_Fuels);
        JP_Fuels.setLayout(JP_FuelsLayout);
        JP_FuelsLayout.setHorizontalGroup(
            JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, JP_FuelsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 1092, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, JP_FuelsLayout.createSequentialGroup()
                        .addComponent(userFuelFileLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(userFuelFile, javax.swing.GroupLayout.DEFAULT_SIZE, 960, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, JP_FuelsLayout.createSequentialGroup()
                        .addGroup(JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(fuelLabel)
                            .addComponent(jLabel5))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(JP_FuelsLayout.createSequentialGroup()
                                .addComponent(fuelFile, javax.swing.GroupLayout.DEFAULT_SIZE, 982, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(fuelFileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(fuelDefaultChooser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
        );
        JP_FuelsLayout.setVerticalGroup(
            JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_FuelsLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(fuelFileButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(fuelFile, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(fuelLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(fuelDefaultChooser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(JP_FuelsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(userFuelFileLabel)
                    .addComponent(userFuelFile))
                .addContainerGap())
        );

        JP_FuelsLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {fuelFile, fuelFileButton});

        JTP_main.addTab("Fuels", JP_Fuels);

        JP_Barriers.setPreferredSize(new java.awt.Dimension(960, 686));

        jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Field Barriers", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel65.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel65.setText("Field Barriers File");
        jLabel65.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel65.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel65.setPreferredSize(new java.awt.Dimension(150, 14));

        jTextField21.setName("CD-barriers.file"); // NOI18N
        jTextField21.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField21.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_barriersFile.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_barriersFile.setToolTipText("");
        JB_barriersFile.setName("CD-barriers.file"); // NOI18N
        JB_barriersFile.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_barriersFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
        jPanel9.setLayout(jPanel9Layout);
        jPanel9Layout.setHorizontalGroup(
            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel9Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel65, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTextField21, javax.swing.GroupLayout.DEFAULT_SIZE, 847, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(JB_barriersFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(39, 39, 39))
        );
        jPanel9Layout.setVerticalGroup(
            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel9Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jTextField21)
                    .addComponent(jLabel65, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_barriersFile, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(34, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout JP_BarriersLayout = new javax.swing.GroupLayout(JP_Barriers);
        JP_Barriers.setLayout(JP_BarriersLayout);
        JP_BarriersLayout.setHorizontalGroup(
            JP_BarriersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_BarriersLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        JP_BarriersLayout.setVerticalGroup(
            JP_BarriersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_BarriersLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(499, Short.MAX_VALUE))
        );

        JTP_main.addTab("Barriers", JP_Barriers);

        JP_NRMV.setToolTipText("");
        JP_NRMV.setPreferredSize(new java.awt.Dimension(960, 686));

        JBGP_NRMV.add(JRB_NRMVSummaries);
        JRB_NRMVSummaries.setText("NRMV On with Summaries");
        JRB_NRMVSummaries.setName("CD-NRMV mode:summaries"); // NOI18N
        JRB_NRMVSummaries.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_NRMV.add(JRB_NRMVOn);
        JRB_NRMVOn.setText("NRMV On");
        JRB_NRMVOn.setName("CD-NRMV mode:on"); // NOI18N
        JRB_NRMVOn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_NRMV.add(JRB_NRMVOff);
        JRB_NRMVOff.setText("NRMV Off");
        JRB_NRMVOff.setName("CD-NRMV mode:off"); // NOI18N
        JRB_NRMVOff.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_decomp.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_decomp.setName("CD-visibility decomp"); // NOI18N
        JCB_decomp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel17.setText("dbelow");

        JCB_plot.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_plot.setName("CD-visibility plot"); // NOI18N
        JCB_plot.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel23.setText("shoot");

        JCB_season.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_season.setName("CD-visibility season"); // NOI18N
        JCB_season.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_crop.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_crop.setName("CD-visibility crop"); // NOI18N
        JCB_crop.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel16.setText("dabove");

        JCB_dabove.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_dabove.setName("CD-visibility dabove"); // NOI18N
        JCB_dabove.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel22.setText("season");

        JCB_shoot.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_shoot.setName("CD-visibility shoot"); // NOI18N
        JCB_shoot.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_hydro.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_hydro.setName("CD-visibility hydro"); // NOI18N
        JCB_hydro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_dbelow.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_dbelow.setName("CD-visibility dbelow"); // NOI18N
        JCB_dbelow.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_hlayers.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_hlayers.setName("CD-visibility hlayers"); // NOI18N
        JCB_hlayers.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel19.setText("hlayers");

        jLabel18.setText("decomp");

        jLabel21.setText("plot");

        JCB_soillay.setModel(new DefaultComboBoxModel<String>(visibilityOptions));
        JCB_soillay.setName("CD-visibility soillay"); // NOI18N
        JCB_soillay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel15.setText("crop");

        jLabel24.setText("soillay");

        jLabel20.setText("hydro");

        javax.swing.GroupLayout JP_NRMVLayout = new javax.swing.GroupLayout(JP_NRMV);
        JP_NRMV.setLayout(JP_NRMVLayout);
        JP_NRMVLayout.setHorizontalGroup(
            JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_NRMVLayout.createSequentialGroup()
                .addGap(46, 46, 46)
                .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(JRB_NRMVOff)
                    .addComponent(JRB_NRMVOn)
                    .addComponent(JRB_NRMVSummaries))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 646, Short.MAX_VALUE)
                .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel16)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_dabove, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel17)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_dbelow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel18)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_decomp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel19)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_hlayers, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel20)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_hydro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel21)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_plot, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel22)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_season, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel23)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_shoot, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel24)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_soillay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(jLabel15)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JCB_crop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(111, 111, 111))
        );
        JP_NRMVLayout.setVerticalGroup(
            JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_NRMVLayout.createSequentialGroup()
                .addGap(47, 47, 47)
                .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_crop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel15))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_dabove, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel16))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_dbelow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel17))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_decomp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel18))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_hlayers, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel19))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_hydro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel20))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_plot, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel21))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_season, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel22))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_shoot, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel23))
                        .addGap(1, 1, 1)
                        .addGroup(JP_NRMVLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(JCB_soillay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel24)))
                    .addGroup(JP_NRMVLayout.createSequentialGroup()
                        .addComponent(JRB_NRMVSummaries)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JRB_NRMVOn)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(JRB_NRMVOff)))
                .addContainerGap(280, Short.MAX_VALUE))
        );

        if(ConfigData.isNRMVVis())
        {
            JTP_main.addTab("NRMV", JP_NRMV);
        }

        JP_Mcrew.setPreferredSize(new java.awt.Dimension(960, 686));
        JP_Mcrew.setRequestFocusEnabled(false);

        jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "MCREW Configuration Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel59.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel59.setText("MCREW Cfg File");
        jLabel59.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel59.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel59.setPreferredSize(new java.awt.Dimension(150, 14));

        jTextField15.setName("CD-MCREW"); // NOI18N
        jTextField15.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField15.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel60.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel60.setText("MCREW Data Cfg File");
        jLabel60.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel60.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel60.setPreferredSize(new java.awt.Dimension(150, 14));

        jTextField16.setName("CD-mcrew data config file name"); // NOI18N
        jTextField16.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField16.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel61.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel61.setText("Mgt Conversion Folder");
        jLabel61.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel61.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel61.setPreferredSize(new java.awt.Dimension(150, 14));

        jLabel62.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel62.setText("Mgt Translation File");
        jLabel62.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel62.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel62.setPreferredSize(new java.awt.Dimension(150, 14));

        jTextField17.setName("CD-management skeleton"); // NOI18N
        jTextField17.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField17.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jTextField18.setName("CD-skel translations file"); // NOI18N
        jTextField18.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });
        jTextField18.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JB_skelTranslations.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_skelTranslations.setToolTipText("ConfigPanel:opDefnButton");
        JB_skelTranslations.setName("CD-skel translations file"); // NOI18N
        JB_skelTranslations.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_skelTranslations.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        manSkel_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        manSkel_Button.setToolTipText("ConfigPanel:manSkelButton");
        manSkel_Button.setName("CD-management skeleton"); // NOI18N
        manSkel_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        manSkel_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JB_mcrewDataConfig.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_mcrewDataConfig.setToolTipText("ConfigPanel:opDefnButton");
        JB_mcrewDataConfig.setName("CD-mcrew data config file name"); // NOI18N
        JB_mcrewDataConfig.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_mcrewDataConfig.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        mcrewDir_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        mcrewDir_Button.setToolTipText("ConfigPanel:mcrewDirButton");
        mcrewDir_Button.setName("CD-MCREW"); // NOI18N
        mcrewDir_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        mcrewDir_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel66.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel66.setText("Display Uncategorized Operation List");
        jLabel66.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel66.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel66.setPreferredSize(new java.awt.Dimension(150, 14));

        catBox.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        catBox.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        catBox.setName("CD-crlmod-opr-nocat"); // NOI18N
        catBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel67.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel67.setText("Use UPGM crop records and .manx ext");
        jLabel67.setMaximumSize(new java.awt.Dimension(150, 14));
        jLabel67.setMinimumSize(new java.awt.Dimension(150, 14));
        jLabel67.setPreferredSize(new java.awt.Dimension(150, 14));

        catBox1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        catBox1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        catBox1.setName("CD-upgm-manx");
        catBox1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel6Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel6Layout.createSequentialGroup()
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel60, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel59, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextField16)
                            .addComponent(jTextField15))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JB_mcrewDataConfig, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(mcrewDir_Button, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel6Layout.createSequentialGroup()
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel61, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel62, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextField17)
                            .addComponent(jTextField18))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(JB_skelTranslations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(manSkel_Button, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel6Layout.createSequentialGroup()
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabel66, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel67, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(catBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(catBox, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 766, Short.MAX_VALUE)))
                .addGap(38, 38, 38))
        );

        jPanel6Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel59, jLabel60, jLabel61, jLabel62});

        jPanel6Layout.setVerticalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel6Layout.createSequentialGroup()
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jTextField15)
                    .addComponent(jLabel59, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(mcrewDir_Button, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField16)
                    .addComponent(jLabel60, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_mcrewDataConfig, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jTextField17, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel61, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(manSkel_Button, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel62, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextField18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(JB_skelTranslations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel66, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(catBox, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel67, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(catBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jPanel6Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jLabel59, jLabel60, jLabel61, jLabel62});

        jPanel6Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jTextField15, jTextField16, jTextField17, jTextField18});

        manVersionBox.setSelected(true);
        manVersionBox.setText("Hide radio buttons and text for version control when saving mgt. file");
        manVersionBox.setToolTipText("Hide radio buttons and text for displaying/setting mgt version number when saving mgt. file.");
        manVersionBox.setActionCommand("");
        manVersionBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
        manVersionBox.setName("CD-mcrew-manverbuttonshide"); // NOI18N
        manVersionBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout JP_McrewLayout = new javax.swing.GroupLayout(JP_Mcrew);
        JP_Mcrew.setLayout(JP_McrewLayout);
        JP_McrewLayout.setHorizontalGroup(
            JP_McrewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_McrewLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(JP_McrewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(JP_McrewLayout.createSequentialGroup()
                        .addGap(40, 40, 40)
                        .addComponent(manVersionBox)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        JP_McrewLayout.setVerticalGroup(
            JP_McrewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(JP_McrewLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(manVersionBox)
                .addContainerGap(368, Short.MAX_VALUE))
        );

        JTP_main.addTab("MCREW", JP_Mcrew);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(JB_OK)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JB_Cancel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(JB_Help))
                    .addComponent(JTP_main, javax.swing.GroupLayout.PREFERRED_SIZE, 1124, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(24, Short.MAX_VALUE))
        );

        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {JB_Cancel, JB_Help, JB_OK});

        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(JTP_main, javax.swing.GroupLayout.PREFERRED_SIZE, 643, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JB_OK)
                    .addComponent(JB_Cancel)
                    .addComponent(JB_Help))
                .addContainerGap(42, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void save() {
        boolean hadShapeFiles = false;

        //send changes to the ConfigData
        for (java.util.Map.Entry<String, String> map : HT_changes.entrySet()) {
            if (ConfigData.GISData.equals(map.getKey())) {
                hadShapeFiles = true;
            }

            String key = map.getKey();
            String value = map.getValue();
            if (key != null) {
                System.out.println(key + " : " + value);
                changes.firePropertyChange(key, null, value);
            } else {
                System.out.println("Invalid entry in HT_changes");
            }
        }
        //save changes
        ConfigData.getDefault().save();
        
        // update WebStart CSIP runner
        Weps.getInstance().wsRunnerActivate(ConfigData.getDefault());

        //save fuel changes
        FuelDAO.getInstance().update(fuelTableModel.getFuels());

        try {
            TVFS.umount();
        } catch (FsSyncException ex) {
            logger.fatal("Unable to update config.", ex);

        }
        if (hadShapeFiles) {
            JOptionPane.showMessageDialog(null, "GIS shape file options have changed.\n"
                    + "Please restart WEPS for the changes to take effect.", "Restart Required",
                    JOptionPane.INFORMATION_MESSAGE);
        }
        setVisible(false);
        dispose();
    }

    private void globalFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_globalFocusLost
        if (evt.isTemporary()) {
            return;
        }
        Object o = evt.getSource();
        if (o instanceof JPasswordField) {
            JPasswordField jpf = (JPasswordField) evt.getSource();
            StringBuilder password = new StringBuilder();
            password.append(jpf.getPassword());

            if (checkNumericField(jpf)) {
                putChange(jpf.getName(), password.toString());
            }
        } else if (o instanceof MeasurableField) {
            @SuppressWarnings("unchecked")
            MeasurableField<Length> mf = (MeasurableField<Length>)o;
            Unit<Length> units = ConfigData.getDefault().getMeasureableUnit(mf.getName());

            if (units != null) {
                MeasureableConfigurationOption option
                        = ConfigData.getDefault().getMeasureableConfigurationOption(mf.getName());
                String value;
                if (option.isDouble()) {
                    value = Double.toString(mf.getValue().to(units).getValue().doubleValue());
                } else {
                    value = Long.toString(mf.getValue().to(units).getValue().longValue());
                }
                putChange(mf.getName(), value);
            } else {
                logger.warn("MeasureableConfigurationOption is not set for " + mf.getName());
            }

        } else if (o instanceof JTextField) {
            JTextField jtf = (JTextField) evt.getSource();
            if (checkNumericField(jtf)) {
                putChange(jtf.getName(), jtf.getText());
            }
        } else if (o instanceof AllowedStationModeChooser) {
            AllowedStationModeChooser chooser = (AllowedStationModeChooser) o;
            String name = chooser.getName();
            if (name.contentEquals(WindgenAllowedModes)) {
                putChange(WindgenAllowedModes, chooser.serializeAllowedModes());
                putChange(WindgenEnabledModes, chooser.serializeEnabledModes());
                putChange(WindgenDefaultMode, chooser.getDefaultMode());
            } else if (name.contentEquals(CligenAllowedModes)) {
                putChange(CligenAllowedModes, chooser.serializeAllowedModes());
                putChange(CligenEnabledModes, chooser.serializeEnabledModes());
                putChange(CligenDefaultMode, chooser.getDefaultMode());
            }
        }
        
        // If someone enters manually, un-select the buttons on the server page
        if (o.equals(JTF_wepsExe)) {
            JBGP_ScienceVers_Weps_Local.clearSelection();
        }
    }//GEN-LAST:event_globalFocusLost

    private void globalFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_globalFocusGained
        Object o = evt.getSource();
        if (o instanceof JTextField) {
            JTextField jtf = (JTextField) evt.getSource();
            jtf.select(0, 1000); // select all text -- 1000 is abitrarily large
        }
        //throw new UnsupportedOperationException("not impld yet");
    }//GEN-LAST:event_globalFocusGained

    private void globalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_globalActionPerformed
        JB_OK.setEnabled(true);
        Object o = evt.getSource();
        if (o instanceof JPasswordField) {
            JPasswordField jpf = (JPasswordField) evt.getSource();
            StringBuilder password = new StringBuilder();
            password.append(jpf.getPassword());

            if (checkNumericField(jpf)) {
                putChange(jpf.getName(), password.toString());
            }
        } else if (o instanceof MeasurableField) {
            @SuppressWarnings("unchecked")
            MeasurableField<Length> mf = (MeasurableField<Length>) o;
            Unit<Length> units = ConfigData.getDefault().getMeasureableUnit(mf.getName());

            if (units != null) {
                MeasureableConfigurationOption option
                        = ConfigData.getDefault().getMeasureableConfigurationOption(mf.getName());
                String value;
                if (option.isDouble()) {
                    value = Long.toString(mf.getValue().to(units).getValue().longValue());
                } else {
                    value = Long.toString(mf.getValue().to(units).getValue().longValue());
                }
                putChange(mf.getName(), value);
            } else {
                logger.warn("MeasureableConfigurationOption is not set for " + mf.getName());
            }
        } else if (o instanceof JTextField) {
            JTextField jtf = (JTextField) evt.getSource();
            if (checkNumericField(jtf)) {
                putChange(jtf.getName(), jtf.getText());
            }
        } else if (o instanceof JCheckBox) {
            JCheckBox jxb = (JCheckBox) o;
            putChange(jxb.getName(), jxb.isSelected() ? "1" : "0");
        } else if (o instanceof FuelChooser) {
            FuelChooser chooser = (FuelChooser) o;
            Fuel fuel = chooser.getSelectedFuel();
            if (fuel != null) {
                putChange(chooser.getName(), fuel.getName());
            } else {
                putChange(chooser.getName(), "");
            }
        } else if (o instanceof JComboBox) {
            JComboBox<?> js = (JComboBox) o;
            String value = optionsDateFormat.get(js.getSelectedItem().toString());
            if (value == null) {
                value = js.getSelectedItem().toString();
            }
            putChange(js.getName(), "" + value);
        } else if (o instanceof JRadioButton) {
            JRadioButton jrb = (JRadioButton) o;
            hideOldMan(jrb);
            if (jrb.isSelected()) {
                String name = jrb.getName();
                String property = name.substring(0, name.indexOf(":"));
                String value = name.substring(name.indexOf(":") + 1, name.length());
                putChange(property, value);
            }
        } else if (o instanceof AllowedStationModeChooser) {
            AllowedStationModeChooser chooser = (AllowedStationModeChooser) o;
            String name = chooser.getName();
            if (name.contentEquals(WindgenAllowedModes)) {
                putChange(WindgenAllowedModes, chooser.serializeAllowedModes());
                putChange(WindgenEnabledModes, chooser.serializeEnabledModes());
                putChange(WindgenDefaultMode, chooser.getDefaultMode());
            } else if (name.contentEquals(CligenAllowedModes)) {
                putChange(CligenAllowedModes, chooser.serializeAllowedModes());
                putChange(CligenEnabledModes, chooser.serializeEnabledModes());
                putChange(CligenDefaultMode, chooser.getDefaultMode());
            }
        } else if (o instanceof JSpinner) {
            JSpinner jsp = (JSpinner) o;
            String name = jsp.getName();
            String property = name.substring(0, name.indexOf(":"));
            Object oo = jsp.getValue();
            String value = (String)jsp.getValue();
            putChange(property, value);
        }
        
        // If someone enters manually, un-select the buttons on the server page
        if (o.equals(JTF_wepsExe)) {
            JBGP_ScienceVers_Weps_Local.clearSelection();
        }
    }//GEN-LAST:event_globalActionPerformed

    private void fileButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fileButtonActionPerformed
        Object o = evt.getSource();
        if (o instanceof JButton) {
            JButton jb = (JButton) o;
            JTextField relatedField = null;
            TFile curFil = null;
            JPanel jp = (JPanel) jb.getParent();
            for (Object jtf : jp.getComponents()) {
                if (jtf instanceof JTextField) {
                    String name = ((JTextField) jtf).getName();
                    if (jb.getName().equals(name)) {
                        curFil = new TFile(Util.parse(((JTextField) jtf).getText()));
                        relatedField = (JTextField)jtf;
                        if (curFil == null) {
                            curFil = new TFile(".");
                        }
                        break;
                    }
                }
            }

            WepsFileChooser2 wfc = new WepsFileChooser2(jb.getName(), WepsFileChooser2.Action.Select);
            if (curFil != null && curFil.exists()) {
                // Delete other entries and set this 
                wfc.setCurrentDirectory_deleteOtherItems(curFil.isDirectory() ? curFil.getAbsolutePath() : curFil.getParentFile().getAbsolutePath());
            } else if (curFil != null && curFil.getParentFile() != null && curFil.getParentFile().exists()) {
                if (curFil.getParentFile().isDirectory()) {
                    wfc.setCurrentDirectory_deleteOtherItems(curFil.getParentFile().getAbsolutePath());
                }
            } else {
                wfc.setDefaultCurrentDirectory(jb.getName());
            }
            
            if (wfc.showDialog(this) == WepsFileChooser2.APPROVE_OPTION) {
                TFile install = new TFile(".").getCanOrAbsFile();
                TFile selected = new TFile(wfc.getSelectedFile());
                String path = selected.getPath();
                selected = Util.resolveFileAsRelativeChildOrAbsolute(install, selected);

                //String path = selected.getPath();
                putChange(jb.getName(), path);
                propertyLoader.loadData(jb.getName(), path);
                if(relatedField != null) {
                    //System.out.println("Setting field to: " + path);
                    relatedField.setText(path);
                }
            }
        }
    }//GEN-LAST:event_fileButtonActionPerformed

    protected void serverWepsExecVerGuiSetEnables (boolean isServerExec) {
        JL_WepsVer.setEnabled(isServerExec);
        JB_WepsVerDefaultLin.setEnabled(isServerExec);
        JB_WepsVerDevLin.setEnabled(isServerExec);
        //JB_WepsVerDesktopWin.setEnabled(isServerExec);
    }
    
    protected enum serverDoOverrideType {
        set,
        clear
    }
    
    protected void serverOverrideControl(JComponent source, JCheckBox jxb, serverDoOverrideType type) {
        ConfigData.getDefault().setAccessLevel(source.getName(), type == serverDoOverrideType.set ? 
                                                                 ConfigData.AccessLevel.Overridden : 
                                                                 ConfigData.AccessLevel.Write);
        jxb.setEnabled((type == serverDoOverrideType.set));
        jxb.setSelected((type == serverDoOverrideType.set));
        putChange(jxb.getName(), type == serverDoOverrideType.set ? "1" : "0");
    }

    protected boolean serverOverrideCheck(JComponent comp) {
        return ConfigData.getDefault().getAccessLevel(comp.getName()) == ConfigData.AccessLevel.Overridden;
    }
    
    protected void serverOverrideGuisInit () {
    }
        
    private void JB_OKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JB_OKActionPerformed
        save();
    }//GEN-LAST:event_JB_OKActionPerformed

    private void JB_CancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JB_CancelActionPerformed
        exitForm();
    }//GEN-LAST:event_JB_CancelActionPerformed

    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
        exitForm();
    }//GEN-LAST:event_formWindowClosing

    private void serverActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_serverActionPerformed
        Object o = evt.getSource();
        if (o instanceof JTextField) {
            JTextField j = (JTextField) evt.getSource();
            putChange(j.getName(), j.getText());
        } else if (o instanceof JCheckBox) {
            JCheckBox jxb = (JCheckBox) o;
            putChange(jxb.getName(), jxb.isSelected() ? "1" : "0");
        } else if (o instanceof JComboBox) {
            JComboBox<?> js = (JComboBox) o;
            putChange(js.getName(), js.getSelectedItem().toString());
        } else if (o instanceof JRadioButton) {
            JRadioButton j = (JRadioButton) evt.getSource();
            if (j.isSelected()) {
                putChange(j.getName(), j.getText());
            }
        } else {
            throw new UnsupportedOperationException("serverActionPerformed: Object type <" + o.getClass() + "> not impld yet");
        }

        if (o.equals(JXB_RunWepsOnServer)) {
            serverWepsExecVerGuiSetEnables(JXB_RunWepsOnServer.isSelected());
        } else if (o.equals(JCB_CligenExeName)) {
            setCligenModes ();
        }
    }//GEN-LAST:event_serverActionPerformed

    private void JRB_ClearCSIPFileCacheActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JRB_ClearCSIPFileCacheActionPerformed
        int res = JOptionPane.showConfirmDialog(this, "This operation requires that WEPS be restarted.\n"+
                                            "This current WEPS application session will be exited.\n"+
                                            "Please confirm.", "WEPS", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
        if (res == JOptionPane.OK_OPTION) {
            try {
                File f = new File(About.getWepsCacheDir().getAbsolutePath());
                FileUtils.deleteDirectory(f);
                f.mkdirs();
            } catch (IOException ex) {
                int i = 1;
            }
            JOptionPane.showMessageDialog(this, "Caches cleared\nWeps is exiting.", "WEPS", JOptionPane.INFORMATION_MESSAGE);
            JRB_ClearCSIPFileCache.setSelected(false);
            Weps.getInstance().exitApplication();
        }
        JRB_ClearCSIPFileCache.setSelected(false);
    }//GEN-LAST:event_JRB_ClearCSIPFileCacheActionPerformed

    private void serverActionPerformedCligenOnServer(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_serverActionPerformedCligenOnServer
        if (evt.getSource() instanceof JCheckBox) {
            JCheckBox box = (JCheckBox)evt.getSource();
            putChange(box.getName(), box.isSelected() ? "1" : "0");

            if (box == JXB_RunCligenOnServer) {
                setCligenModes ();
            }
        }
    }//GEN-LAST:event_serverActionPerformedCligenOnServer

    private void setCligenModes () {
        boolean sel = getValue("CD-SC-button-cligenPrismMode").contains("PRISM");
        JB_CligenModeBase.setSelected(!sel);
        JB_CligenModePrism.setSelected(sel);
        if (getValue("CD-SC-cligen-execOnServer").contains("1")) {
                boolean en = getValue("CD-SC-cligen-endpoint").contains("cligen_prism");
                JB_CligenModePrism.setEnabled(en);
                if (!en) {
                    JB_CligenModeBase.setSelected(true);
                    JB_CligenModePrism.setSelected(false);
                }
        } else {
            // prism mode always available for local
            JB_CligenModePrism.setEnabled(true);
        }
    }
    
    private void jsImageryZoomStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jsImageryZoomStateChanged
        JSpinner jsp = (JSpinner) evt.getSource();
        String property = jsp.getName();
        Object jspObj = jsp.getValue();
        String value = null;
        // in this case, value always an int
        // This generalizes the handling for copying to other handlers
        if (jspObj instanceof String) {
            value = (String)jsp.getValue();
        } else if (jspObj instanceof Integer) {
            value = ((Integer)jsp.getValue()).toString();
        }
        if (value != null) {
            putChange(property, value);
        }
    }//GEN-LAST:event_jsImageryZoomStateChanged

    private void JRB_ClearImageryCacheActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JRB_ClearImageryCacheActionPerformed
        try {
            File f = new File(About.getWepsCacheDirTiles().getAbsolutePath());
            FileUtils.deleteDirectory(f);
            f.mkdirs();
            Weps.getInstance().getLocationPanel().updateViewer();
            JOptionPane.showMessageDialog(this, "Iamgery cache cleared.", "WEPS", JOptionPane.INFORMATION_MESSAGE);
        } catch (IOException ex) {
            int i = 1;
        }
        JRB_ClearImageryCache.setSelected(false);
    }//GEN-LAST:event_JRB_ClearImageryCacheActionPerformed

    private void GisLayersActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_GisLayersActionPerformed
        globalActionPerformed (evt);
    }//GEN-LAST:event_GisLayersActionPerformed

    private void GisLayersFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_GisLayersFocusLost
        globalFocusLost(evt);
    }//GEN-LAST:event_GisLayersFocusLost

    private void dispSoilManRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dispSoilManRefreshActionPerformed
        globalActionPerformed (evt);
        Weps.getInstance().getAuxPanel().setRefreshButtonsVisible(((JCheckBox) evt.getSource()).isSelected());
    }//GEN-LAST:event_dispSoilManRefreshActionPerformed

    private void jButton_cachedCsipDirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_cachedCsipDirActionPerformed
        fileButtonActionPerformed(evt);
    }//GEN-LAST:event_jButton_cachedCsipDirActionPerformed

    private void JRB_sdmSortActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JRB_sdmSortActionPerformed
        globalActionPerformed(evt);
    }//GEN-LAST:event_JRB_sdmSortActionPerformed

    /**
     * This method is called when a user is updating their project folder path in the
     * config panel textfield. If the user has given a valid path to a folder -> prompt
     * the user asking if they want to change the project folder path.
     * 
     * If a user says "yes" change the local config data and save it
     * then check for subdirectories and add them if they aren't there.
     * 
     * Otherwise, do nothing.
     * 
     * @param evt - JTextField for CD-projects path
     */
    private void configureProjectFolder(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_configureProjectFolder
        Object o = evt.getSource();

        if (o instanceof JTextField) {
            String cd_projectsPath = ((JTextField) o).getName();

            if (HT_changes.containsKey(cd_projectsPath)) {
                String newProjectPath = HT_changes.get(cd_projectsPath);

                this.setNewProjectPath(newProjectPath);
                //putchange already called

                if (newProjectPath.equals(ConfigData.getDefault().getData("CD-projects path"))) {
                    Weps.getInstance().loadOrCreateNewProjectFolder();
                }
            }
        }
    }//GEN-LAST:event_configureProjectFolder

    /**
     * This method is called when the user selects the Folder icon in the config
     * panel for "Projects Folder". -- see configureProjectsFolder
     * @param evt - JButton for CD-projects path
     */
    private void projectFolderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_projectFolderActionPerformed
        Object o = evt.getSource();

        if (o instanceof JButton) {
            String localProjectsPath = ConfigData.getDefault().getData("CD-projects path");

            WepsFileChooser2 wfc = new WepsFileChooser2(((JButton) o).getName(), WepsFileChooser2.Action.Select);
            wfc.setMessage("Select a new Projects Folder location?");
            wfc.enableDbButton(false);
            wfc.setCurrentDirectory(new TFile(localProjectsPath).getParent());
            wfc.setFileSelectionMode(WepsFileChooser2.SelectionType.DIRECTORIES_ONLY);

            if (wfc.showDialog(this) == WepsFileChooser2.APPROVE_OPTION) {
                String selectedProjectPath = wfc.getSelectedFile().getAbsolutePath();

                this.setNewProjectPath(selectedProjectPath);
                putChange(((JButton) o).getName(), selectedProjectPath);
                propertyLoader.loadData(((JButton) o).getName(), selectedProjectPath);

                if (selectedProjectPath.equals(ConfigData.getDefault().getData("CD-projects path"))) {
                    jTextField7.setText(selectedProjectPath);
                    Weps.getInstance().loadOrCreateNewProjectFolder();
                }
            }
        }
    }//GEN-LAST:event_projectFolderActionPerformed

    private void WTF_CSIPSoilPolygonSizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_WTF_CSIPSoilPolygonSizeActionPerformed
        // TODO add your handling code here:
        WTF_CSIPSoilActionPerformed(evt);
    }//GEN-LAST:event_WTF_CSIPSoilPolygonSizeActionPerformed

    private void WTF_CSIPPrismPolygonSizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_WTF_CSIPPrismPolygonSizeActionPerformed
        // TODO add your handling code here:
        WTF_CSIPPrismActionPerformed(evt);
    }//GEN-LAST:event_WTF_CSIPPrismPolygonSizeActionPerformed

    private void WTF_CSIPSoilPolygonSizeFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_WTF_CSIPSoilPolygonSizeFocusLost
        // TODO add your handling code here:
        WTF_CSIPSoilFocusLost(evt);
    }//GEN-LAST:event_WTF_CSIPSoilPolygonSizeFocusLost

    private void WTF_CSIPPrismPolygonSizeFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_WTF_CSIPPrismPolygonSizeFocusLost
        // TODO add your handling code here:
        WTF_CSIPPrismFocusLost(evt);
    }//GEN-LAST:event_WTF_CSIPPrismPolygonSizeFocusLost

    public void WTF_CSIPSoilActionPerformed(ActionEvent evt) {
        
    }
    
    public void WTF_CSIPPrismActionPerformed(ActionEvent evt) {
        
    }
    
    public void WTF_CSIPSoilFocusLost(FocusEvent evt) {
        
    }
    
    public void WTF_CSIPPrismFocusLost(FocusEvent evt) {
        
    }
    
    /**
     * Sets the project path to the string if that path is valid and it is a directory
     * @param newProjectPath - the new project path
     */
    private void setNewProjectPath(String newProjectPath) {
        String currentProjectPath = ConfigData.getDefault().getData("CD-projects path");
        
        if (!newProjectPath.equals(currentProjectPath)) {
            TFile projectPathFile = new TFile(newProjectPath);
            
            if (projectPathFile.exists() && projectPathFile.isDirectory()) {
                if (JOptionPane.showConfirmDialog(this,
                    "SAVE CURRENT PROJECT AND CHANGE WEPS PROJECTS FOLDER TO:\n '" + newProjectPath + "'?",
                    "Select a new Projects Folder location?",
                    JOptionPane.YES_OPTION) == JOptionPane.YES_OPTION) {
                    Weps.getInstance().saveWeps();
                    
                    ConfigData.getDefault().setData("CD-projects path", newProjectPath);
                    ConfigData.getDefault().save();

                    Weps.getInstance().createLocalDirectories();
                } else {
                    this.exitForm(); //called to prevent a user from hitting ok and changing settings
                }
            }
        }
    }
    
    protected void exitForm() {
            HT_changes.clear();
            setVisible(false);
            dispose();        
    }
    
    JRadioButton getSelectedButtonFromGroup (ButtonGroup bg) {
        for (Enumeration<AbstractButton> e = bg.getElements(); e.hasMoreElements();) {
            AbstractButton b = e.nextElement();
            if (b.isSelected()) {
                return (JRadioButton)b;
            }
        }
        return null;
    }
    
    /**
     * This method is used if this dialog is rum as an independent application. If executed,
     * makes the GUI visible.
     * @param args These are the command line arguments passed to the main method.
     */
    public static void main(String args[]) {
        new ConfigPanel_n().setVisible(true);
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup JBGP_Cligen_DataVer;
    private javax.swing.ButtonGroup JBGP_Cligen_Prism;
    private javax.swing.ButtonGroup JBGP_Cligen_ReturnParFiles;
    private javax.swing.ButtonGroup JBGP_Cligen_Send_DB;
    private javax.swing.ButtonGroup JBGP_Interp_Send_DB;
    private javax.swing.ButtonGroup JBGP_NRMV;
    private javax.swing.ButtonGroup JBGP_NRMVOutput;
    public javax.swing.ButtonGroup JBGP_SDMSortMethod;
    public javax.swing.ButtonGroup JBGP_SDMSortValue;
    private javax.swing.ButtonGroup JBGP_ScienceVers_Cligen;
    private javax.swing.ButtonGroup JBGP_ScienceVers_Interpolate;
    private javax.swing.ButtonGroup JBGP_ScienceVers_Weps;
    private javax.swing.ButtonGroup JBGP_ScienceVers_Weps_Local;
    private javax.swing.ButtonGroup JBGP_ScienceVers_Windgen;
    private javax.swing.ButtonGroup JBGP_SubmodelOutput;
    private javax.swing.ButtonGroup JBGP_Windgen_Send_DB;
    private javax.swing.ButtonGroup JBGP_layersmode1;
    private javax.swing.ButtonGroup JBGP_layersmodechina;
    public javax.swing.ButtonGroup JBGP_reportPeriod;
    public javax.swing.ButtonGroup JBGP_runType;
    public javax.swing.ButtonGroup JBGP_units;
    private javax.swing.ButtonGroup JBGP_usStates;
    private javax.swing.ButtonGroup JBGP_worldborders;
    private javax.swing.ButtonGroup JBPG_chinaProvincesLayerFill;
    private javax.swing.ButtonGroup JBPG_nationalBordersLayerFill;
    private javax.swing.ButtonGroup JBPG_usStatesLayerFill;
    private javax.swing.JButton JB_Cancel;
    private javax.swing.JRadioButton JB_CligenDataVer2015;
    private javax.swing.JRadioButton JB_CligenDataVer2015Intl;
    private javax.swing.JRadioButton JB_CligenDataVer92;
    private javax.swing.JRadioButton JB_CligenModeBase;
    private javax.swing.JRadioButton JB_CligenModePrism;
    private javax.swing.JRadioButton JB_CligenRetParFilesNo;
    private javax.swing.JRadioButton JB_CligenRetParFilesYes;
    private javax.swing.JRadioButton JB_CligenSendDBNo;
    private javax.swing.JRadioButton JB_CligenSendDBYes;
    public javax.swing.JButton JB_Help;
    private javax.swing.JRadioButton JB_InterpolateVerNew;
    private javax.swing.JRadioButton JB_InterpolateVerOld;
    public javax.swing.JButton JB_OK;
    private javax.swing.JRadioButton JB_WepsVerDefaultLin;
    private javax.swing.JRadioButton JB_WepsVerDevLin;
    private javax.swing.JRadioButton JB_WindgenInterpSendDBNo;
    private javax.swing.JRadioButton JB_WindgenInterpSendDBYes;
    private javax.swing.JRadioButton JB_WindgenSendDBNo;
    private javax.swing.JRadioButton JB_WindgenSendDBYes;
    private javax.swing.JRadioButton JB_WindgenVerNew;
    private javax.swing.JRadioButton JB_WindgenVerOld;
    protected javax.swing.JButton JB_barriersFile;
    private javax.swing.JRadioButton JB_cachedsoilFill;
    private javax.swing.JRadioButton JB_cachedsoilFill8;
    private javax.swing.JRadioButton JB_cachedsoilFill9;
    private javax.swing.JRadioButton JB_cachedsoilOutline;
    private javax.swing.JRadioButton JB_cachedsoilOutline8;
    private javax.swing.JRadioButton JB_cachedsoilOutline9;
    protected javax.swing.JButton JB_cliDatCRLMOD;
    protected javax.swing.JButton JB_cliExe;
    protected javax.swing.JButton JB_cliGenDb;
    protected javax.swing.JButton JB_cliGenDb1;
    protected javax.swing.JButton JB_cliIdxCRLMOD;
    protected javax.swing.JButton JB_detailFilters;
    protected javax.swing.JButton JB_gisDataFile;
    protected javax.swing.JButton JB_mcrewDataConfig;
    protected javax.swing.JButton JB_prismNormCRLMOD;
    protected javax.swing.JButton JB_reportFileName;
    protected javax.swing.JButton JB_skelTranslations;
    protected javax.swing.JButton JB_wepsExe;
    protected javax.swing.JButton JB_winDat;
    protected javax.swing.JButton JB_winExe;
    protected javax.swing.JButton JB_winGenDB;
    protected javax.swing.JButton JB_winGenDB1;
    protected javax.swing.JButton JB_winGenDB2;
    protected javax.swing.JButton JB_winGenDB3;
    protected javax.swing.JButton JB_winGenDB4;
    protected javax.swing.JButton JB_winIdx;
    private javax.swing.JComboBox<String> JCB_CligenExeName;
    private javax.swing.JComboBox<String> JCB_InterpolateExeName;
    private javax.swing.JComboBox<String> JCB_InterpolateGenDataName;
    private javax.swing.JComboBox<String> JCB_WepsExeName;
    private javax.swing.JComboBox<String> JCB_WindgenExeName;
    public javax.swing.JCheckBox JCB_addDirectoryButton;
    private javax.swing.JCheckBox JCB_allowBatchCreation;
    private javax.swing.JComboBox<String> JCB_crop;
    private javax.swing.JComboBox<String> JCB_dabove;
    private javax.swing.JComboBox<String> JCB_dbelow;
    private javax.swing.JComboBox<String> JCB_decomp;
    protected javax.swing.JComboBox<String> JCB_formatOperationDate;
    private javax.swing.JComboBox<String> JCB_hlayers;
    private javax.swing.JComboBox<String> JCB_hydro;
    private javax.swing.JComboBox<String> JCB_plot;
    private javax.swing.JCheckBox JCB_purgeRunFiles;
    private javax.swing.JComboBox<String> JCB_season;
    private javax.swing.JComboBox<String> JCB_shoot;
    private javax.swing.JCheckBox JCB_showCountries;
    private javax.swing.JComboBox<String> JCB_soillay;
    private javax.swing.JLabel JL_CligenDataVer;
    private javax.swing.JLabel JL_CligenMode;
    private javax.swing.JLabel JL_CligenRetParFiles;
    private javax.swing.JLabel JL_CligenSendDB;
    private javax.swing.JLabel JL_CligenSendDB1;
    private javax.swing.JLabel JL_CligenSendDB2;
    private javax.swing.JLabel JL_InterpolateVer;
    private javax.swing.JLabel JL_WepsVer;
    private javax.swing.JLabel JL_WingenVer;
    public javax.swing.JLabel JL_calWepsCmd;
    protected javax.swing.JLabel JL_remoteDataPrismUnits;
    protected javax.swing.JLabel JL_remoteDataSoilUnits;
    public javax.swing.JLabel JL_runLength;
    public javax.swing.JLabel JL_runLength1;
    public javax.swing.JLabel JLabel1;
    public javax.swing.JLabel JLabel13;
    public javax.swing.JLabel JLabel14;
    public javax.swing.JLabel JLabel15;
    public javax.swing.JLabel JLabel16;
    public javax.swing.JLabel JLabel17;
    public javax.swing.JLabel JLabel18;
    public javax.swing.JLabel JLabel19;
    public javax.swing.JLabel JLabel2;
    public javax.swing.JLabel JLabel20;
    public javax.swing.JLabel JLabel21;
    public javax.swing.JLabel JLabel22;
    public javax.swing.JLabel JLabel23;
    public javax.swing.JLabel JLabel24;
    public javax.swing.JLabel JLabel25;
    public javax.swing.JLabel JLabel26;
    public javax.swing.JLabel JLabel27;
    public javax.swing.JLabel JLabel28;
    public javax.swing.JLabel JLabel29;
    public javax.swing.JLabel JLabel3;
    public javax.swing.JLabel JLabel30;
    public javax.swing.JLabel JLabel31;
    public javax.swing.JLabel JLabel35;
    public javax.swing.JLabel JLabel36;
    public javax.swing.JLabel JLabel37;
    public javax.swing.JLabel JLabel4;
    public javax.swing.JLabel JLabel41;
    public javax.swing.JLabel JLabel43;
    public javax.swing.JLabel JLabel44;
    public javax.swing.JLabel JLabel45;
    public javax.swing.JLabel JLabel46;
    public javax.swing.JLabel JLabel47;
    public javax.swing.JLabel JLabel48;
    public javax.swing.JLabel JLabel49;
    public javax.swing.JLabel JLabel5;
    public javax.swing.JLabel JLabel50;
    public javax.swing.JLabel JLabel51;
    public javax.swing.JLabel JLabel54;
    public javax.swing.JLabel JLabel55;
    public javax.swing.JLabel JLabel56;
    public javax.swing.JLabel JLabel57;
    public javax.swing.JLabel JLabel58;
    public javax.swing.JLabel JLabel6;
    private javax.swing.JPanel JP_Barriers;
    private javax.swing.JPanel JP_Cligen;
    public javax.swing.JPanel JP_Display;
    public javax.swing.JPanel JP_Email;
    private javax.swing.JPanel JP_Fuels;
    private javax.swing.JPanel JP_Gis;
    private javax.swing.JPanel JP_GisLayers;
    private javax.swing.JPanel JP_GisMain;
    private javax.swing.JPanel JP_GisViewer;
    private javax.swing.JPanel JP_Mcrew;
    private javax.swing.JPanel JP_ModelExecutables;
    private javax.swing.JPanel JP_ModelVersions;
    private javax.swing.JPanel JP_NRMV;
    private javax.swing.JPanel JP_ProjAndData;
    private javax.swing.JPanel JP_RemoteDataServices;
    public javax.swing.JPanel JP_Reporting;
    private javax.swing.JPanel JP_ReportingPeriod;
    public javax.swing.JPanel JP_Run;
    private javax.swing.JPanel JP_Server;
    private javax.swing.JPanel JP_Soil;
    public javax.swing.JPanel JP_Weps;
    private javax.swing.JPanel JP_Windgen;
    private javax.swing.JPanel JP_arcgisHillshade;
    private javax.swing.JPanel JP_arcgisImagery;
    private javax.swing.JPanel JP_arcgisStreets;
    private javax.swing.JPanel JP_arcgisStreetsOverlay;
    private javax.swing.JPanel JP_arcgistopo;
    private javax.swing.JPanel JP_cachedprism;
    private javax.swing.JPanel JP_cachedsoil;
    private javax.swing.JPanel JP_chinaprov;
    private javax.swing.JPanel JP_cligenbound;
    private javax.swing.JPanel JP_cligenregion;
    private javax.swing.JPanel JP_cligenstations;
    private javax.swing.JPanel JP_cmz;
    private javax.swing.JPanel JP_imageryNationalmap;
    private javax.swing.JPanel JP_townshipRange;
    private javax.swing.JPanel JP_usStates;
    private javax.swing.JPanel JP_uscounties;
    private javax.swing.JPanel JP_windgeninterp;
    private javax.swing.JPanel JP_windgenpolygon;
    private javax.swing.JPanel JP_windgenreflect;
    private javax.swing.JPanel JP_windgensta;
    private javax.swing.JPanel JP_windgentri;
    private javax.swing.JPanel JP_worldborders;
    public javax.swing.JRadioButton JRB_1;
    public javax.swing.JRadioButton JRB_2;
    public javax.swing.JRadioButton JRB_3;
    public javax.swing.JRadioButton JRB_4;
    private javax.swing.JRadioButton JRB_ClearCSIPFileCache;
    private javax.swing.JRadioButton JRB_ClearImageryCache;
    public javax.swing.JRadioButton JRB_NRCS;
    private javax.swing.JRadioButton JRB_NRMVOff;
    private javax.swing.JRadioButton JRB_NRMVOn;
    private javax.swing.JRadioButton JRB_NRMVSummaries;
    private javax.swing.JRadioButton JRB_SONotVisible;
    private javax.swing.JRadioButton JRB_SOReadOnly;
    private javax.swing.JRadioButton JRB_SOReadWrite;
    public javax.swing.JRadioButton JRB_cycle;
    public javax.swing.JRadioButton JRB_dates;
    public javax.swing.JRadioButton JRB_english;
    public javax.swing.JRadioButton JRB_metric;
    public javax.swing.JRadioButton JRB_sdmSortMu;
    public javax.swing.JRadioButton JRB_sdmSortName;
    public javax.swing.JTextField JTF_calWepsCmd;
    public javax.swing.JTextField JTF_cliCmd;
    protected javax.swing.JTextField JTF_cliDatCRLMOD;
    protected javax.swing.JTextField JTF_cliDb;
    public javax.swing.JTextField JTF_cliExe;
    protected javax.swing.JTextField JTF_cliIdx;
    protected javax.swing.JTextField JTF_cliIdxCRLMOD;
    private javax.swing.JTextField JTF_daysKeepLog;
    public javax.swing.JTextField JTF_debugCrop;
    public javax.swing.JTextField JTF_debugDec;
    public javax.swing.JTextField JTF_debugEro;
    public javax.swing.JTextField JTF_debugHydro;
    public javax.swing.JTextField JTF_debugMan;
    public javax.swing.JTextField JTF_debugSoil;
    public javax.swing.JTextField JTF_detCrop;
    public javax.swing.JTextField JTF_detDec;
    public javax.swing.JTextField JTF_detEro;
    public javax.swing.JTextField JTF_detHydro;
    public javax.swing.JTextField JTF_detMan;
    public javax.swing.JTextField JTF_detSoil;
    public javax.swing.JTextField JTF_emailBugs;
    public javax.swing.JTextField JTF_emailSender;
    public javax.swing.JTextField JTF_emailWeps;
    public javax.swing.JTextField JTF_mantisEmail;
    public javax.swing.JTextField JTF_mantisMaxSize1;
    private javax.swing.JPasswordField JTF_mantisPassword1;
    public javax.swing.JTextField JTF_mantisProject1;
    public javax.swing.JTextField JTF_mantisURL1;
    public javax.swing.JTextField JTF_mantisUserID1;
    protected javax.swing.JTextField JTF_omThreshold;
    protected javax.swing.JTextField JTF_prismNormCRLMOD;
    public javax.swing.JTextField JTF_runLength;
    public javax.swing.JTextField JTF_runLength1;
    public javax.swing.JTextField JTF_timeSteps;
    public javax.swing.JTextField JTF_ttDismiss;
    public javax.swing.JTextField JTF_ttInit;
    public javax.swing.JTextField JTF_wepsCmd;
    public javax.swing.JTextField JTF_wepsExe;
    public javax.swing.JTextField JTF_winCmd;
    protected javax.swing.JTextField JTF_winDat;
    protected javax.swing.JTextField JTF_winDb;
    protected javax.swing.JTextField JTF_winDb1;
    protected javax.swing.JTextField JTF_winDb2;
    protected javax.swing.JTextField JTF_winDb3;
    protected javax.swing.JTextField JTF_winDb4;
    public javax.swing.JTextField JTF_winExe;
    protected javax.swing.JTextField JTF_winIdx;
    private javax.swing.JTextField JTF_windgenPrecision;
    private javax.swing.JTabbedPane JTP_Gis;
    private javax.swing.JTabbedPane JTP_Server;
    protected javax.swing.JTabbedPane JTP_main;
    private javax.swing.JTextField JT_TileCacheSizeLimit;
    protected javax.swing.JTextField JT_cachedsoilOpacity10;
    protected javax.swing.JTextField JT_cachedsoilOpacity11;
    protected javax.swing.JTextField JT_cachedsoilOpacity12;
    protected javax.swing.JTextField JT_cachedsoilOpacity13;
    protected javax.swing.JTextField JT_cachedsoilOpacity14;
    protected javax.swing.JTextField JT_cachedsoilOpacity15;
    protected javax.swing.JTextField JT_cachedsoilOpacity7;
    protected javax.swing.JTextField JT_cachedsoilOpacity8;
    protected javax.swing.JTextField JT_cachedsoilOpacity9;
    protected javax.swing.JTextField JT_chinaprovincesOpacity;
    protected javax.swing.JCheckBox JXB_McrewButtonDisplay;
    protected javax.swing.JCheckBox JXB_McrewEdit;
    private javax.swing.JCheckBox JXB_RunCligenOnServer;
    private javax.swing.JCheckBox JXB_RunInterpGenDataOnServer;
    private javax.swing.JCheckBox JXB_RunInterpOnServer;
    private javax.swing.JCheckBox JXB_RunWepsOnServer;
    private javax.swing.JCheckBox JXB_RunWindGenOnServer;
    public javax.swing.JCheckBox JXB_SystemLocale;
    public javax.swing.JCheckBox JXB_barriersReadonly;
    private javax.swing.JCheckBox JXB_cachedprismVisible;
    private javax.swing.JCheckBox JXB_cachedsoilVisible;
    private javax.swing.JCheckBox JXB_cachedsoilVisible10;
    private javax.swing.JCheckBox JXB_cachedsoilVisible11;
    private javax.swing.JCheckBox JXB_cachedsoilVisible12;
    private javax.swing.JCheckBox JXB_cachedsoilVisible13;
    private javax.swing.JCheckBox JXB_cachedsoilVisible14;
    private javax.swing.JCheckBox JXB_cachedsoilVisible15;
    private javax.swing.JCheckBox JXB_cachedsoilVisible16;
    private javax.swing.JCheckBox JXB_cachedsoilVisible17;
    private javax.swing.JCheckBox JXB_cachedsoilVisible18;
    private javax.swing.JCheckBox JXB_cachedsoilVisible19;
    private javax.swing.JCheckBox JXB_cachedsoilVisible20;
    private javax.swing.JCheckBox JXB_cachedsoilVisible21;
    private javax.swing.JCheckBox JXB_cachedsoilVisible22;
    private javax.swing.JCheckBox JXB_cachedsoilVisible23;
    private javax.swing.JCheckBox JXB_cachedsoilVisible7;
    private javax.swing.JCheckBox JXB_cachedsoilVisible8;
    private javax.swing.JCheckBox JXB_cachedsoilVisible9;
    private javax.swing.JCheckBox JXB_chinaprovincesVisible;
    public javax.swing.JCheckBox JXB_doNotReview;
    public javax.swing.JCheckBox JXB_elevation;
    protected javax.swing.JCheckBox JXB_hidePButtons;
    protected javax.swing.JCheckBox JXB_hideTButtons;
    public javax.swing.JCheckBox JXB_latLon;
    public javax.swing.JCheckBox JXB_map;
    public javax.swing.JCheckBox JXB_slope;
    public javax.swing.JCheckBox JXB_slope1;
    public javax.swing.JCheckBox JXB_stateCounty;
    private javax.swing.JCheckBox JXB_windgentriVisible;
    private javax.swing.JCheckBox JXB_windreflect;
    protected javax.swing.JCheckBox JXB_xmlFormats;
    private javax.swing.JPanel Project_jPanel;
    private javax.swing.JPanel Project_jPanel1;
    private javax.swing.JPanel Project_jPanel2;
    private javax.swing.JPanel Project_jPanel3;
    protected usda.weru.util.WepsTextField WTF_CSIPPrismPolygonSize;
    protected usda.weru.util.WepsTextField WTF_CSIPSoilPolygonSize;
    private javax.swing.JCheckBox catBox;
    private javax.swing.JCheckBox catBox1;
    private usda.weru.weps.location.chooser.AllowedStationModeChooser cligenModes;
    private usda.weru.util.MeasurableField<Length> cligenRadiusField;
    private javax.swing.JLabel cligenRadiusLabel;
    private javax.swing.JLabel cligenRadiusUnits;
    private javax.swing.JCheckBox collapse;
    protected javax.swing.JButton currentProjectButton1;
    protected javax.swing.JButton currentProjectButton10;
    protected javax.swing.JButton currentProjectButton11;
    protected javax.swing.JButton currentProjectButton12;
    protected javax.swing.JButton currentProjectButton13;
    protected javax.swing.JButton currentProjectButton14;
    protected javax.swing.JButton currentProjectButton15;
    protected javax.swing.JButton currentProjectButton2;
    protected javax.swing.JButton currentProjectButton3;
    protected javax.swing.JButton currentProjectButton4;
    protected javax.swing.JButton currentProjectButton5;
    protected javax.swing.JButton currentProjectButton6;
    protected javax.swing.JButton currentProjectButton7;
    protected javax.swing.JButton currentProjectButton8;
    protected javax.swing.JButton currentProjectButton9;
    private javax.swing.JCheckBox dispSoilManRefresh;
    private usda.weru.weps.fuel.FuelChooser fuelDefaultChooser;
    private javax.swing.JTextField fuelFile;
    protected javax.swing.JButton fuelFileButton;
    private javax.swing.JLabel fuelLabel;
    private javax.swing.JTable fuelTable;
    private javax.swing.ButtonGroup g_emailType;
    private javax.swing.ButtonGroup g_secureConnectionGroup;
    protected javax.swing.JTextField gisData;
    private javax.swing.JLabel gisDataLabel;
    private javax.swing.ButtonGroup groupOfOldMen;
    private javax.swing.JCheckBox invalidCligenMessage;
    private javax.swing.JCheckBox invalidCligenMessage1;
    private javax.swing.JButton jButton_cachedCsipDir;
    private javax.swing.JButton jButton_localSoilData;
    private javax.swing.JButton jButton_localSoilDataMart;
    protected javax.swing.JButton jButton_surrogateOrganicSoil;
    protected javax.swing.JButton jButton_systemSoilData;
    private javax.swing.JCheckBox jCB_csipSoilService;
    private javax.swing.JCheckBox jCB_localSoilDataDir;
    private javax.swing.JCheckBox jCB_localSoilDataMart;
    private javax.swing.JCheckBox jCB_nrcsSoilDataMart;
    private javax.swing.JCheckBox jCB_setOverwriteProject;
    private javax.swing.JCheckBox jCB_showCachedCsipSoilDir;
    private javax.swing.JCheckBox jCB_systemSoilDataDir;
    private javax.swing.JCheckBox jCheckBox1;
    private javax.swing.JCheckBox jCheckBox10;
    private javax.swing.JCheckBox jCheckBox11;
    private javax.swing.JCheckBox jCheckBox12;
    private javax.swing.JCheckBox jCheckBox13;
    private javax.swing.JCheckBox jCheckBox14;
    private javax.swing.JCheckBox jCheckBox18;
    private javax.swing.JCheckBox jCheckBox19;
    private javax.swing.JCheckBox jCheckBox20;
    private javax.swing.JCheckBox jCheckBox21;
    private javax.swing.JCheckBox jCheckBox22;
    private javax.swing.JCheckBox jCheckBox23;
    private javax.swing.JCheckBox jCheckBox24;
    private javax.swing.JCheckBox jCheckBox25;
    private javax.swing.JCheckBox jCheckBox26;
    private javax.swing.JCheckBox jCheckBox27;
    private javax.swing.JCheckBox jCheckBox28;
    private javax.swing.JCheckBox jCheckBox29;
    public javax.swing.JCheckBox jCheckBox5;
    public javax.swing.JCheckBox jCheckBox6;
    private javax.swing.JCheckBox jCheckBox7;
    private javax.swing.JCheckBox jCheckBox8;
    private javax.swing.JCheckBox jCheckBox9;
    private javax.swing.JCheckBox jCheckBox_averageStratSoilLayers;
    protected javax.swing.JCheckBox jCheckBox_disableSurgoEstimates;
    private javax.swing.JCheckBox jCheckBox_ignoreOrganicSurfaceLayer;
    protected javax.swing.JCheckBox jCheckBox_soilEstimate;
    private javax.swing.JCheckBox jCheckBox_soilReadOnly;
    private javax.swing.JCheckBox jCheckBox_testForOrganicSoils;
    private javax.swing.JColorChooser jColorChooser1;
    private javax.swing.JLabel jL_sdmSortMethod;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel100;
    private javax.swing.JLabel jLabel101;
    private javax.swing.JLabel jLabel102;
    private javax.swing.JLabel jLabel103;
    private javax.swing.JLabel jLabel104;
    private javax.swing.JLabel jLabel105;
    private javax.swing.JLabel jLabel106;
    private javax.swing.JLabel jLabel107;
    private javax.swing.JLabel jLabel108;
    private javax.swing.JLabel jLabel109;
    private javax.swing.JLabel jLabel110;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel26;
    private javax.swing.JLabel jLabel28;
    private javax.swing.JLabel jLabel29;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel30;
    private javax.swing.JLabel jLabel36;
    private javax.swing.JLabel jLabel37;
    private javax.swing.JLabel jLabel39;
    private javax.swing.JLabel jLabel40;
    private javax.swing.JLabel jLabel44;
    private javax.swing.JLabel jLabel45;
    private javax.swing.JLabel jLabel46;
    private javax.swing.JLabel jLabel47;
    private javax.swing.JLabel jLabel48;
    private javax.swing.JLabel jLabel49;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel50;
    private javax.swing.JLabel jLabel51;
    private javax.swing.JLabel jLabel52;
    private javax.swing.JLabel jLabel53;
    private javax.swing.JLabel jLabel54;
    private javax.swing.JLabel jLabel55;
    private javax.swing.JLabel jLabel56;
    private javax.swing.JLabel jLabel57;
    private javax.swing.JLabel jLabel58;
    private javax.swing.JLabel jLabel59;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel60;
    private javax.swing.JLabel jLabel61;
    private javax.swing.JLabel jLabel62;
    private javax.swing.JLabel jLabel63;
    private javax.swing.JLabel jLabel64;
    private javax.swing.JLabel jLabel65;
    private javax.swing.JLabel jLabel66;
    private javax.swing.JLabel jLabel67;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel71;
    private javax.swing.JLabel jLabel72;
    private javax.swing.JLabel jLabel76;
    private javax.swing.JLabel jLabel78;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel81;
    private javax.swing.JLabel jLabel82;
    private javax.swing.JLabel jLabel83;
    private javax.swing.JLabel jLabel84;
    private javax.swing.JLabel jLabel85;
    private javax.swing.JLabel jLabel86;
    private javax.swing.JLabel jLabel87;
    private javax.swing.JLabel jLabel88;
    private javax.swing.JLabel jLabel89;
    private javax.swing.JLabel jLabel90;
    private javax.swing.JLabel jLabel91;
    private javax.swing.JLabel jLabel92;
    private javax.swing.JLabel jLabel93;
    private javax.swing.JLabel jLabel94;
    private javax.swing.JLabel jLabel95;
    private javax.swing.JLabel jLabel96;
    private javax.swing.JLabel jLabel97;
    private javax.swing.JLabel jLabel98;
    private javax.swing.JLabel jLabel99;
    private javax.swing.JLabel jLabel_cachedCSIPSoilDir;
    private javax.swing.JLabel jLabel_csipSoilDataURL;
    private javax.swing.JLabel jLabel_csipSoilService;
    private javax.swing.JLabel jLabel_localSoilDataDir;
    private javax.swing.JLabel jLabel_localSoilDataMartDir;
    private javax.swing.JLabel jLabel_maxDepthToIgnore;
    private javax.swing.JLabel jLabel_nrcsSoilDataMartUrl;
    private javax.swing.JLabel jLabel_organicMatterThreshold;
    private javax.swing.JLabel jLabel_soilViewEditOptions;
    private javax.swing.JLabel jLabel_surrogateOrganicSoil;
    public javax.swing.JLabel jLabel_systemSoilDataDir;
    private javax.swing.JLabel jLabel_thresholdFraction;
    private javax.swing.JLabel jLabel_wepsHandlingOrgSoil;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel10;
    private javax.swing.JPanel jPanel11;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JPanel jPanel_soilServices;
    private javax.swing.JPanel jPanel_soilViewerEditorOptions;
    private javax.swing.JPanel jPanel_wepsHandlingOrganicSoils;
    private javax.swing.JRadioButton jRB_sortMethod_showAll;
    private javax.swing.JRadioButton jRB_sortMethod_state_county;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JSeparator jSeparator4;
    private javax.swing.JSeparator jSeparator5;
    private javax.swing.JSeparator jSeparator7;
    public javax.swing.JTextField jTF_cachedCSIPSoil;
    private javax.swing.JTextField jTF_csipSoilDataURL;
    private javax.swing.JTextField jTF_csipSoilParamsURL;
    private javax.swing.JTextField jTF_localSoilDataDir;
    private javax.swing.JTextField jTF_localSoilDataMartDir;
    private javax.swing.JTextField jTF_nrcsSoilDataMartURL;
    private javax.swing.JTextField jTF_surrogateOrganicSoilFile;
    public javax.swing.JTextField jTF_systemSoilDir;
    private javax.swing.JTextField jTextField10;
    private javax.swing.JTextField jTextField11;
    private javax.swing.JTextField jTextField12;
    private javax.swing.JTextField jTextField13;
    private javax.swing.JTextField jTextField14;
    private javax.swing.JTextField jTextField15;
    private javax.swing.JTextField jTextField16;
    private javax.swing.JTextField jTextField17;
    private javax.swing.JTextField jTextField18;
    private javax.swing.JTextField jTextField19;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField20;
    protected javax.swing.JTextField jTextField21;
    private javax.swing.JTextField jTextField22;
    private javax.swing.JTextField jTextField23;
    private javax.swing.JTextField jTextField24;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField5;
    private javax.swing.JTextField jTextField6;
    private javax.swing.JTextField jTextField7;
    private javax.swing.JTextField jTextField8;
    private javax.swing.JTextField jTextField9;
    private javax.swing.JRadioButton jrB_sortMethod_State;
    private javax.swing.JSpinner jsImageryZoom;
    protected javax.swing.JTextField jtf_GisViewerInitialHeight;
    protected javax.swing.JTextField jtf_GisViewerInitialWidth;
    protected javax.swing.JTextField jtf_GisViewerTileCacheSize;
    public javax.swing.JLabel lbl_formatOperationDate;
    protected javax.swing.JButton manSkel_Button;
    private javax.swing.JCheckBox manVersionBox;
    private javax.swing.JLabel maxOrganicDepthUnits;
    protected javax.swing.JButton mcrewDir_Button;
    private javax.swing.JRadioButton oldManCancel;
    private javax.swing.JCheckBox oldManDisplay;
    private javax.swing.JRadioButton oldManLoad;
    private javax.swing.JRadioButton oldManUpdate;
    private usda.weru.util.MeasurableField<Length> organicMaxDepth;
    private javax.swing.JLabel userFuelFile;
    private javax.swing.JLabel userFuelFileLabel;
    private usda.weru.util.MeasurableField<Length> windRadiusField;
    private javax.swing.JLabel windRadiusLabel;
    private javax.swing.JLabel windRadiusUnits;
    private usda.weru.weps.location.chooser.AllowedStationModeChooser windgenModes;
    private javax.swing.JLabel windgenPrecision;
    // End of variables declaration//GEN-END:variables

    static final protected TreeMap<String, String> optionsDateFormat;

    static {
        optionsDateFormat = new TreeMap<>();
        optionsDateFormat.put("Month Day, Rotation Year", "MMM dd, yy");
        optionsDateFormat.put("Day, Month Rotation Year", "dd MMM yy");
        optionsDateFormat.put("Rotation Year-Month-Day", "yy-MMM-dd");
    }
    
    protected Map<String, String> HT_changes = new HashMap<>();
    protected ArrayList<JTextField> HT_intFields = new ArrayList<>();

    protected PropertyChangeSupport localChanges = new PropertyChangeSupport(this);

    public void putChange(String propertyName, String value) {
        Object oldValue = getValue(propertyName);
        if (isChangedValue(propertyName, value)) {
            HT_changes.put(propertyName, value);
            localChanges.firePropertyChange(propertyName, value, oldValue);
        }

        Collection<Component> components = propertyLoader.getComponentsForProperty(propertyName);
        if (components != null) {
            for (Component c : components) {
                applyParameterErrorColoring(c);
            }
        }
    }

    private boolean isChangedValue(String propertyName, String newValue) {
        String oldValue = getValue(propertyName);
        if (oldValue != null) {
            return !oldValue.equals(newValue);
        } else if (newValue != null) {
            return !newValue.equals(oldValue);
        } else {
            //both null
            return false;
        }
    }

    {
        boolean add = HT_intFields.add(this.JTF_debugCrop);
        add = HT_intFields.add(this.JTF_debugDec);
        add = HT_intFields.add(this.JTF_debugEro);
        add = HT_intFields.add(this.JTF_debugHydro);
        add = HT_intFields.add(this.JTF_debugMan);
        add = HT_intFields.add(this.JTF_debugSoil);
        add = HT_intFields.add(this.JTF_detCrop);
        add = HT_intFields.add(this.JTF_detDec);
        add = HT_intFields.add(this.JTF_detEro);
        add = HT_intFields.add(this.JTF_detHydro);
        add = HT_intFields.add(this.JTF_detMan);
        add = HT_intFields.add(this.JTF_detSoil);
        add = HT_intFields.add(this.JTF_runLength);
        add = HT_intFields.add(this.JTF_timeSteps);
        add = HT_intFields.add(this.JTF_daysKeepLog);
        add = HT_intFields.add(this.JTF_ttDismiss);
        add = HT_intFields.add(this.JTF_ttInit);
    }

    protected ArrayList<JTextField> HT_doubleFields = new ArrayList<>();

    {
        boolean add = HT_doubleFields.add(this.JTF_omThreshold);
    }

    protected boolean checkNumericField(JTextField jtf) {
        if (HT_intFields.contains(jtf)) {
            try {
                Integer.parseInt(jtf.getText().trim());
                return true; // parse was successfull
            } catch (NumberFormatException nfe) {
                int res = JOptionPane.showConfirmDialog(this,
                        "Invalid character in integer field",
                        "Not a number",
                        JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.ERROR_MESSAGE);
                if (res == JOptionPane.OK_OPTION) {
                    Util.setFocus(jtf);
                    return false;
                }
            }
        } else if (HT_doubleFields.contains(jtf)) {
            try {
                Double.parseDouble(jtf.getText().trim());
                return true; // parse was successfull
            } catch (NumberFormatException nfe) {
                int res = JOptionPane.showConfirmDialog(this,
                        "Invalid character in double field",
                        "Not a number",
                        JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.ERROR_MESSAGE);
                if (res == JOptionPane.OK_OPTION) {
                    Util.setFocus(jtf);
                    return false;
                }
            }

        }
        return true;
    }

    protected static final Logger logger = LogManager.getLogger(ConfigPanel_n.class);
    protected String measurementUnits = Util.SIUnits;
    protected double windRadius = 0.0;
    protected double cliRadius = 0.0;
    protected HelpSet hs;
    protected PropertyChangeSupport changes;
    protected LoadProperties propertyLoader = null;
    /**
     * Help broker object for the context sensitive and generic application level help from the UI screens.
     */
    public HelpBroker hb;    //Date format options

    private void init() {
        //setup all the measurable fields
        applyParameterUnits(this);

        propertyLoader = new LoadProperties();
        propertyLoader.setupPropertyHashtable(getRootPane());

        changes = new PropertyChangeSupport(this);
        changes.addPropertyChangeListener((PropertyChangeEvent evt) -> {
            firePropertyChange(evt.getPropertyName(), evt.getOldValue(), evt.getNewValue());
            Collection<Component> components = propertyLoader.getComponentsForProperty(evt.getPropertyName());
            if (components != null) {
                components.forEach(c -> {
                    applyParameterErrorColoring(c);
                });
            }
        });
        //Setting the Icon Image in the title bar
        setIconImage(About.getWeruIconImage());

        addHelp();

        //Add date options to the config combo boxes
        Iterator<String> iKeys = optionsDateFormat.keySet().iterator();
        String keyValue;
        while (iKeys.hasNext()) {
            keyValue = iKeys.next();
            JCB_formatOperationDate.addItem(keyValue);
        }
        JTP_main.setSelectedIndex(0);
        
//        applyParameterAccessControls(this);
//        applyParameterErrorColoring(this);

//        manageParameters();
//        serverControlInit();

    }
    
    protected void manageParameters() {
        applyParameterAccessControls(this);
        applyParameterErrorColoring(this);
        
    }
    
    protected void initGis() {
        // Enables / disables each panel in the GIS / layers tab
        // according to its enabled status in ConfigData.
        Component comps[] = JP_GisLayers.getComponents();
        ConfigData cd = ConfigData.getDefault();
        for (int i=0; i<comps.length; i++) {
            if (comps[i] instanceof JPanel) {
                boolean enabled = false;
                String name = comps[i].getName();
                if (name != null) {
                    String es = ConfigData.getStringParm(name, "0");
                    enabled = es.contentEquals("1");
                }
                comps[i].setEnabled(enabled);
                Component panelComps[] = ((JPanel)comps[i]).getComponents();
                for (int j=0; j<panelComps.length; j++) {
                    panelComps[j].setEnabled(enabled);
                    if (!enabled) {
                        panelComps[j].setEnabled(enabled);
                    }
                }
            }
        }
    }

    /**
     * This method adds data from the help file to the different labels, buttons, 
     * text field, etc. as tootltip help or context sensitive help which is to make the 
     * end user understand its functionality and usability.
     */
    private void addHelp() {

        String jarFilePath = "jar/WepsHelp.jar";
        String dirFilePath = "help/MasterWeps.hs";
        TFile file_jar = new TFile(jarFilePath);
        TFile file_dir = new TFile(dirFilePath);
        if (file_jar.exists()) {
            jarHelp(jarFilePath);
        } else if (file_dir.exists()) {
            dirHelp(dirFilePath);
        } else {
        }

    } //end of addhelp()

    /**
     * This method provides the jarFile that the help system for this GUI could use. 
     * @param jarFilePath The jar file system path that tells where the file resides. 
     */
    private void jarHelp(String jarFilePath) {

        //System.out.println("weps:jarHelp-we are executing from here"); 
        hs = getHelpSet(jarFilePath);
        if (hs != null) {
            addCSH(hs);
        } else {
            //System.out.println("Can't find the helpSet-file.");
        }

    } //end of jarHelp

    /**
     * This method gets the directory help system for the referenced GUI object.
     * @param dirFilePath The system directory path string for getting the help 
     * system in running.
     */
    private void dirHelp(String dirFilePath) {

        //System.out.println("weps:dirHelp-we are executing from here");
        URL hsURL;
        try {
            hsURL = new URL((new TFile(".")).toURI().toURL(), dirFilePath);
        } catch (MalformedURLException ex) {
            //java.util.logging.LogManager.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            logger.error(ex);
            return;
        }
        try {
            hs = new HelpSet(null, hsURL);
            addCSH(hs);
        } catch (HelpSetException ex) {
            //java.util.logging.LogManager.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            logger.error(ex);
        }
        //System.out.println("Found help set at " + hsURL);
        //new CSH.DisplayHelpFromSource(getHelpBroker()));

    } //end of dirHelp

    /**
     * Returns the helpset file which is included in the jar file
     * @param jarFilePath The jar file system path that tells where the file resides.
     * @return HelpSet The object that stores all the notes and tooltiptext strings 
     * needed for the user help on the components descriptions.
     * 
     */
    protected HelpSet getHelpSet(String jarFilePath) {

        HelpSet hs2 = null;
        // MEH: need to use canonical or absolute path (not relative) in order for System.setProperty("user.dir" .... to function
        // need this so the -working option works, so we can function in s WebStart scenario
        jarFilePath = new TFile(jarFilePath).getCanOrAbsPath();
        

        String hsName = null;
        JarFile jar;
        try {
            jar = new JarFile(jarFilePath);
        } catch (java.io.IOException ex) {
            //java.util.logging.LogManager.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            logger.error(ex);
            return null;
        }
        Enumeration<JarEntry> entries = jar.entries();
        while (entries.hasMoreElements()) {
            ZipEntry entry = (ZipEntry) entries.nextElement();
            String entryName = entry.getName();
            if (entryName.endsWith(".hs")) {
                hsName = entryName;
                break;
            }
        }
        URL url[] = getURLs("file:" + jarFilePath);
        //ClassLoader cl = new URLClassLoader(url);
        // For Webstart, need to pass the context loader as parent, default is system loader which fails in webstart
        ClassLoader cl = new URLClassLoader(url,Thread.currentThread().getContextClassLoader());
        URL hsUrl = HelpSet.findHelpSet(cl, hsName);
        try {
            hs2 = new HelpSet(cl, hsUrl);
        } catch (HelpSetException ex) {
            //java.util.logging.LogManager.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            logger.error(ex);
            return null;
        }

        return hs2;
    }

    /**
     * This function generates a URL from a string and then puts
     * it into a URL array
     * @param The string that represents the resource location.
     * @return URL[] The array that stores the resource objects at the specified 
     * location.
     */
    private URL[] getURLs(String spec) {
        ArrayList<URL> v = new ArrayList<>();
        try {
            URL url = new URL(spec);
            v.add(url);
        } catch (MalformedURLException ex) {
            //System.err.println("cannot create URL for "+spec);
        }
        URL[] back = v.toArray(new URL[1]);
        return back;
    }

    /**
     * This method adds data for the context sensitive help provided on these panels 
     * by creating a helpbroker to assist itself in linking the appropriate .html pages
     * by making it by making it accessible on user's request to understand all about
     * itself.
     * @param hs The help system/set object necessary to be provided for creating
     * the help broker for the application to be able to provide the context sensitive
     * help on each component sitting on the GUI.
     */
    private void addCSH(HelpSet hs) {
        hb = hs.createHelpBroker();
        hb.enableHelpKey(getRootPane(), "mnuConfiguration_html", hs);
        ActionListener helper = new CSH.DisplayHelpFromSource(hb);
        //System.out.println("I am in the WEPS addHelp()" + helper);
        JB_Help.addActionListener(helper);
        // If in future required for Context Sensitive Help     
        //helpButton.addActionListener(new CSH.DisplayHelpAfterTracking(hs2,"javax.help.Popup",null));
        // for all labels/fields in the Executables tab
        CSH.setHelpIDString(JLabel1, "configWindGen_html");
        CSH.setHelpIDString(JTF_winExe, "configWindGen_html");
        CSH.setHelpIDString(JLabel2, "configWindGen_html");
        CSH.setHelpIDString(JTF_winCmd, "configWindGen_html");
        CSH.setHelpIDString(JLabel3, "configCliGen_html");
        CSH.setHelpIDString(JTF_cliExe, "configCliGen_html");
        CSH.setHelpIDString(JLabel4, "configCliGen_html");
        CSH.setHelpIDString(JTF_cliCmd, "configCliGen_html");
        CSH.setHelpIDString(JLabel5, "configWEPS_html");
        CSH.setHelpIDString(JTF_wepsExe, "configWEPS_html");
        CSH.setHelpIDString(JLabel6, "configWEPS_html");
        // Text field and label for Weps calibration Cmd
        CSH.setHelpIDString(JTF_wepsCmd, "configWEPS_html");
        CSH.setHelpIDString(JL_calWepsCmd, "configWEPS_html");

        CSH.setHelpIDString(JTF_calWepsCmd, "configWEPS_html");
        CSH.setHelpIDString(JP_Weps, "configWEPS_html");

        // for all labels/fields in the Directories tab
        //CSH.setHelpIDString(JLabel7, "configDirectories_html");
        //CSH.setHelpIDString(JTF_manTemp, "configDirectories_html");
        //CSH.setHelpIDString(JLabel8, "configDirectories_html");
        //CSH.setHelpIDString(JTF_manSkel, "configDirectories_html");
        //CSH.setHelpIDString(JLabel9, "configDirectories_html");
        //CSH.setHelpIDString(JTF_manOperDB, "configDirectories_html");
        //CSH.setHelpIDString(JTF_cropDB, "configDirectories_html");
        //CSH.setHelpIDString(JLabel34, "configDirectories_html");
        //CSH.setHelpIDString(JTF_MCREW, "configDirectories_html");
        CSH.setHelpIDString(jLabel_systemSoilDataDir, "configDirectories_html");
        CSH.setHelpIDString(jTF_systemSoilDir, "configDirectories_html");
        // For the label and text field of Soil DB Spec.
        //CSH.setHelpIDString(JLabel38, "dirSoilDBSpec_html");
        //CSH.setHelpIDString(JTF_soilDBSpec, "dirSoilDBSpec_html");

        //CSH.setHelpIDString(JLabel12, "configDirectories_html");
        //CSH.setHelpIDString(JTF_projDir, "configDirectories_html");

        //CSH.setHelpIDString(JP_Directories, "configDirectories_html");

        // for all labels/fields in the Miscellaneous tab
        CSH.setHelpIDString(JLabel27, "configDisplay_html");

        CSH.setHelpIDString(windRadiusField, "configDisplay_html");
        CSH.setHelpIDString(windRadiusLabel, "configDisplay_html");
        CSH.setHelpIDString(windRadiusUnits, "configDisplay_html");

        CSH.setHelpIDString(cligenRadiusField, "configDisplay_html");
        CSH.setHelpIDString(cligenRadiusLabel, "configDisplay_html");
        CSH.setHelpIDString(cligenRadiusUnits, "configDisplay_html");

        CSH.setHelpIDString(JLabel35, "configDisplay_html");
        // For the label and text field of Initial tool tip delay
        CSH.setHelpIDString(JLabel36, "configDisplay_html");
        CSH.setHelpIDString(JTF_ttInit, "configDisplay_html");
        // For the label and text field of Dismiss of tool tip delay
        CSH.setHelpIDString(JLabel37, "configDisplay_html");
        CSH.setHelpIDString(JTF_ttDismiss, "configDisplay_html");

        CSH.setHelpIDString(JXB_latLon, "configDisplay_html");
        CSH.setHelpIDString(JXB_stateCounty, "configDisplay_html");
        CSH.setHelpIDString(JXB_elevation, "configDisplay_html");
        CSH.setHelpIDString(JXB_map, "configDisplay_html");
        CSH.setHelpIDString(JXB_McrewEdit, "configDisplay_html");
        CSH.setHelpIDString(JRB_english, "configDisplay_html");
        CSH.setHelpIDString(JRB_metric, "configDisplay_html");
        CSH.setHelpIDString(JLabel31, "configDisplay_html");
        CSH.setHelpIDString(JTF_timeSteps, "configDisplay_html");
        CSH.setHelpIDString(JP_Display, "configDisplay_html");

        // for all labels/fields in the Output tab
        CSH.setHelpIDString(JLabel17, "configReporting_html");
        CSH.setHelpIDString(JRB_1, "configReporting_html");
        CSH.setHelpIDString(JRB_2, "configReporting_html");
        CSH.setHelpIDString(JRB_3, "outReportPeriod_html");
        CSH.setHelpIDString(JRB_4, "configReporting_html");
        CSH.setHelpIDString(JLabel18, "configReporting_html");
        CSH.setHelpIDString(JLabel19, "configReporting_html");
        /*
         CSH.setHelpIDString(JLabel20, "outSubmodelReports");
         CSH.setHelpIDString(JCB_hydro, "outSubHydrology");
         CSH.setHelpIDString(JCB_soil, "outSubSoil");
         CSH.setHelpIDString(JCB_man, "outSubMan");
         CSH.setHelpIDString(JCB_crop, "outSubCrop");
         CSH.setHelpIDString(JCB_dec, "outSubDec");
         CSH.setHelpIDString(JCB_ero, "outSubEro_html");
         */
        CSH.setHelpIDString(JLabel21, "configReporting_html");
        CSH.setHelpIDString(JTF_detHydro, "configReporting_html");
        CSH.setHelpIDString(JLabel22, "configReporting_html");
        CSH.setHelpIDString(JTF_detSoil, "configReporting_html");
        CSH.setHelpIDString(JLabel23, "configReporting_html");
        CSH.setHelpIDString(JTF_detMan, "configReporting_html");
        CSH.setHelpIDString(JLabel24, "configReporting_html");
        CSH.setHelpIDString(JTF_detCrop, "configReporting_html");
        CSH.setHelpIDString(JLabel25, "configReporting_html");
        CSH.setHelpIDString(JTF_detDec, "configReporting_html");
        CSH.setHelpIDString(JLabel26, "configReporting_html");
        CSH.setHelpIDString(JTF_detEro, "configReporting_html");
        CSH.setHelpIDString(JP_Reporting, "configReporting_html");

        // for all labels/fields in the Email tab
        CSH.setHelpIDString(JLabel13, "configEmail_html");
        CSH.setHelpIDString(JTF_emailSender, "configEmail_html");
        CSH.setHelpIDString(JLabel15, "configEmail_html");
        CSH.setHelpIDString(JTF_emailWeps, "configEmail_html");
        CSH.setHelpIDString(JLabel16, "configEmail_html");
        CSH.setHelpIDString(JTF_emailBugs, "configEmail_html");
        CSH.setHelpIDString(JP_Email, "configEmail_html");

        // for all labels/fields in the Run tab
        CSH.setHelpIDString(JLabel30, "configRun_html");
        CSH.setHelpIDString(JRB_NRCS, "configRun_html");
        CSH.setHelpIDString(JRB_dates, "configRun_html");
        CSH.setHelpIDString(JRB_cycle, "configRun_html");
        CSH.setHelpIDString(JL_runLength, "configRun_html");
        CSH.setHelpIDString(JTF_runLength, "configRun_html");
        //CSH.setHelpIDString(JLabel29, "runAltWeather_html");
        //CSH.setHelpIDString(JCB_wind, "runAltWeather_html");
        //CSH.setHelpIDString(JCB_climate, "runAltWeather_html");
        CSH.setHelpIDString(JP_Run, "configRun_html");

        //CSH.setHelpIDString(JBGP_runType, "runRunType");
        /*       
         CSH.setHelpIDString(JTF_windFile, "runAltWeather");
         CSH.setHelpIDString(JB_windFile, "runAltWeather");
         CSH.setHelpIDString(JCB_climate, "runAltWeather");
         CSH.setHelpIDString(JTF_climateFile, "runAltWeather");
         CSH.setHelpIDString(JB_climateFile, "runAltWeather");
         CSH.setHelpIDString(JCB_subdaily, "runAltWeather");
         CSH.setHelpIDString(JTF_subdailyFile, "runAltWeather");
         CSH.setHelpIDString(JB_subdailyFile, "runAltWeather");
         */
    }//end of addCSH

    private void applyParameterUnits(Component component) {
        if (component instanceof MeasurableField) {
            @SuppressWarnings("unchecked")
            final MeasurableField<Length> mf = (MeasurableField<Length>) component;
            final Unit<Length> units = ConfigData.getDefault().getMeasureableUnit(mf.getName());
            final Unit<Length> altUnits = ConfigData.getDefault().getMeasureableAlternativeUnit(mf.getName());

            if (JRB_metric.isSelected()) {
                mf.setUnits(units);
            } else {
                mf.setUnits(altUnits);
            }

            JRB_metric.addItemListener(new ItemListener() {

                @Override
                public void itemStateChanged(ItemEvent e) {
                    if (JRB_metric.isSelected()) {
                        mf.setUnits(units);
                    } else {
                        mf.setUnits(altUnits);
                    }
                }
            });

        } else if (component instanceof Container) {
            Container container = (Container) component;
            for (Component child : container.getComponents()) {
                applyParameterUnits(child);
            }
        }
    }

    public void applyParameterAccessControls(Component component) {
        if (component instanceof Container) {
            Container container = (Container) component;
            for (Component c : container.getComponents()) {
                applyParameterAccessControls(c);
            }
        }

        if (!this.equals(component)) {
            String name = parseComponentName(component.getName());
            if (name == null) {
                return;
            }

            ConfigData.AccessLevel level = parseLevel(name);

            switch (level) {
                case Write:
                    component.setVisible(true);
                    component.setEnabled(true);
                    break;
                case Read:
                    component.setVisible(true);
                    if (component instanceof JTextField) {
                        JTextField jtf = (JTextField) component;
                        jtf.setEditable(false);
                        jtf.setEnabled(true);
                        component.setBackground(Color.LIGHT_GRAY);
                    } else {
                        component.setEnabled(false);
                    }
                    break;
                case Hidden:
                    component.setVisible(false);
                    component.setEnabled(false);
                    walkUpHiddenTree(component.getParent());
                    break;
                default:
            }
        }
    }

    private void walkUpHiddenTree(Container c) {
        if (c != null && isEverythingHidden(c)) {
            c.setVisible(false);
            if (JTP_main.equals(c.getParent())) {
                JTP_main.remove(c);
            } else {
                walkUpHiddenTree(c.getParent());
            }
        }

    }

    private boolean isEverythingHidden(Container c) {
        for (Component c2 : c.getComponents()) {
            if (c2.isVisible()) {
                return false;
            }
        }
        return true;
    }

    public void applyParameterErrorColoring(Component component) {
        if (component instanceof Container) {
            Container container = (Container) component;
            for (Component c : container.getComponents()) {
                applyParameterErrorColoring(c);
            }
        }
        try {
            if (!this.equals(component)) {
                if (component instanceof JTextField) {
                    String name = parseComponentName(component.getName());

                    ConfigData.FileConfigurationOption meta = getConfigData().getFileConfigurationOption(name);
                    if (meta != null) {
                        if (meta.required()) {
                            // test if the value exists as a file
                            TFile parentFile = null;
                            String parentOption = meta.parentOption();
                            if (parentOption != null && parentOption.trim().length() > 0) {
                                String parentPath = getValue(parentOption);
                                if (parentPath != null) {
                                    parentFile = new TFile(Util.parse(parentPath));
                                }
                            }

                            String path = getValue(name);
                            boolean error = false;
                            if (path != null) {
                                TFile file = new TFile(Util.parse(path));
                                if (!file.isAbsolute() && parentFile != null) {
                                    file = new TFile(parentFile, Util.parse(path));
                                }
                                // MEH need a full path for webstart
                                if (!file.isAbsolute()) {
                                    file = file.getCanOrAbsFile();
                                }

                                error = !file.exists();
                            }

                            if (error) {
                                component.setBackground(Color.PINK);
                                c_componentsWithErrors.add((JTextField) component);

                            } else {
                                ConfigData.AccessLevel level = parseLevel(name);
                                switch (level) {
                                    case Read:
                                        component.setBackground(Color.LIGHT_GRAY);
                                        break;
                                    default:
                                        component.setBackground(Color.WHITE);
                                        break;
                                }
                                c_componentsWithErrors.remove((JTextField) component);
                            }

                        }
                    }
                }
            }
        } catch (Exception e) {
            logger.error("Unable to test all configuration options.", e);
        }
    }

    private ConfigData.AccessLevel parseLevel(String name) {
        if (name == null) {
            return null;
        }
        ConfigData.AccessLevel level = null;
        String[] names = name.split(";");
        for (String splitName : names) {
            ConfigData.AccessLevel test = ConfigData.getDefault().getAccessLevel(splitName);
            level = ConfigData.AccessLevel.higher(level, test);
        }

        return level;
    }

    private String parseComponentName(String name) {
        if (name == null) {
            return null;
        }
        int index = name.indexOf(":");
        if (index > 0) {
            name = name.substring(0, index);
        }
        return name;
    }

    private String getValue(String propertyName) {
        String value = HT_changes.get(propertyName);
        if (value == null) {
            value = getConfigData().getData(propertyName);
        }
        return value;
    }

    protected String getJTFinfo(int choice) {
        switch(choice) {
            case 3:
                return jTextField3.getText();
            case 4:
                return  jTextField4.getText();
            case 5:
                return jTextField5.getText();
            case 9:
                return jTextField9.getText();
            case 10:
                return jTextField10.getText();
            case 11:
                return jTextField11.getText();
            case 12:
                return jTextField12.getText();
            case 13:
                return jTextField13.getText();
            case 14:
                return jTextField14.getText();     
        }
        return null;
    }
    
    protected void disableCheckBox(int choice) {
        switch(choice) {
            case 18:
                jCheckBox18.setSelected(false);
                jCheckBox18.setEnabled(false);
                break;
            case 19:
                jCheckBox19.setSelected(false);
                jCheckBox19.setEnabled(false);
                break;
            case 20:
                jCheckBox20.setSelected(false);
                jCheckBox20.setEnabled(false);
                break;
            case 22:
                jCheckBox22.setSelected(false);
                jCheckBox22.setEnabled(false);
                break;
            case 23:
                jCheckBox23.setSelected(false);
                jCheckBox23.setEnabled(false);
                break;
            case 25:
                jCheckBox25.setSelected(false);
                jCheckBox25.setEnabled(false);
                break;
            case 26:
                jCheckBox26.setSelected(false);
                jCheckBox26.setEnabled(false);
                break;
            case 27:
                jCheckBox27.setSelected(false);
                jCheckBox27.setEnabled(false);
                break;
            case 28:
                jCheckBox28.setSelected(false);
                jCheckBox28.setEnabled(false);
                break;
        }
    }
}


