/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.cids.custom.switchon.objecteditors; import Sirius.navigator.ui.RequestsFullSizeComponent; import java.util.ArrayList; 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.editors.DefaultCustomObjectEditor; import de.cismet.cids.editors.FastBindableReferenceCombo; /** * DOCUMENT ME! * * @author Gilles Baatz * @version $Revision$, $Date$ */ public class RepresentationEditor extends AbstractEditorShowableInDialog implements RequestsFullSizeComponent { //~ Static fields/initializers --------------------------------------------- private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(RepresentationEditor.class); // Variables declaration - do not modify//GEN-BEGIN:variables private de.cismet.cids.custom.switchon.objecteditors.AdditionalTagsPanel additionalTagsPanel; private de.cismet.cids.custom.switchon.objecteditors.BasicPropertiesPanel basicPropertiesPanel; private javax.swing.JButton btnNewApplication; private javax.swing.JButton btnNewContentType; private javax.swing.JButton btnNewProtocol; private javax.swing.JButton btnUpload; private javax.swing.JComboBox cmbApplication; private javax.swing.JComboBox cmbContentType; private javax.swing.JComboBox cmbFunction; private javax.swing.JComboBox cmbProtocol; private de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction createNewApplication; private de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction createNewContentType; private de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction createNewProtocol; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JPanel pnlDocument; private javax.swing.JPanel pnlOtherProperties; private de.cismet.cids.custom.switchon.objecteditors.SpatialAndTemporalPropertiesPanel spatialAndTemporalPropertiesPanel; private javax.swing.JTextField txtContentLocation; private javax.swing.JTextArea txtaDocumentDescription; private org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration//GEN-END:variables //~ Constructors ----------------------------------------------------------- /** * Creates new form RepresentationEditor. */ public RepresentationEditor() { initComponents(); } //~ 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(); createNewContentType = new de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction(); createNewProtocol = new de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction(); createNewApplication = new de.cismet.cids.custom.switchon.gui.utils.CreateNewTagAction(); jPanel1 = new javax.swing.JPanel(); pnlDocument = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); txtaDocumentDescription = new javax.swing.JTextArea(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); txtContentLocation = new javax.swing.JTextField(); cmbContentType = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox( Taggroups.CONTENT_TYPE); btnNewContentType = new javax.swing.JButton(); btnUpload = new javax.swing.JButton(); pnlOtherProperties = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); cmbFunction = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox(Taggroups.FUNCTION); jLabel4 = new javax.swing.JLabel(); cmbProtocol = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox(Taggroups.PROTOCOL); btnNewProtocol = new javax.swing.JButton(); jLabel5 = new javax.swing.JLabel(); cmbApplication = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox( Taggroups.APPLICATION_PROFILE); btnNewApplication = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); final ArrayList<Taggroups> taggroups = new ArrayList<Taggroups>(); taggroups.add(Taggroups.PUBLISH_TYPE); additionalTagsPanel = new de.cismet.cids.custom.switchon.objecteditors.AdditionalTagsPanel(taggroups); spatialAndTemporalPropertiesPanel = new SpatialAndTemporalPropertiesPanel(true); basicPropertiesPanel = new BasicPropertiesPanel(Taggroups.REPRESENTATION_TYPE); setOpaque(false); setPreferredSize(new java.awt.Dimension(950, 700)); setLayout(new java.awt.GridBagLayout()); jPanel1.setOpaque(false); jPanel1.setLayout(new java.awt.GridBagLayout()); pnlDocument.setBorder(javax.swing.BorderFactory.createTitledBorder( org.openide.util.NbBundle.getMessage( RepresentationEditor.class, "RepresentationEditor.pnlDocument.border.title"))); // NOI18N pnlDocument.setOpaque(false); pnlDocument.setLayout(new java.awt.GridBagLayout()); txtaDocumentDescription.setColumns(20); txtaDocumentDescription.setRows(20); org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.content}"), txtaDocumentDescription, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); jScrollPane1.setViewportView(txtaDocumentDescription); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 0.5; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); pnlDocument.add(jScrollPane1, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText( jLabel1, org.openide.util.NbBundle.getMessage(RepresentationEditor.class, "RepresentationEditor.jLabel1.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 5); pnlDocument.add(jLabel1, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText( jLabel2, org.openide.util.NbBundle.getMessage(RepresentationEditor.class, "RepresentationEditor.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(5, 10, 11, 5); pnlDocument.add(jLabel2, gridBagConstraints); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.contentlocation}"), txtContentLocation, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); pnlDocument.add(txtContentLocation, gridBagConstraints); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.contenttype}"), cmbContentType, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 11, 5); pnlDocument.add(cmbContentType, gridBagConstraints); createNewContentType.setCombo((FastBindableReferenceCombo)cmbContentType); btnNewContentType.setAction(createNewContentType); org.openide.awt.Mnemonics.setLocalizedText( btnNewContentType, org.openide.util.NbBundle.getMessage( RepresentationEditor.class, "RepresentationEditor.btnNewContentType.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 11, 10); pnlDocument.add(btnNewContentType, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText( btnUpload, org.openide.util.NbBundle.getMessage(RepresentationEditor.class, "RepresentationEditor.btnUpload.text")); // NOI18N btnUpload.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 10); pnlDocument.add(btnUpload, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 0, 5, 10); jPanel1.add(pnlDocument, gridBagConstraints); pnlOtherProperties.setBorder(javax.swing.BorderFactory.createTitledBorder( org.openide.util.NbBundle.getMessage( RepresentationEditor.class, "RepresentationEditor.pnlOtherProperties.border.title"))); // NOI18N pnlOtherProperties.setOpaque(false); pnlOtherProperties.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText( jLabel3, org.openide.util.NbBundle.getMessage(RepresentationEditor.class, "RepresentationEditor.jLabel3.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, 5); pnlOtherProperties.add(jLabel3, gridBagConstraints); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.function}"), cmbFunction, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 5, 5, 5); pnlOtherProperties.add(cmbFunction, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText( jLabel4, org.openide.util.NbBundle.getMessage(RepresentationEditor.class, "RepresentationEditor.jLabel4.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 5); pnlOtherProperties.add(jLabel4, gridBagConstraints); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.protocol}"), cmbProtocol, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; 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(5, 5, 5, 5); pnlOtherProperties.add(cmbProtocol, gridBagConstraints); createNewProtocol.setCombo((FastBindableReferenceCombo)cmbProtocol); btnNewProtocol.setAction(createNewProtocol); org.openide.awt.Mnemonics.setLocalizedText( btnNewProtocol, org.openide.util.NbBundle.getMessage( RepresentationEditor.class, "RepresentationEditor.btnNewProtocol.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 10); pnlOtherProperties.add(btnNewProtocol, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText( jLabel5, org.openide.util.NbBundle.getMessage(RepresentationEditor.class, "RepresentationEditor.jLabel5.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(5, 10, 10, 5); pnlOtherProperties.add(jLabel5, gridBagConstraints); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${cidsBean.applicationprofile}"), cmbApplication, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 10, 5); pnlOtherProperties.add(cmbApplication, gridBagConstraints); createNewApplication.setCombo((FastBindableReferenceCombo)cmbApplication); btnNewApplication.setAction(createNewApplication); org.openide.awt.Mnemonics.setLocalizedText( btnNewApplication, org.openide.util.NbBundle.getMessage( RepresentationEditor.class, "RepresentationEditor.btnNewApplication.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 10, 10); pnlOtherProperties.add(btnNewApplication, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(5, 0, 10, 10); jPanel1.add(pnlOtherProperties, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; add(jPanel1, gridBagConstraints); jPanel2.setOpaque(false); jPanel2.setLayout(new java.awt.GridBagLayout()); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 10, 10, 10); jPanel2.add(additionalTagsPanel, gridBagConstraints); spatialAndTemporalPropertiesPanel.setOpaque(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10); jPanel2.add(spatialAndTemporalPropertiesPanel, gridBagConstraints); basicPropertiesPanel.setOpaque(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); jPanel2.add(basicPropertiesPanel, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; add(jPanel2, gridBagConstraints); bindingGroup.bind(); } // </editor-fold>//GEN-END:initComponents @Override public void setCidsBean(final CidsBean cidsBean) { bindingGroup.unbind(); if (cidsBean != null) { this.cidsBean = cidsBean; DefaultCustomObjectEditor.setMetaClassInformationToMetaClassStoreComponentsInBindingGroup( bindingGroup, this.cidsBean); basicPropertiesPanel.setCidsBean(cidsBean); additionalTagsPanel.setCidsBean(cidsBean); spatialAndTemporalPropertiesPanel.setCidsBean(cidsBean); bindingGroup.bind(); } } @Override public void dispose() { bindingGroup.unbind(); additionalTagsPanel.dispose(); basicPropertiesPanel.dispose(); } }