package edu.ualberta.med.biobank.forms.reports; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.eclipse.jface.viewers.ComboViewer; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import edu.ualberta.med.biobank.SessionManager; import edu.ualberta.med.biobank.common.wrappers.StudyWrapper; import edu.ualberta.med.biobank.gui.common.widgets.DateTimeWidget; import edu.ualberta.med.biobank.widgets.BiobankLabelProvider; import gov.nih.nci.system.applicationservice.ApplicationException; public class SpecimenReport1Editor extends ReportsEditor { public static String ID = "edu.ualberta.med.biobank.editors.FTAReportEditor"; private ComboViewer studyCombo; private DateTimeWidget afterDate; @Override protected void createOptionSection(Composite parent) throws Exception { studyCombo = createStudyComboOption( "Study", parent); afterDate = widgetCreator.createDateTimeWidget(parent, "After Date (Drawn)", null, null, null, SWT.DATE); } @Override protected void initReport() { List<Object> params = new ArrayList<Object>(); params.add(((StudyWrapper) ((IStructuredSelection) studyCombo .getSelection()).getFirstElement()).getNameShort()); params.add(ReportsEditor.processDate(afterDate.getDate(), true)); report.setParams(params); } protected ComboViewer createStudyComboOption(String labelText, Composite parent) throws ApplicationException { Collection<StudyWrapper> studyWrappers; studyWrappers = StudyWrapper.getAllStudies(SessionManager .getAppService()); ComboViewer combo = widgetCreator.createComboViewer(parent, labelText, studyWrappers, null, new BiobankLabelProvider()); combo.setLabelProvider(new BiobankLabelProvider() { @Override public String getText(Object element) { return ((StudyWrapper) element).getNameShort(); } }); combo.getCombo().select(0); return combo; } @Override protected String[] getColumnNames() { return new String[] { "Patient Number", "Date Drawn", "Inventory Id", "Specimen Type", "Site", "Location" }; } @Override protected List<String> getParamNames() { List<String> names = new ArrayList<String>(); names.add("Study"); names.add("After Date (Drawn)"); return names; } @Override protected List<Object> getPrintParams() throws Exception { List<Object> params = new ArrayList<Object>(); params.add(((StudyWrapper) ((IStructuredSelection) studyCombo .getSelection()).getFirstElement()).getNameShort()); params.add(ReportsEditor.processDate(afterDate.getDate(), true)); return params; } @Override public void setValues() throws Exception { studyCombo.getCombo().select(0); afterDate.setDate(null); super.setValues(); } }