/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.cids.custom.switchon.wizards.panels; import org.openide.WizardDescriptor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import de.cismet.cids.custom.switchon.gui.InfoReceiver; import de.cismet.cids.custom.switchon.wizards.DefaultPropertySetter; import de.cismet.cids.custom.switchon.wizards.MetaDataWizardAction; import de.cismet.cids.dynamics.CidsBean; import de.cismet.cids.dynamics.CidsBeanStore; import de.cismet.cids.dynamics.Disposable; /** * DOCUMENT ME! * * @author Gilles Baatz * @version $Revision$, $Date$ */ public class AdditonalMetaDataVisualPanel 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( AdditonalMetaDataVisualPanel.class); // Variables declaration - do not modify//GEN-BEGIN:variables private de.cismet.cids.custom.switchon.wizards.WizardInfoBoxPanel infoBoxPanel; private de.cismet.cids.custom.switchon.objecteditors.MetaDataPanel metaDataPanel; // End of variables declaration//GEN-END:variables //~ Constructors ----------------------------------------------------------- /** * Creates new form AdditonalMetaDataVisualPanel. */ public AdditonalMetaDataVisualPanel() { 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; metaDataPanel = new de.cismet.cids.custom.switchon.objecteditors.MetaDataPanel(); infoBoxPanel = new de.cismet.cids.custom.switchon.wizards.WizardInfoBoxPanel(); setLayout(new java.awt.GridBagLayout()); metaDataPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("")); 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 = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 10, 10, 10); add(metaDataPanel, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 10); add(infoBoxPanel, gridBagConstraints); } // </editor-fold>//GEN-END:initComponents @Override public CidsBean getCidsBean() { return metaDataPanel.getCidsBean(); } @Override public void setCidsBean(final CidsBean cidsBean) { metaDataPanel.setCidsBean(cidsBean); } @Override public void dispose() { metaDataPanel.dispose(); } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public CidsBean getSelectedMetaData() { return metaDataPanel.getSelectedMetaData(); } /** * The add button of the metaDataPanel creates a new metadata, selects it in the wizard and then Next is clicked * automatically. Thus the newly added meta data cidsBean will be edited. * * @param wizardDescriptor DOCUMENT ME! */ public void addButtonShouldSimulateNextButton(final WizardDescriptor wizardDescriptor) { metaDataPanel.replaceActionListenerOfAddButton(new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { try { final CidsBean metaData = CidsBean.createNewCidsBeanFromTableName("SWITCHON", "metadata"); // NOI18N DefaultPropertySetter.setDefaultsToMetaDataCidsBean(metaData); final CidsBean resource = (CidsBean)wizardDescriptor.getProperty( MetaDataWizardAction.PROP_RESOURCE_BEAN); resource.getBeanCollectionProperty("metadata").add(metaData); // NOI18N wizardDescriptor.putProperty( MetaDataWizardAction.PROP_SELECTED_METADATA_BEAN, metaData); wizardDescriptor.doNextClick(); } catch (Exception ex) { LOG.error(ex, ex); } } }); } /** * The edit button of the metaDataPanel should work exactly like clicking the next button. * * @param wizardDescriptor DOCUMENT ME! */ public void editButtonShouldSimulateNextButton(final WizardDescriptor wizardDescriptor) { metaDataPanel.replaceActionListenerOfEditButton(new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { wizardDescriptor.doNextClick(); } }); } @Override public void setInformation(final String information) { infoBoxPanel.setInformation(information); } @Override public void setError(final String error) { infoBoxPanel.setError(error); } }