/*
* The contents of this file are subject to the terms of the Common Development
* and Distribution License (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at http://www.netbeans.org/cddl.html
* or http://www.netbeans.org/cddl.txt.
*
* When distributing Covered Code, include this CDDL Header Notice in each file
* and include the License file at http://www.netbeans.org/cddl.txt.
* If applicable, add the following below the CDDL Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* The Original Software is NetBeans. The Initial Developer of the Original
* Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.gwt4nb;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import javax.swing.ComboBoxModel;
/**
* GWT project settings.
*/
public class SettingsPanel extends javax.swing.JPanel {
private static final long serialVersionUID = 1;
private static final List<String> OUTPUT_STYLES =
Arrays.asList(new String[]{
"OBFUSCATED", "PRETTY", "DETAILED"}); // NOI18N
/**
* Creates new form SettingsPanel
*/
public SettingsPanel() {
initComponents();
}
/**
* Fills this panel with the data from gwt.properties
*
* @param props gwt.properties
*/
public void fillPanel(Properties props) {
final String m = props.getProperty("gwt.module"); // NOI18N
String[] ms = m.split(" "); // NOI18N
jTextAreaModules.setText(GWT4NBUtil.join(Arrays.asList(ms),
"\n")); // NOI18N
jTextFieldCompilerOutputDirectory.setText(
props.getProperty("gwt.output.dir")); // NOI18N
jComboBoxCompilerOutputStyle.setSelectedIndex(
prefixIndex(props.getProperty(
"gwt.compiler.output.style"), OUTPUT_STYLES)); // NOI18N
jTextFieldCompilerJVMArgs.setText(
props.getProperty("gwt.compiler.jvmargs")); // NOI18N
jSpinnerCompilerWorkers.setValue(new Integer(props.getProperty(
"gwt.compiler.local.workers"))); // NOI18N
jComboBoxCompilerLogLevel.setSelectedItem(props.getProperty(
"gwt.compiler.logLevel")); // NOI18N
jComboBoxShellOutputStyle.setSelectedIndex(
prefixIndex(props.getProperty(
"gwt.shell.output.style"), OUTPUT_STYLES)); // NOI18N
jComboBoxShellLogLevel.setSelectedItem(props.getProperty(
"gwt.shell.logLevel")); // NOI18N
jTextFieldShellJVM.setText(
props.getProperty("gwt.shell.java")); // NOI18N
jTextFieldShellJVMArgs.setText(
props.getProperty("gwt.shell.jvmargs")); // NOI18N
jCheckBoxOpenBrowser.setSelected(props.getProperty("gwt.debug.openbrowser") != null
&& props.getProperty("gwt.debug.openbrowser").equals("yes"));
jCheckBoxSuperDev.setSelected(props.getProperty("gwt.debug.superdev") != null
&& props.getProperty("gwt.debug.superdev").equals("yes"));
// select the newest version, if unknown
ComboBoxModel cbm = jComboBoxGWTVersion.getModel();
String v = props.getProperty("gwt.version"); // NOI18N
int index = -1;
for (int i = 0; i < cbm.getSize(); i++) {
if (cbm.getElementAt(i).equals(v)) {
index = i;
break;
}
}
if (index < 0) {
index = jComboBoxGWTVersion.getItemCount() - 1;
}
jComboBoxGWTVersion.setSelectedIndex(index);
jSpinnerShellServerPort.setValue(new Integer(props.getProperty(
"gwt.shell.code.server.port"))); // NOI18N
jSpinnerShellPort.setValue(new Integer(props.getProperty(
"gwt.shell.port"))); // NOI18N
jTextFieldCompilerArgs.setText(
props.getProperty("gwt.compiler.args")); // NOI18N
jTextFieldTestsArgs.setText(
props.getProperty("gwt.test.jvmargs")); // NOI18N
jTextFieldShellArgs.setText(
props.getProperty("gwt.shell.args")); // NOI18N
}
/**
* Stores the data from this panel in gwt.properties.
*
* @param props gwt.properties
*/
public void fillData(Properties props) {
final String m = jTextAreaModules.getText();
String[] ms = m.split("\n"); // NOI18N
props.setProperty("gwt.module", // NOI18N
GWT4NBUtil.join(Arrays.asList(ms), // NOI18N
" ")); // NOI18N
props.setProperty("gwt.output.dir", // NOI18N
jTextFieldCompilerOutputDirectory.getText());
props.setProperty("gwt.compiler.output.style", // NOI18N
OUTPUT_STYLES.get(
jComboBoxCompilerOutputStyle.getSelectedIndex()));
props.setProperty("gwt.compiler.jvmargs", // NOI18N
jTextFieldCompilerJVMArgs.getText());
props.setProperty("gwt.compiler.local.workers", // NOI18N
jSpinnerCompilerWorkers.getValue().toString());
props.setProperty("gwt.compiler.logLevel", // NOI18N
(String) jComboBoxCompilerLogLevel.getSelectedItem());
props.setProperty("gwt.shell.output.style", // NOI18N
OUTPUT_STYLES.get(
jComboBoxShellOutputStyle.getSelectedIndex()));
props.setProperty("gwt.shell.logLevel", // NOI18N
(String) jComboBoxShellLogLevel.getSelectedItem());
props.setProperty("gwt.shell.java", // NOI18N
jTextFieldShellJVM.getText());
props.setProperty("gwt.shell.jvmargs", // NOI18N
jTextFieldShellJVMArgs.getText());
props.setProperty("gwt.version", // NOI18N
(String) jComboBoxGWTVersion.getSelectedItem());
props.setProperty("gwt.shell.code.server.port", // NOI18N
jSpinnerShellServerPort.getValue().toString());
props.setProperty("gwt.shell.port", // NOI18N
jSpinnerShellPort.getValue().toString());
props.setProperty("gwt.compiler.args", // NOI18N
jTextFieldCompilerArgs.getText());
props.setProperty("gwt.test.jvmargs", // NOI18N
jTextFieldTestsArgs.getText());
props.setProperty("gwt.shell.args", // NOI18N
jTextFieldShellArgs.getText());
props.setProperty("gwt.debug.openbrowser", jCheckBoxOpenBrowser.isSelected()
? "yes" : "no");
props.setProperty("gwt.debug.superdev", jCheckBoxSuperDev.isSelected()
? "yes" : "no");
}
/**
* 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() {
jScrollPane3 = new javax.swing.JScrollPane();
jPanel3 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextAreaModules = new javax.swing.JTextArea();
jPanel1 = new javax.swing.JPanel();
jLabelCompilerJVMArgs = new javax.swing.JLabel();
jTextFieldCompilerJVMArgs = new javax.swing.JTextField();
jLabelCompilerArgs = new javax.swing.JLabel();
jTextFieldCompilerArgs = new javax.swing.JTextField();
jLabelCompilerOutputStyle = new javax.swing.JLabel();
jComboBoxCompilerOutputStyle = new javax.swing.JComboBox();
jLabelCompilerLogLevel = new javax.swing.JLabel();
jComboBoxCompilerLogLevel = new javax.swing.JComboBox();
jLabelCompilerWorkers = new javax.swing.JLabel();
jSpinnerCompilerWorkers = new javax.swing.JSpinner();
jLabelCompilerOutputDir = new javax.swing.JLabel();
jTextFieldCompilerOutputDirectory = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
jLabelShellJVMArgs = new javax.swing.JLabel();
jTextFieldShellJVMArgs = new javax.swing.JTextField();
jLabelShellArgs = new javax.swing.JLabel();
jTextFieldShellArgs = new javax.swing.JTextField();
jLabelShellOutputStyle = new javax.swing.JLabel();
jComboBoxShellOutputStyle = new javax.swing.JComboBox();
jLabelShellLogLevel = new javax.swing.JLabel();
jComboBoxShellLogLevel = new javax.swing.JComboBox();
jLabelShellWebServerPort = new javax.swing.JLabel();
jSpinnerShellPort = new javax.swing.JSpinner();
jLabelShellCodeServerPort = new javax.swing.JLabel();
jSpinnerShellServerPort = new javax.swing.JSpinner();
jLabel2 = new javax.swing.JLabel();
jTextFieldShellJVM = new javax.swing.JTextField();
jLabelGWTVersion = new javax.swing.JLabel();
jComboBoxGWTVersion = new javax.swing.JComboBox();
jLabelGWTTestsJVMArgs = new javax.swing.JLabel();
jTextFieldTestsArgs = new javax.swing.JTextField();
jCheckBoxOpenBrowser = new javax.swing.JCheckBox();
jCheckBoxSuperDev = new javax.swing.JCheckBox();
setLayout(new java.awt.BorderLayout());
jPanel3.setBorder(javax.swing.BorderFactory.createEmptyBorder(11, 11, 12, 12));
jLabel1.setLabelFor(jTextAreaModules);
jLabel1.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel1.text")); // NOI18N
jTextAreaModules.setColumns(20);
jTextAreaModules.setRows(5);
jTextAreaModules.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextAreaModules.toolTipText")); // NOI18N
jScrollPane1.setViewportView(jTextAreaModules);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jPanel1.border.title"))); // NOI18N
jPanel1.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jPanel1.toolTipText")); // NOI18N
jLabelCompilerJVMArgs.setLabelFor(jTextFieldCompilerJVMArgs);
jLabelCompilerJVMArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelCompilerJVMArgs.text")); // NOI18N
jTextFieldCompilerJVMArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextField1.text")); // NOI18N
jTextFieldCompilerJVMArgs.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldCompilerJVMArgs.toolTipText")); // NOI18N
jLabelCompilerArgs.setLabelFor(jTextFieldCompilerArgs);
jLabelCompilerArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelCompilerArgs.text")); // NOI18N
jTextFieldCompilerArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextField1.text")); // NOI18N
jTextFieldCompilerArgs.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldCompilerArgs.toolTipText")); // NOI18N
jLabelCompilerOutputStyle.setLabelFor(jComboBoxCompilerOutputStyle);
jLabelCompilerOutputStyle.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelCompilerOutputStyle.text")); // NOI18N
jComboBoxCompilerOutputStyle.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Obfuscated", "Pretty", "Detailed" }));
jComboBoxCompilerOutputStyle.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jComboBoxCompilerOutputStyle.toolTipText")); // NOI18N
jLabelCompilerLogLevel.setLabelFor(jComboBoxCompilerLogLevel);
jLabelCompilerLogLevel.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelCompilerLogLevel.text")); // NOI18N
jComboBoxCompilerLogLevel.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ERROR", "WARN", "INFO", "TRACE", "DEBUG" }));
jComboBoxCompilerLogLevel.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jComboBoxCompilerLogLevel.toolTipText")); // NOI18N
jLabelCompilerWorkers.setLabelFor(jSpinnerCompilerWorkers);
jLabelCompilerWorkers.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelCompilerWorkers.text")); // NOI18N
jSpinnerCompilerWorkers.setModel(new javax.swing.SpinnerNumberModel(1, 1, 99, 1));
jSpinnerCompilerWorkers.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jSpinnerCompilerWorkers.toolTipText")); // NOI18N
jLabelCompilerOutputDir.setLabelFor(jTextFieldCompilerOutputDirectory);
jLabelCompilerOutputDir.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelCompilerOutputDir.text")); // NOI18N
jTextFieldCompilerOutputDirectory.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextField1.text")); // NOI18N
jTextFieldCompilerOutputDirectory.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldCompilerOutputDirectory.toolTipText")); // NOI18N
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabelCompilerJVMArgs)
.add(jLabelCompilerArgs)
.add(jLabelCompilerOutputStyle)
.add(jLabelCompilerLogLevel)
.add(jLabelCompilerWorkers)
.add(jLabelCompilerOutputDir))
.add(4, 4, 4)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jTextFieldCompilerOutputDirectory)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jTextFieldCompilerArgs)
.add(jTextFieldCompilerJVMArgs)
.add(jPanel1Layout.createSequentialGroup()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jSpinnerCompilerWorkers, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jComboBoxCompilerOutputStyle, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jComboBoxCompilerLogLevel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelCompilerJVMArgs)
.add(jTextFieldCompilerJVMArgs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout.createSequentialGroup()
.add(26, 26, 26)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelCompilerArgs)
.add(jTextFieldCompilerArgs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
.add(6, 6, 6)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelCompilerOutputStyle)
.add(jComboBoxCompilerOutputStyle, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelCompilerLogLevel)
.add(jComboBoxCompilerLogLevel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelCompilerWorkers)
.add(jSpinnerCompilerWorkers, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelCompilerOutputDir)
.add(jTextFieldCompilerOutputDirectory, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jPanel2.border.title"))); // NOI18N
jPanel2.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jPanel2.toolTipText")); // NOI18N
jLabelShellJVMArgs.setLabelFor(jTextFieldShellJVMArgs);
jLabelShellJVMArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelShellJVMArgs.text")); // NOI18N
jTextFieldShellJVMArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextField1.text")); // NOI18N
jTextFieldShellJVMArgs.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldShellJVMArgs.toolTipText")); // NOI18N
jLabelShellArgs.setLabelFor(jTextFieldShellArgs);
jLabelShellArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelShellArgs.text")); // NOI18N
jTextFieldShellArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextField1.text")); // NOI18N
jTextFieldShellArgs.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldShellArgs.toolTipText")); // NOI18N
jLabelShellOutputStyle.setLabelFor(jComboBoxShellOutputStyle);
jLabelShellOutputStyle.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelShellOutputStyle.text")); // NOI18N
jComboBoxShellOutputStyle.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Obfuscated", "Pretty", "Detailed" }));
jComboBoxShellOutputStyle.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jComboBoxShellOutputStyle.toolTipText")); // NOI18N
jLabelShellLogLevel.setLabelFor(jComboBoxShellLogLevel);
jLabelShellLogLevel.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelShellLogLevel.text")); // NOI18N
jComboBoxShellLogLevel.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ERROR", "WARN", "INFO", "TRACE", "DEBUG" }));
jComboBoxShellLogLevel.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jComboBoxShellLogLevel.toolTipText")); // NOI18N
jLabelShellWebServerPort.setLabelFor(jSpinnerShellPort);
jLabelShellWebServerPort.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelShellWebServerPort.text")); // NOI18N
jSpinnerShellPort.setModel(new javax.swing.SpinnerNumberModel(0, 0, 65535, 1));
jSpinnerShellPort.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jSpinnerShellPort.toolTipText")); // NOI18N
jLabelShellCodeServerPort.setLabelFor(jSpinnerShellServerPort);
jLabelShellCodeServerPort.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelShellCodeServerPort.text")); // NOI18N
jSpinnerShellServerPort.setModel(new javax.swing.SpinnerNumberModel(0, 0, 65535, 1));
jSpinnerShellServerPort.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jSpinnerShellServerPort.toolTipText")); // NOI18N
jLabel2.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel2.text")); // NOI18N
jTextFieldShellJVM.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldShellJVM.text_1")); // NOI18N
jTextFieldShellJVM.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "GWTShellJVMToolTip")); // NOI18N
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabelShellJVMArgs)
.add(jLabelShellCodeServerPort)
.add(jLabelShellOutputStyle)
.add(jLabelShellArgs)
.add(jLabelShellLogLevel)
.add(jLabelShellWebServerPort)
.add(jLabel2))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jComboBoxShellOutputStyle, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jComboBoxShellLogLevel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jSpinnerShellServerPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jSpinnerShellPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jTextFieldShellJVMArgs)
.add(jTextFieldShellArgs)
.add(jTextFieldShellJVM))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel2)
.add(jTextFieldShellJVM, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelShellJVMArgs)
.add(jTextFieldShellJVMArgs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelShellArgs)
.add(jTextFieldShellArgs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(6, 6, 6)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelShellOutputStyle)
.add(jComboBoxShellOutputStyle, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelShellLogLevel)
.add(jComboBoxShellLogLevel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelShellWebServerPort)
.add(jSpinnerShellPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelShellCodeServerPort)
.add(jSpinnerShellServerPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jLabelGWTVersion.setLabelFor(jComboBoxGWTVersion);
jLabelGWTVersion.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelGWTVersion.text")); // NOI18N
jComboBoxGWTVersion.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1.5", "1.6", "1.7", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8", " " }));
jComboBoxGWTVersion.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jComboBoxGWTVersion.toolTipText")); // NOI18N
jComboBoxGWTVersion.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBoxGWTVersionActionPerformed(evt);
}
});
jLabelGWTTestsJVMArgs.setLabelFor(jTextFieldTestsArgs);
jLabelGWTTestsJVMArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabelGWTTestsJVMArgs.text")); // NOI18N
jTextFieldTestsArgs.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextField1.text")); // NOI18N
jTextFieldTestsArgs.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jTextFieldTestsArgs.toolTipText")); // NOI18N
jCheckBoxOpenBrowser.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jCheckBoxOpenBrowser.text")); // NOI18N
jCheckBoxSuperDev.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jCheckBoxSuperDev.text")); // NOI18N
org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel3Layout.createSequentialGroup()
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, jLabel1)
.add(org.jdesktop.layout.GroupLayout.LEADING, jCheckBoxOpenBrowser))
.add(0, 0, Short.MAX_VALUE))
.add(jPanel3Layout.createSequentialGroup()
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabelGWTVersion)
.add(jLabelGWTTestsJVMArgs))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel3Layout.createSequentialGroup()
.add(jComboBoxGWTVersion, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jCheckBoxSuperDev)
.addContainerGap(83, Short.MAX_VALUE))
.add(jTextFieldTestsArgs)))
.add(jScrollPane1)
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel3Layout.createSequentialGroup()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 106, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jCheckBoxOpenBrowser)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelGWTVersion)
.add(jComboBoxGWTVersion, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jCheckBoxSuperDev))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabelGWTTestsJVMArgs)
.add(jTextFieldTestsArgs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addContainerGap(48, Short.MAX_VALUE))
);
jScrollPane3.setViewportView(jPanel3);
add(jScrollPane3, java.awt.BorderLayout.CENTER);
}// </editor-fold>//GEN-END:initComponents
private void jComboBoxGWTVersionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBoxGWTVersionActionPerformed
boolean b = jComboBoxGWTVersion.getSelectedIndex() >= 8; // GWT ver. >= 2.5
jCheckBoxSuperDev.setEnabled(b);
if (!b) {
jCheckBoxSuperDev.setSelected(false);
}
}//GEN-LAST:event_jComboBoxGWTVersionActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBox jCheckBoxOpenBrowser;
private javax.swing.JCheckBox jCheckBoxSuperDev;
private javax.swing.JComboBox jComboBoxCompilerLogLevel;
private javax.swing.JComboBox jComboBoxCompilerOutputStyle;
private javax.swing.JComboBox jComboBoxGWTVersion;
private javax.swing.JComboBox jComboBoxShellLogLevel;
private javax.swing.JComboBox jComboBoxShellOutputStyle;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabelCompilerArgs;
private javax.swing.JLabel jLabelCompilerJVMArgs;
private javax.swing.JLabel jLabelCompilerLogLevel;
private javax.swing.JLabel jLabelCompilerOutputDir;
private javax.swing.JLabel jLabelCompilerOutputStyle;
private javax.swing.JLabel jLabelCompilerWorkers;
private javax.swing.JLabel jLabelGWTTestsJVMArgs;
private javax.swing.JLabel jLabelGWTVersion;
private javax.swing.JLabel jLabelShellArgs;
private javax.swing.JLabel jLabelShellCodeServerPort;
private javax.swing.JLabel jLabelShellJVMArgs;
private javax.swing.JLabel jLabelShellLogLevel;
private javax.swing.JLabel jLabelShellOutputStyle;
private javax.swing.JLabel jLabelShellWebServerPort;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JSpinner jSpinnerCompilerWorkers;
private javax.swing.JSpinner jSpinnerShellPort;
private javax.swing.JSpinner jSpinnerShellServerPort;
private javax.swing.JTextArea jTextAreaModules;
private javax.swing.JTextField jTextFieldCompilerArgs;
private javax.swing.JTextField jTextFieldCompilerJVMArgs;
private javax.swing.JTextField jTextFieldCompilerOutputDirectory;
private javax.swing.JTextField jTextFieldShellArgs;
private javax.swing.JTextField jTextFieldShellJVM;
private javax.swing.JTextField jTextFieldShellJVMArgs;
private javax.swing.JTextField jTextFieldTestsArgs;
// End of variables declaration//GEN-END:variables
/**
* Searches for a prefix in a list of strings.
*
* @param prefix searching for this prefix
* @param values values for searching
* @return index in {@code values} or -1
*/
private static int prefixIndex(String prefix,
List<String> values) {
for (int i = 0; i < values.size(); i++) {
if (values.get(i).startsWith(prefix)) {
return i;
}
}
return -1;
}
}