/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.cids.custom.switchon.wizards.panels; import org.openide.WizardDescriptor; import de.cismet.cids.custom.switchon.gui.InfoReceiver; import de.cismet.cids.custom.switchon.gui.utils.FastBindableReferenceComboFactory; import de.cismet.cids.custom.switchon.utils.Taggroups; import de.cismet.cids.dynamics.CidsBean; import de.cismet.cids.dynamics.CidsBeanStore; import de.cismet.cids.dynamics.Disposable; import de.cismet.cids.editors.DefaultCustomObjectEditor; import de.cismet.cids.editors.FastBindableReferenceCombo; /** * DOCUMENT ME! * * @author Gilles Baatz * @version $Revision$, $Date$ */ public class GeographicInformationVisualPanel extends javax.swing.JPanel implements CidsBeanStore, Disposable, InfoReceiver { //~ Static fields/initializers --------------------------------------------- private static final transient org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger( GeographicInformationVisualPanel.class); //~ Instance fields -------------------------------------------------------- CidsBean resource; // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnAddLocation; private javax.swing.JComboBox cmbLocation; private javax.swing.JComboBox cmbSrid; private de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction createNewLocation; private javax.swing.Box.Filler filler1; private de.cismet.cids.custom.switchon.gui.GeometryChooserPanel geometryChooserPanel; private de.cismet.cids.custom.switchon.wizards.WizardInfoBoxPanel infoBoxPanel; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JPanel pnlOtherProperties; private org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration//GEN-END:variables //~ Constructors ----------------------------------------------------------- /** * Creates new form GeographicInformationVisualPanel. * * @param wizard DOCUMENT ME! */ public GeographicInformationVisualPanel(final WizardDescriptor wizard) { initComponents(); geometryChooserPanel.setInfoReceiver(infoBoxPanel); infoBoxPanel.setWizard(wizard); } //~ Methods ---------------------------------------------------------------- /** * 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; bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); createNewLocation = new de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction(); pnlOtherProperties = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); cmbSrid = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox(Taggroups.SRID); jLabel2 = new javax.swing.JLabel(); cmbLocation = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox(Taggroups.LOCATION); btnAddLocation = new javax.swing.JButton(); filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767)); geometryChooserPanel = new de.cismet.cids.custom.switchon.gui.GeometryChooserPanel(); infoBoxPanel = new de.cismet.cids.custom.switchon.wizards.WizardInfoBoxPanel(); pnlOtherProperties.setBorder(javax.swing.BorderFactory.createTitledBorder( org.openide.util.NbBundle.getMessage( GeographicInformationVisualPanel.class, "GeographicInformationVisualPanel.pnlOtherProperties.border.title"))); // NOI18N pnlOtherProperties.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText( jLabel1, org.openide.util.NbBundle.getMessage( GeographicInformationVisualPanel.class, "GeographicInformationVisualPanel.jLabel1.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); pnlOtherProperties.add(jLabel1, gridBagConstraints); org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.srid}"), cmbSrid, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); cmbSrid.addFocusListener(new java.awt.event.FocusAdapter() { @Override public void focusGained(final java.awt.event.FocusEvent evt) { cmbSridFocusGained(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 10, 5, 10); pnlOtherProperties.add(cmbSrid, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText( jLabel2, org.openide.util.NbBundle.getMessage( GeographicInformationVisualPanel.class, "GeographicInformationVisualPanel.jLabel2.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); pnlOtherProperties.add(jLabel2, gridBagConstraints); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.location}"), cmbLocation, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); cmbLocation.addFocusListener(new java.awt.event.FocusAdapter() { @Override public void focusGained(final java.awt.event.FocusEvent evt) { cmbLocationFocusGained(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 10, 10, 10); pnlOtherProperties.add(cmbLocation, gridBagConstraints); createNewLocation.setCombo((FastBindableReferenceCombo)cmbLocation); btnAddLocation.setAction(createNewLocation); org.openide.awt.Mnemonics.setLocalizedText( btnAddLocation, org.openide.util.NbBundle.getMessage( GeographicInformationVisualPanel.class, "GeographicInformationVisualPanel.btnAddLocation.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 10, 10, 10); pnlOtherProperties.add(btnAddLocation, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL; gridBagConstraints.weighty = 1.0; pnlOtherProperties.add(filler1, gridBagConstraints); setLayout(new java.awt.GridBagLayout()); geometryChooserPanel.setBorder(javax.swing.BorderFactory.createTitledBorder( org.openide.util.NbBundle.getMessage( GeographicInformationVisualPanel.class, "GeographicInformationVisualPanel.geometryChooserPanel.border.title"))); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 0.6; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 10, 10, 10); add(geometryChooserPanel, gridBagConstraints); geometryChooserPanel.setVisibleGeometryComboBox(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); add(infoBoxPanel, gridBagConstraints); bindingGroup.bind(); } // </editor-fold>//GEN-END:initComponents /** * DOCUMENT ME! * * @param evt DOCUMENT ME! */ private void cmbSridFocusGained(final java.awt.event.FocusEvent evt) { //GEN-FIRST:event_cmbSridFocusGained infoBoxPanel.setInformation("Please select the spatial reference system of the resource."); } //GEN-LAST:event_cmbSridFocusGained /** * DOCUMENT ME! * * @param evt DOCUMENT ME! */ private void cmbLocationFocusGained(final java.awt.event.FocusEvent evt) { //GEN-FIRST:event_cmbLocationFocusGained infoBoxPanel.setInformation("Please specify a location of the resource or add a new one."); } //GEN-LAST:event_cmbLocationFocusGained @Override public CidsBean getCidsBean() { return resource; } @Override public void setCidsBean(final CidsBean cidsBean) { bindingGroup.unbind(); this.resource = cidsBean; DefaultCustomObjectEditor.setMetaClassInformationToMetaClassStoreComponentsInBindingGroup( bindingGroup, this.resource); geometryChooserPanel.setCidsBean(resource); bindingGroup.bind(); } @Override public void dispose() { bindingGroup.unbind(); geometryChooserPanel.dispose(); } @Override public void setInformation(final String information) { infoBoxPanel.setInformation(information); } @Override public void setError(final String error) { setError(error); } }