/***************************************************
*
* 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();
}
}