/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.cids.custom.switchon.wizards.panels;
import de.cismet.cids.custom.switchon.gui.InfoReceiver;
import de.cismet.cids.custom.switchon.gui.MarkMandtoryFieldsStrong;
import de.cismet.cids.custom.switchon.gui.MarkMandtoryFieldsStrongUtils;
import de.cismet.cids.custom.switchon.gui.utils.FastBindableReferenceComboFactory;
import de.cismet.cids.custom.switchon.utils.TagUtils;
import de.cismet.cids.custom.switchon.utils.Taggroups;
import de.cismet.cids.custom.switchon.wizards.WizardInfoBoxPanel;
import de.cismet.cids.dynamics.CidsBean;
import de.cismet.cids.dynamics.CidsBeanStore;
import de.cismet.cids.dynamics.Disposable;
import de.cismet.cids.editors.DefaultCustomObjectEditor;
/**
* DOCUMENT ME!
*
* @author Gilles Baatz
* @version $Revision$, $Date$
*/
public class AdditonalMetaDataEditDocumentVisualPanel extends javax.swing.JPanel implements CidsBeanStore,
Disposable,
MarkMandtoryFieldsStrong,
InfoReceiver {
//~ Static fields/initializers ---------------------------------------------
private static final transient org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(
AdditonalMetaDataEditDocumentVisualPanel.class);
//~ Instance fields --------------------------------------------------------
private CidsBean metaData;
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JComboBox cmbContentType;
private javax.swing.JComboBox cmbStandard;
private de.cismet.cids.custom.switchon.wizards.WizardInfoBoxPanel infoBoxPanel;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblContentLocation;
private javax.swing.JTextField txtContentLocation;
private javax.swing.JTextArea txtaContent;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration//GEN-END:variables
//~ Constructors -----------------------------------------------------------
/**
* Creates new form AdditonalMetaDataEditDocumentVisualPanel.
*/
public AdditonalMetaDataEditDocumentVisualPanel() {
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();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
txtaContent = new javax.swing.JTextArea();
lblContentLocation = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
cmbContentType = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox(
Taggroups.CONTENT_TYPE);
cmbStandard = FastBindableReferenceComboFactory.createTagsFastBindableReferenceComboBox(
Taggroups.META_DATA_STANDARD);
txtContentLocation = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
infoBoxPanel = new WizardInfoBoxPanel();
;
setLayout(new java.awt.GridBagLayout());
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(
AdditonalMetaDataEditDocumentVisualPanel.class,
"AdditonalMetaDataEditDocumentVisualPanel.jPanel1.border.title"))); // NOI18N
jPanel1.setLayout(new java.awt.GridBagLayout());
txtaContent.setColumns(20);
txtaContent.setLineWrap(true);
txtaContent.setRows(5);
txtaContent.setWrapStyleWord(true);
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}"),
txtaContent,
org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
txtaContent.addFocusListener(new java.awt.event.FocusAdapter() {
@Override
public void focusGained(final java.awt.event.FocusEvent evt) {
txtaContentFocusGained(evt);
}
});
jScrollPane1.setViewportView(txtaContent);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 4;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10);
jPanel1.add(jScrollPane1, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(
lblContentLocation,
org.openide.util.NbBundle.getMessage(
AdditonalMetaDataEditDocumentVisualPanel.class,
"AdditonalMetaDataEditDocumentVisualPanel.lblContentLocation.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);
jPanel1.add(lblContentLocation, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(
jLabel2,
org.openide.util.NbBundle.getMessage(
AdditonalMetaDataEditDocumentVisualPanel.class,
"AdditonalMetaDataEditDocumentVisualPanel.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, 20, 5);
jPanel1.add(jLabel2, 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);
cmbContentType.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(final java.awt.event.ActionEvent evt) {
cmbContentTypeActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 20, 5);
jPanel1.add(cmbContentType, gridBagConstraints);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE,
this,
org.jdesktop.beansbinding.ELProperty.create("${cidsBean.standard}"),
cmbStandard,
org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
bindingGroup.addBinding(binding);
cmbStandard.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(final java.awt.event.ActionEvent evt) {
cmbStandardActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
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, 20, 10);
jPanel1.add(cmbStandard, 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);
txtContentLocation.addFocusListener(new java.awt.event.FocusAdapter() {
@Override
public void focusGained(final java.awt.event.FocusEvent evt) {
txtContentLocationFocusGained(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 10);
jPanel1.add(txtContentLocation, gridBagConstraints);
org.openide.awt.Mnemonics.setLocalizedText(
jLabel3,
org.openide.util.NbBundle.getMessage(
AdditonalMetaDataEditDocumentVisualPanel.class,
"AdditonalMetaDataEditDocumentVisualPanel.jLabel3.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, 20, 5);
jPanel1.add(jLabel3, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 2.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 10, 10, 10);
add(jPanel1, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
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 txtaContentFocusGained(final java.awt.event.FocusEvent evt) { //GEN-FIRST:event_txtaContentFocusGained
infoBoxPanel.setInformation(
org.openide.util.NbBundle.getMessage(
AdditonalMetaDataEditDocumentVisualPanel.class,
"AdditonalMetaDataEditDocumentVisualPanel.txtaContent.info")); // NOI18N
} //GEN-LAST:event_txtaContentFocusGained
/**
* DOCUMENT ME!
*
* @param evt DOCUMENT ME!
*/
private void txtContentLocationFocusGained(final java.awt.event.FocusEvent evt) { //GEN-FIRST:event_txtContentLocationFocusGained
infoBoxPanel.setInformation(
org.openide.util.NbBundle.getMessage(
AdditonalMetaDataEditDocumentVisualPanel.class,
"AdditonalMetaDataEditDocumentVisualPanel.txtContent.info")); // NOI18N
} //GEN-LAST:event_txtContentLocationFocusGained
/**
* DOCUMENT ME!
*
* @param evt DOCUMENT ME!
*/
private void cmbContentTypeActionPerformed(final java.awt.event.ActionEvent evt) { //GEN-FIRST:event_cmbContentTypeActionPerformed
final String desc = TagUtils.getDescriptionOfTag(cmbContentType.getSelectedItem());
infoBoxPanel.setInformation(desc);
} //GEN-LAST:event_cmbContentTypeActionPerformed
/**
* DOCUMENT ME!
*
* @param evt DOCUMENT ME!
*/
private void cmbStandardActionPerformed(final java.awt.event.ActionEvent evt) { //GEN-FIRST:event_cmbStandardActionPerformed
final String desc = TagUtils.getDescriptionOfTag(cmbStandard.getSelectedItem());
infoBoxPanel.setInformation(desc);
} //GEN-LAST:event_cmbStandardActionPerformed
@Override
public CidsBean getCidsBean() {
return metaData;
}
@Override
public void setCidsBean(final CidsBean cidsBean) {
bindingGroup.unbind();
if (cidsBean != null) {
metaData = cidsBean;
DefaultCustomObjectEditor.setMetaClassInformationToMetaClassStoreComponentsInBindingGroup(
bindingGroup,
metaData);
bindingGroup.bind();
}
}
@Override
public void dispose() {
bindingGroup.unbind();
}
/**
* DOCUMENT ME!
*
* @param buttonWasPressed enable DOCUMENT ME!
*/
public void changeAppearanceAsImportButtonWasPressed(final boolean buttonWasPressed) {
txtaContent.setEnabled(!buttonWasPressed);
txtContentLocation.setEnabled(!buttonWasPressed);
}
@Override
public void markMandatoryFieldsStrong() {
MarkMandtoryFieldsStrongUtils.markJLabelString(lblContentLocation);
}
@Override
public void setInformation(final String information) {
infoBoxPanel.setInformation(information);
}
@Override
public void setError(final String error) {
infoBoxPanel.setError(error);
}
}