/*
* 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);
}
}
}