/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * AddTerrainRangeDialog.java * * Created on Mar 28, 2012, 8:06:37 PM */ package org.pepsoft.worldpainter.themes.impl.simple; import java.awt.Window; import javax.swing.DefaultComboBoxModel; import javax.swing.SpinnerNumberModel; import org.pepsoft.worldpainter.ColourScheme; import org.pepsoft.worldpainter.Terrain; import org.pepsoft.worldpainter.WorldPainterDialog; import org.pepsoft.worldpainter.themes.TerrainListCellRenderer; /** * * @author pepijn */ public class AddTerrainRangeDialog extends WorldPainterDialog { /** Creates new form AddTerrainRangeDialog */ public AddTerrainRangeDialog(Window parent, int maxHeight, ColourScheme colourScheme) { super(parent); this.colourScheme = colourScheme; initComponents(); spinnerLevel.setModel(new SpinnerNumberModel(maxHeight / 2, 1, maxHeight - 1, 1)); getRootPane().setDefaultButton(buttonOK); pack(); setLocationRelativeTo(parent); } public int getSelectedLevel() { return ((Number) spinnerLevel.getValue()).intValue(); } public Terrain getSelectedTerrain() { return (Terrain) comboBoxTerrainType.getSelectedItem(); } /** 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() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); spinnerLevel = new javax.swing.JSpinner(); jLabel3 = new javax.swing.JLabel(); comboBoxTerrainType = new javax.swing.JComboBox(); buttonCancel = new javax.swing.JButton(); buttonOK = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Add Terrain Mapping"); jLabel1.setText("Select a level and a terrain type to add to the mapping:"); jLabel2.setLabelFor(spinnerLevel); jLabel2.setText("Level:"); jLabel3.setLabelFor(comboBoxTerrainType); jLabel3.setText("Terrain type:"); comboBoxTerrainType.setModel(new DefaultComboBoxModel(Terrain.getConfiguredValues())); comboBoxTerrainType.setSelectedItem(Terrain.DIRT); comboBoxTerrainType.setRenderer(new TerrainListCellRenderer(colourScheme)); buttonCancel.setText("Cancel"); buttonCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonCancelActionPerformed(evt); } }); buttonOK.setText("OK"); buttonOK.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonOKActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addGroup(layout.createSequentialGroup() .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(spinnerLevel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(comboBoxTerrainType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(buttonOK) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonCancel) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(spinnerLevel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addComponent(comboBoxTerrainType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(buttonCancel) .addComponent(buttonOK)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void buttonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCancelActionPerformed cancel(); }//GEN-LAST:event_buttonCancelActionPerformed private void buttonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonOKActionPerformed ok(); }//GEN-LAST:event_buttonOKActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton buttonCancel; private javax.swing.JButton buttonOK; private javax.swing.JComboBox comboBoxTerrainType; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JSpinner spinnerLevel; // End of variables declaration//GEN-END:variables private final ColourScheme colourScheme; private static final long serialVersionUID = 1L; }