Package xplanetconfigurator.gui

Source Code of xplanetconfigurator.gui.JPanelControlConfigFileMap

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* JPanelAll.java
*
* Created on 27.04.2009, 22:13:10
*/
package xplanetconfigurator.gui;

import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
import xplanetconfigurator.util.XPlanetRessourceFinder;

/**
*
* @author tom
*/
public class JPanelControlConfigFileMap extends ControlPanel {

    private Logger logger;

    /** Creates new form JPanelAll */
    public JPanelControlConfigFileMap(MainFrame mainFrame) {
        super(mainFrame);
        initComponents();
        this.logger = Logger.getLogger(this.getClass().getName());
    }

    /** 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("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jPanelControls = new javax.swing.JPanel();
        jLabelColor = new javax.swing.JLabel();
        jTextFieldParameterTwilight = new javax.swing.JTextField();
        jLabelShade = new javax.swing.JLabel();
        jTextFieldParameterShade = new javax.swing.JTextField();
        jLabelNightMap = new javax.swing.JLabel();
        jLabelImage = new javax.swing.JLabel();
        jLabelTwilight = new javax.swing.JLabel();
        jLabelBumpMap = new javax.swing.JLabel();
        jTextFieldParameterBumpScale = new javax.swing.JTextField();
        jLabelBumbScale = new javax.swing.JLabel();
        jLabelSpecularMap = new javax.swing.JLabel();
        jLabelMapBounds = new javax.swing.JLabel();
        jTextFieldParameterMapBounds = new javax.swing.JTextField();
        jTextFieldParameterColor = new javax.swing.JTextField();
        jButtonAddMap = new javax.swing.JButton();
        jButtonDeleteMap = new javax.swing.JButton();
        jTextFieldParameterMap = new javax.swing.JTextField();
        jTextFieldParameterNightMap = new javax.swing.JTextField();
        jTextFieldParameterSpecularMap = new javax.swing.JTextField();
        jTextFieldParameterBumpMap = new javax.swing.JTextField();
        jButtonAddNightMap = new javax.swing.JButton();
        jButtonDeleteNightMap = new javax.swing.JButton();
        jButtonAddSpecularMap = new javax.swing.JButton();
        jButtonDeleteSpecularMap = new javax.swing.JButton();
        jButtonAddBumpMap = new javax.swing.JButton();
        jButtonDeleteBumpMap = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JSeparator();
        jPanelHelp = new javax.swing.JPanel();
        jLabelHelp = new javax.swing.JLabel();
        jScrollPane = new javax.swing.JScrollPane();
        jTextAreaHelp = new javax.swing.JTextArea();

        addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                formComponentShown(evt);
            }
        });
        setLayout(new java.awt.GridBagLayout());

        jPanelControls.setName("jPanelControls"); // NOI18N
        jPanelControls.setLayout(new java.awt.GridBagLayout());

        jLabelColor.setText("<html><b>color"); // NOI18N
        jLabelColor.setName("jLabelColor"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 5;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelColor, gridBagConstraints);

        jTextFieldParameterTwilight.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterTwilight.setName("jTextFieldParameterTwilight"); // NOI18N
        jTextFieldParameterTwilight.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterTwilight.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterTwilightCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterTwilight, gridBagConstraints);

        jLabelShade.setText("<html><b>shade"); // NOI18N
        jLabelShade.setName("jLabelShade"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 5;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelShade, gridBagConstraints);

        jTextFieldParameterShade.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterShade.setName("jTextFieldParameterShade"); // NOI18N
        jTextFieldParameterShade.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterShade.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterShadeCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterShade, gridBagConstraints);

        jLabelNightMap.setText("<html><b>night_map"); // NOI18N
        jLabelNightMap.setName("jLabelNightMap"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelNightMap, gridBagConstraints);

        jLabelImage.setText("<html><b>image (map)"); // NOI18N
        jLabelImage.setName("jLabelImage"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelImage, gridBagConstraints);

        jLabelTwilight.setText("<html><b>twilight"); // NOI18N
        jLabelTwilight.setName("jLabelTwilight"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 5;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelTwilight, gridBagConstraints);

        jLabelBumpMap.setText("<html><b>bump_map"); // NOI18N
        jLabelBumpMap.setName("jLabelBumpMap"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelBumpMap, gridBagConstraints);

        jTextFieldParameterBumpScale.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterBumpScale.setName("jTextFieldParameterBumpScale"); // NOI18N
        jTextFieldParameterBumpScale.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterBumpScale.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterBumpScaleCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterBumpScale, gridBagConstraints);

        jLabelBumbScale.setText("<html><b>bump_scale"); // NOI18N
        jLabelBumbScale.setName("jLabelBumbScale"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 5;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelBumbScale, gridBagConstraints);

        jLabelSpecularMap.setText("<html><b>specular_map"); // NOI18N
        jLabelSpecularMap.setName("jLabelSpecularMap"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelSpecularMap, gridBagConstraints);

        jLabelMapBounds.setText("<html><b>mapbounds"); // NOI18N
        jLabelMapBounds.setName("jLabelMapBounds"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jLabelMapBounds, gridBagConstraints);

        jTextFieldParameterMapBounds.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterMapBounds.setName("jTextFieldParameterMapBounds"); // NOI18N
        jTextFieldParameterMapBounds.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterMapBounds.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterMapBoundsCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterMapBounds, gridBagConstraints);

        jTextFieldParameterColor.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterColor.setName("jTextFieldParameterColor"); // NOI18N
        jTextFieldParameterColor.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterColor.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterColorCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 6;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterColor, gridBagConstraints);

        jButtonAddMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Add-16x16.gif"))); // NOI18N
        jButtonAddMap.setName("jButtonAddMap"); // NOI18N
        jButtonAddMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonAddMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 3;
        gridBagConstraints.gridy = 2;
        jPanelControls.add(jButtonAddMap, gridBagConstraints);

        jButtonDeleteMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Delete-16x16.gif"))); // NOI18N
        jButtonDeleteMap.setName("jButtonDeleteMap"); // NOI18N
        jButtonDeleteMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonDeleteMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 2;
        jPanelControls.add(jButtonDeleteMap, gridBagConstraints);

        jTextFieldParameterMap.setMinimumSize(new java.awt.Dimension(200, 20));
        jTextFieldParameterMap.setName("jTextFieldParameterMap"); // NOI18N
        jTextFieldParameterMap.setPreferredSize(new java.awt.Dimension(200, 20));
        jTextFieldParameterMap.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterMapCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterMap, gridBagConstraints);

        jTextFieldParameterNightMap.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterNightMap.setName("jTextFieldParameterNightMap"); // NOI18N
        jTextFieldParameterNightMap.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterNightMap.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterNightMapCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterNightMap, gridBagConstraints);

        jTextFieldParameterSpecularMap.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterSpecularMap.setName("jTextFieldParameterSpecularMap"); // NOI18N
        jTextFieldParameterSpecularMap.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterSpecularMap.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterSpecularMapCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterSpecularMap, gridBagConstraints);

        jTextFieldParameterBumpMap.setMinimumSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterBumpMap.setName("jTextFieldParameterBumpMap"); // NOI18N
        jTextFieldParameterBumpMap.setPreferredSize(new java.awt.Dimension(70, 20));
        jTextFieldParameterBumpMap.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                jTextFieldParameterBumpMapCaretUpdate(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelControls.add(jTextFieldParameterBumpMap, gridBagConstraints);

        jButtonAddNightMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Add-16x16.gif"))); // NOI18N
        jButtonAddNightMap.setName("jButtonAddNightMap"); // NOI18N
        jButtonAddNightMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonAddNightMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddNightMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 3;
        gridBagConstraints.gridy = 3;
        jPanelControls.add(jButtonAddNightMap, gridBagConstraints);

        jButtonDeleteNightMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Delete-16x16.gif"))); // NOI18N
        jButtonDeleteNightMap.setName("jButtonDeleteNightMap"); // NOI18N
        jButtonDeleteNightMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonDeleteNightMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteNightMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 3;
        jPanelControls.add(jButtonDeleteNightMap, gridBagConstraints);

        jButtonAddSpecularMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Add-16x16.gif"))); // NOI18N
        jButtonAddSpecularMap.setName("jButtonAddSpecularMap"); // NOI18N
        jButtonAddSpecularMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonAddSpecularMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddSpecularMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 3;
        gridBagConstraints.gridy = 4;
        jPanelControls.add(jButtonAddSpecularMap, gridBagConstraints);

        jButtonDeleteSpecularMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Delete-16x16.gif"))); // NOI18N
        jButtonDeleteSpecularMap.setName("jButtonDeleteSpecularMap"); // NOI18N
        jButtonDeleteSpecularMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonDeleteSpecularMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteSpecularMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 4;
        jPanelControls.add(jButtonDeleteSpecularMap, gridBagConstraints);

        jButtonAddBumpMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Add-16x16.gif"))); // NOI18N
        jButtonAddBumpMap.setName("jButtonAddBumpMap"); // NOI18N
        jButtonAddBumpMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonAddBumpMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddBumpMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 3;
        gridBagConstraints.gridy = 5;
        jPanelControls.add(jButtonAddBumpMap, gridBagConstraints);

        jButtonDeleteBumpMap.setIcon(new javax.swing.ImageIcon(getClass().getResource("/xplanetconfigurator/gui/resources/img/Button-Delete-16x16.gif"))); // NOI18N
        jButtonDeleteBumpMap.setName("jButtonDeleteBumpMap"); // NOI18N
        jButtonDeleteBumpMap.setPreferredSize(new java.awt.Dimension(25, 25));
        jButtonDeleteBumpMap.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteBumpMapActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.gridy = 5;
        jPanelControls.add(jButtonDeleteBumpMap, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        add(jPanelControls, gridBagConstraints);

        jSeparator1.setName("jSeparator1"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.weightx = 1.0;
        add(jSeparator1, gridBagConstraints);

        jPanelHelp.setName("jPanelHelp"); // NOI18N
        jPanelHelp.setLayout(new java.awt.GridBagLayout());

        jLabelHelp.setText("Help Text of XPlanet");
        jLabelHelp.setName("jLabelHelp"); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        jPanelHelp.add(jLabelHelp, gridBagConstraints);

        jScrollPane.setName("jScrollPane"); // NOI18N

        jTextAreaHelp.setColumns(20);
        jTextAreaHelp.setEditable(false);
        jTextAreaHelp.setRows(5);
        jTextAreaHelp.setText("image\nSpecify the image map to use.  The default is body.jpg\n(e.g. earth.jpg, neptune.jpg)\n\nmap\nSame as the image option above.\n\ncolor\nIf an image map for the body is not found, use the specified color\ninstead.  The default is white, although a color is specified for most\nbodies in the default configuration file.\n\ntwilight\nLet the day and night hemispheres blend into one another for pixels\nwithin the specified number of degrees of the terminator.  The default\nvalue is 6.\n\nshade\nIf the night image file is not found, set the brightness of the night\nmap to shade percent of the day map.  If shade is 100, the day and\nnight maps will be identical.  The default value is 30.\n\nnight_map\nUse night_file as the night map image.  If this option is not\nspecified, a default night map will be used for the earth.  If this\nfile is not found, or for the other planets, the night map will be a\ncopy of the day map, modified as described under the shade option.\n\nspecular_map\nUse filename as a specular reflectance file.  Normally it's just a\ngreyscale image where the oceans are set to 255 and the land masses\nare set to 0.  This is used to display the reflection of the sun off\nof the oceans.  The default is no specular file.\n\nbump_map\nSpecify a bump map to use for relief shading.  This is assumed to be\nan greyscale image file representing a digital elevation map with\nelevations ranging from 0 to 255.  The default is no bump map.\n\nbump_scale\nExaggerate the vertical relief for computing the shading.  The default\nvalue is 1.\n\nmapbounds={lat1,lon1,lat2,lon2}\nAssume that each map file read in has its northwest corner at\nlat1,lon1 and its southeast corner at lat2,lon2.  This is useful if\nyou have a high-res map but just want to show a small area."); // NOI18N
        jTextAreaHelp.setName("jTextAreaHelp"); // NOI18N
        jScrollPane.setViewportView(jTextAreaHelp);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        jPanelHelp.add(jScrollPane, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        add(jPanelHelp, gridBagConstraints);
    }// </editor-fold>//GEN-END:initComponents

    private void formComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentShown
        this.receiveCommandLineParameters();
    }//GEN-LAST:event_formComponentShown

    private void jTextFieldParameterTwilightCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterTwilightCaretUpdate
        this.sendConfigParameter(this.jTextFieldParameterTwilight, "twilight", "(?i)(twilight=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterTwilightCaretUpdate

    private void jTextFieldParameterShadeCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterShadeCaretUpdate
        this.sendConfigParameter(this.jTextFieldParameterShade, "shade", "(?i)(shade=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterShadeCaretUpdate

    private void jTextFieldParameterBumpScaleCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterBumpScaleCaretUpdate
        this.sendConfigParameter(this.jTextFieldParameterBumpScale, "bump_scale", "(?i)(bump_scale=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterBumpScaleCaretUpdate

    private void jTextFieldParameterMapBoundsCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterMapBoundsCaretUpdate
        this.sendConfigParameter(this.jTextFieldParameterMapBounds, "mapbounds", "(?i)(mapbounds=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterMapBoundsCaretUpdate

    private void jTextFieldParameterColorCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterColorCaretUpdate
        this.sendConfigParameter(this.jTextFieldParameterColor, "color", "(?i)(color=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterColorCaretUpdate

    private void jButtonAddMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddMapActionPerformed
        this.chooseFileFromDirectory(this.jTextFieldParameterMap, "image");
}//GEN-LAST:event_jButtonAddMapActionPerformed

    private void jButtonDeleteMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteMapActionPerformed
        this.jTextFieldParameterMap.setText("");
        this.sendConfigParameter(this.jTextFieldParameterMap, "image", "(?i)(image=)(\\S*)", true);
}//GEN-LAST:event_jButtonDeleteMapActionPerformed

    private void jTextFieldParameterMapCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterMapCaretUpdate
        if (!this.jTextFieldParameterMap.hasFocus()) {
            return;
        }
        this.sendConfigParameter(this.jTextFieldParameterMap, "image", "(?i)(image=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterMapCaretUpdate

    private void jTextFieldParameterNightMapCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterNightMapCaretUpdate
        if (!this.jTextFieldParameterNightMap.hasFocus()) {
            return;
        }
        this.sendConfigParameter(this.jTextFieldParameterNightMap, "night_map", "(?i)(night_map=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterNightMapCaretUpdate

    private void jTextFieldParameterSpecularMapCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterSpecularMapCaretUpdate
        if (!this.jTextFieldParameterSpecularMap.hasFocus()) {
            return;
        }
        this.sendConfigParameter(this.jTextFieldParameterSpecularMap, "specular_map", "(?i)(specular_map=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterSpecularMapCaretUpdate

    private void jTextFieldParameterBumpMapCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextFieldParameterBumpMapCaretUpdate
        if (!this.jTextFieldParameterBumpMap.hasFocus()) {
            return;
        }
        this.sendConfigParameter(this.jTextFieldParameterBumpMap, "bump_map", "(?i)(bump_map=)(\\S*)");
}//GEN-LAST:event_jTextFieldParameterBumpMapCaretUpdate

    private void jButtonAddNightMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddNightMapActionPerformed
        this.chooseFileFromDirectory(this.jTextFieldParameterNightMap, "night_map");
}//GEN-LAST:event_jButtonAddNightMapActionPerformed

    private void jButtonDeleteNightMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteNightMapActionPerformed
        this.jTextFieldParameterNightMap.setText("");
        this.sendConfigParameter(this.jTextFieldParameterNightMap, "night_map", "(?i)(night_map=)(\\S*)", true);
}//GEN-LAST:event_jButtonDeleteNightMapActionPerformed

    private void jButtonAddSpecularMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddSpecularMapActionPerformed
        this.chooseFileFromDirectory(this.jTextFieldParameterSpecularMap, "specular_map");
}//GEN-LAST:event_jButtonAddSpecularMapActionPerformed

    private void jButtonDeleteSpecularMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteSpecularMapActionPerformed
        this.jTextFieldParameterSpecularMap.setText("");
        this.sendConfigParameter(this.jTextFieldParameterSpecularMap, "specular_map", "(?i)(specular_map=)(\\S*)", true);
}//GEN-LAST:event_jButtonDeleteSpecularMapActionPerformed

    private void jButtonAddBumpMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddBumpMapActionPerformed
        this.chooseFileFromDirectory(this.jTextFieldParameterBumpMap, "bump_map");
}//GEN-LAST:event_jButtonAddBumpMapActionPerformed

    private void jButtonDeleteBumpMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteBumpMapActionPerformed
        this.jTextFieldParameterBumpMap.setText("");
        this.sendConfigParameter(this.jTextFieldParameterBumpMap, "bump_map", "(?i)(bump_map=)(\\S*)", true);
}//GEN-LAST:event_jButtonDeleteBumpMapActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonAddBumpMap;
    private javax.swing.JButton jButtonAddMap;
    private javax.swing.JButton jButtonAddNightMap;
    private javax.swing.JButton jButtonAddSpecularMap;
    private javax.swing.JButton jButtonDeleteBumpMap;
    private javax.swing.JButton jButtonDeleteMap;
    private javax.swing.JButton jButtonDeleteNightMap;
    private javax.swing.JButton jButtonDeleteSpecularMap;
    private javax.swing.JLabel jLabelBumbScale;
    private javax.swing.JLabel jLabelBumpMap;
    private javax.swing.JLabel jLabelColor;
    private javax.swing.JLabel jLabelHelp;
    private javax.swing.JLabel jLabelImage;
    private javax.swing.JLabel jLabelMapBounds;
    private javax.swing.JLabel jLabelNightMap;
    private javax.swing.JLabel jLabelShade;
    private javax.swing.JLabel jLabelSpecularMap;
    private javax.swing.JLabel jLabelTwilight;
    private javax.swing.JPanel jPanelControls;
    private javax.swing.JPanel jPanelHelp;
    private javax.swing.JScrollPane jScrollPane;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTextArea jTextAreaHelp;
    private javax.swing.JTextField jTextFieldParameterBumpMap;
    private javax.swing.JTextField jTextFieldParameterBumpScale;
    private javax.swing.JTextField jTextFieldParameterColor;
    private javax.swing.JTextField jTextFieldParameterMap;
    private javax.swing.JTextField jTextFieldParameterMapBounds;
    private javax.swing.JTextField jTextFieldParameterNightMap;
    private javax.swing.JTextField jTextFieldParameterShade;
    private javax.swing.JTextField jTextFieldParameterSpecularMap;
    private javax.swing.JTextField jTextFieldParameterTwilight;
    // End of variables declaration//GEN-END:variables

    @Override
    boolean receiveCommandLineParameters(String parameters) throws XPlanetException {
        boolean hasFound = this.findParameterString(parameters);
        if (hasFound) {
            String sectionText = this.getWholeSection();
            String regExpr = "(?i)(image=|\\bmap=\\b)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterMap, 2);
            regExpr = "(?i)(color=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterColor, 2);
            regExpr = "(?i)(twilight=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterTwilight, 2);
            regExpr = "(?i)(shade=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterShade, 2);
            regExpr = "(?i)(\\bnight_map\\b=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterNightMap, 2);
            regExpr = "(?i)(\\bspecular_map\\b=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterSpecularMap, 2);
            regExpr = "(?i)(\\bbump_map\\b=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterBumpMap, 2);
            regExpr = "(?i)(\\bbump_scale\\b=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterBumpScale, 2);
            regExpr = "(?i)(\\bmapbounds\\b=)(\\S+)";
            this.receiveParameter(sectionText, regExpr, this.jTextFieldParameterMapBounds, 2);
            return true;
        } else {
            this.logger.finest("Did not find own parameter");
            return false;
        }
    }

    public String getText() {
        return this.jTextAreaHelp.getText();
    }

    public JTextComponent getTextComponent() {
        return this.jTextAreaHelp;
    }

    /**
     * Open a file chooser and show the content of the marker directory to
     * add a marker file.
     */
    /**
     *
     * @param textField The text field to read and fill respectively
     * @param markerType e.g. 'image', 'bump_map',...
     */
    private void chooseFileFromDirectory(JTextField textField, String markerType) {
        JFileChooser fc = new JFileChooser();
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        XPlanetRessourceFinder rf = new XPlanetRessourceFinder();
        String downloaderRootDir = rf.getRootDirectoryForDownloads();
        String dir = downloaderRootDir + File.separator + "images";
        // Select the directory
        File f = new File(dir);
        String selectedFileName = (String) textField.getText();
        if (selectedFileName != null) {
            // Select the selected marker file
            String s = dir + File.separator + selectedFileName;
            f = new File(s);
        }
        fc.setSelectedFile(f);
        fc.setMultiSelectionEnabled(false);
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int returnVal = fc.showOpenDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            this.logger.finer("User choose a marker file from the markers directory: " + file.getAbsolutePath());
            String fileName = file.getName();
            if (fileName != null) {
                this.logger.finer("The file name is: " + fileName + ". Adding to list...");
            }
            textField.setText(fileName);
            this.sendConfigParameter(textField, markerType, "(?i)(" + markerType + "=)(\\S*)", true);
        }
    }

    @Override
    void receiveCommandLineParameters() {
        String params = this.getMainFrame().getConfigParameters();
        try {
            this.receiveCommandLineParameters(params);
        } catch (XPlanetException ex) {
            this.logger.log(Level.SEVERE, null, ex);
        }
    }
}
TOP

Related Classes of xplanetconfigurator.gui.JPanelControlConfigFileMap

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.