/* * ScalePanel.java * * Created on February 19, 2006, 3:35 PM */ package ika.gui; import java.awt.*; import java.awt.geom.Rectangle2D; import javax.swing.*; /** * * @author Bernhard Jenny, Institute of Cartography, ETH Zurich */ public class DeformPanel extends javax.swing.JPanel { private Rectangle2D objBounds; public boolean showDeformDialog(Frame frame) { // fill GUI with values this.wNumberField.setDoubleValue(getObjBounds().getMinX()); this.eNumberField.setDoubleValue(getObjBounds().getMaxX()); this.sNumberField.setDoubleValue(getObjBounds().getMinY()); this.nNumberField.setDoubleValue(getObjBounds().getMaxY()); String title = "Deform Selected Features to New Bounds"; Icon icon = ika.app.ApplicationInfo.getApplicationIcon(); Object[] options = { "OK", "Cancel" }; int resID = JOptionPane.showOptionDialog(frame, this, title, JOptionPane.YES_NO_OPTION, JOptionPane.PLAIN_MESSAGE, icon, options, options[0]); if (resID == JOptionPane.CANCEL_OPTION || resID == JOptionPane.CLOSED_OPTION || resID == 1) return false; // read settings from dialog double w = this.wNumberField.getDoubleValue(); double e = this.eNumberField.getDoubleValue(); double s = this.sNumberField.getDoubleValue(); double n = this.nNumberField.getDoubleValue(); if (e < w) { double temp = e; e = w; w = temp; } if (n < s) { double temp = n; n = s; s = temp; } getObjBounds().setRect(w, s, e - w, n - s); return true; } /** Creates new form MovePanel */ public DeformPanel() { initComponents(); } public Rectangle2D getObjBounds() { return objBounds; } public void setObjBounds(Rectangle2D objBounds) { this.objBounds = objBounds; } /** 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. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; buttonGroup = new javax.swing.ButtonGroup(); jLabel1 = new javax.swing.JLabel(); wNumberField = new ika.gui.NumberField(); eNumberField = new ika.gui.NumberField(); jLabel2 = new javax.swing.JLabel(); nNumberField = new ika.gui.NumberField(); jLabel3 = new javax.swing.JLabel(); sNumberField = new ika.gui.NumberField(); s = new javax.swing.JLabel(); setLayout(new java.awt.GridBagLayout()); setNextFocusableComponent(wNumberField); jLabel1.setText("W"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; add(jLabel1, gridBagConstraints); wNumberField.setMinimumSize(new java.awt.Dimension(50, 22)); wNumberField.setNextFocusableComponent(eNumberField); wNumberField.setPattern("#,##0.######"); wNumberField.setPreferredSize(new java.awt.Dimension(200, 22)); wNumberField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { wNumberFieldActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 10); add(wNumberField, gridBagConstraints); eNumberField.setMinimumSize(new java.awt.Dimension(50, 22)); eNumberField.setNextFocusableComponent(sNumberField); eNumberField.setPattern("#,##0.######"); eNumberField.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0); add(eNumberField, gridBagConstraints); jLabel2.setText("E"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0); add(jLabel2, gridBagConstraints); nNumberField.setMinimumSize(new java.awt.Dimension(50, 22)); nNumberField.setNextFocusableComponent(wNumberField); nNumberField.setPattern("#,##0.######"); nNumberField.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0); add(nNumberField, gridBagConstraints); jLabel3.setText("N"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; add(jLabel3, gridBagConstraints); sNumberField.setMinimumSize(new java.awt.Dimension(50, 22)); sNumberField.setNextFocusableComponent(nNumberField); sNumberField.setPattern("#,##0.######"); sNumberField.setPreferredSize(new java.awt.Dimension(200, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 2; gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0); add(sNumberField, gridBagConstraints); s.setText("S"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; add(s, gridBagConstraints); }// </editor-fold>//GEN-END:initComponents private void wNumberFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wNumberFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_wNumberFieldActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.ButtonGroup buttonGroup; private ika.gui.NumberField eNumberField; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private ika.gui.NumberField nNumberField; private javax.swing.JLabel s; private ika.gui.NumberField sNumberField; private ika.gui.NumberField wNumberField; // End of variables declaration//GEN-END:variables }