/** * */ package org.nightlabs.jfire.reporting.trade.ui.legalentity; import java.util.Collection; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.nightlabs.jfire.reporting.parameter.config.ValueProviderConfig; import org.nightlabs.jfire.reporting.parameter.id.ValueProviderID; import org.nightlabs.jfire.reporting.trade.ReportingTradeConstants; import org.nightlabs.jfire.reporting.ui.parameter.AbstractValueProviderGUI; import org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUI; import org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUIFactory; import org.nightlabs.jfire.trade.ui.legalentity.search.LegalEntitySearchComposite; import org.nightlabs.jfire.transfer.id.AnchorID; /** * @author Alexander Bieber <!-- alex [AT] nightlabs [DOT] de --> * */ public class ValueProviderGUILegalEntitySearchMultiple extends AbstractValueProviderGUI<Collection<AnchorID>> { public static class Factory implements IValueProviderGUIFactory { /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUIFactory#createValueProviderGUI() */ public IValueProviderGUI<Collection<AnchorID>> createValueProviderGUI(ValueProviderConfig valueProviderConfig, boolean isScheduledReportParameterConfig) { return new ValueProviderGUILegalEntitySearchMultiple(valueProviderConfig); } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUIFactory#getValueProviderID() */ public ValueProviderID getValueProviderID() { return ReportingTradeConstants.VALUE_PROVIDER_ID_LEGAL_ENTITY_SEARCH_MULTIPLE; } /* (non-Javadoc) * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object) */ public void setInitializationData(IConfigurationElement arg0, String arg1, Object arg2) throws CoreException { } } private LegalEntitySearchComposite searchComposite; /** * */ public ValueProviderGUILegalEntitySearchMultiple(ValueProviderConfig valueProviderConfig) { super(valueProviderConfig); } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUI#createGUI(org.eclipse.swt.widgets.Composite) */ public Control createGUI(Composite wrapper) { searchComposite = new LegalEntitySearchComposite(wrapper, SWT.NONE, ""); //$NON-NLS-1$ searchComposite.getResultViewer().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent arg0) { notifyOutputChanged(); } }); return searchComposite; } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUI#getOutputValue() */ public Collection<AnchorID> getOutputValue() { // Collection<LegalEntity> selectedLEs = searchComposite.getResultViewer().getSelectedElements(); // if (selectedLEs.size() < 1) // return null; // Collection<AnchorID> result = new ArrayList<AnchorID>(selectedLEs.size()); // for (LegalEntity legalEntity : selectedLEs) { // result.add((AnchorID) JDOHelper.getObjectId(legalEntity)); // } // return result; return null; } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUI#isAcquisitionComplete() */ public boolean isAcquisitionComplete() { return searchComposite.getResultViewer().getFirstSelectedElement() != null || getValueProviderConfig().isAllowNullOutputValue(); } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.parameter.IValueProviderGUI#setInputParameterValue(java.lang.String, java.lang.Object) */ public void setInputParameterValue(String parameterID, Object value) { } }