import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
+import org.osgi.service.component.annotations.ConfigurationPolicy;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.service.IClassificationService;
private List<Classification> classifications;
private Classification selectedClassification;
- private Button checkIncludeUnpublished;
+
private Object[] checkedElements;
String taxonStr = ""; //$NON-NLS-1$
int count = configurator.getTaxonNodeFilter().getSubtreeFilter().size();
-
+ boolean areaChecked = configurator.getAggregationModes().contains(AggregationMode.WithinTaxon);
+ boolean toParentChecked = configurator.getAggregationModes().contains(AggregationMode.ToParent);
for (LogicFilter<TaxonNode> filter: configurator.getTaxonNodeFilter().getSubtreeFilter()){
subTreeNode = CdmApplicationState.getCurrentAppConfig().getTaxonNodeService().load(filter.getUuid());
count--;
}
aggregationModeViewer.setInput(aggregationModeList);
+
+ for (AggregationMode mode: configurator.getAggregationModes()){
+ if (mode instanceof AggregationMode){
+ aggregationModeViewer.setChecked(mode, true);
+ }
+ }
+
aggregationModeViewer.addCheckStateListener(new ICheckStateListener(){
@Override
comboAreaLevel.setData(level.getLabel(), level);
}
comboAreaLevel.addSelectionListener(this);
- comboAreaLevel.setEnabled(false);
+ comboAreaLevel.setEnabled(areaChecked);
+
+
GridData gridData2 = new GridData();
gridData2.horizontalSpan = 2;
gridData2.horizontalAlignment = SWT.LEFT;
buttonSuperArea = new Button(control, SWT.PUSH );
buttonSuperArea.setLayoutData(gridData2);
- buttonSuperArea.setEnabled(false);
+ buttonSuperArea.setEnabled(configurator.getAggregationModes().contains(AggregationMode.WithinTaxon));
buttonSuperArea.setText(Messages.DistributionAggregationWizardPage_SELECT_AREA);
buttonSuperArea.setToolTipText(Messages.DistributionAggregationWizardPage_TOOLTIP_AREA_SELECTION);
buttonSuperArea.addSelectionListener(new SelectionAdapter() {
}
comboSourceModeChildParent.addSelectionListener(this);
- comboSourceModeChildParent.setEnabled(false);
- comboSourceModeChildParent.select(0);
+ comboSourceModeChildParent.setEnabled(toParentChecked);
+ int index = 0;
+ if (configurator.getToParentSourceMode() == null ){
+ comboSourceModeChildParent.select(index);
+ }else{
+ for (String text:comboSourceModeChildParent.getItems()){
+ if (comboSourceModeChildParent.getData(text).equals(configurator.getToParentSourceMode())){
+ comboSourceModeChildParent.select(index);
+ }
+ index++;
+ }
+ }
Label sourceModeLabelSuperArea = new Label(control, SWT.NULL);
sourceModeLabelSuperArea.setText(Messages.DistributionAggregationWizardPage_SOURCE_MODE_AREA);
}
comboSourceModeWithinTaxon.addSelectionListener(this);
- comboSourceModeWithinTaxon.setEnabled(false);
- comboSourceModeWithinTaxon.select(0);
+ comboSourceModeWithinTaxon.setEnabled(configurator.getAggregationModes().contains(AggregationMode.WithinTaxon));
+
+ index = 0;
+ if (configurator.getWithinTaxonSourceMode() == null ){
+ comboSourceModeWithinTaxon.select(index);
+ }else{
+ for (String text:comboSourceModeWithinTaxon.getItems()){
+ if (comboSourceModeWithinTaxon.getData(text).equals(configurator.getWithinTaxonSourceMode())){
+ comboSourceModeWithinTaxon.select(index);
+ }
+ index++;
+ }
+ }
+
+
Label sourceTypeLabel = new Label(control, SWT.NULL);
sourceTypeLabel.setText(Messages.DistributionAggregationWizardPage_SOURCE_TYPE);
Arrays.stream(typeArray).forEach(p ->typeMap.put(p.getLabel(), p));
Arrays.stream(typeArray).forEach(p ->typeStrings.add(p.getLabel()));
sourceTypeViewer.setInput(typeStrings);
- sourceTypeViewer.setChecked(OriginalSourceType.PrimaryMediaSource.getLabel(), true);
- sourceTypeViewer.setChecked(OriginalSourceType.PrimaryTaxonomicSource.getLabel(), true);
- sourceTypeViewer.getTable().setEnabled(false);
+ for (OriginalSourceType sourceType: configurator.getAggregatingSourceTypes()){
+ sourceTypeViewer.setChecked(sourceType.getLabel(), true);
+ }
+// sourceTypeViewer.setChecked(OriginalSourceType.PrimaryTaxonomicSource.getLabel(), true);
+// sourceTypeViewer.getTable().setEnabled(false);
+ AggregationSourceMode taxonMode = configurator.getToParentSourceMode();
+ AggregationSourceMode areaMode = configurator.getWithinTaxonSourceMode();
+ sourceTypeViewer.getTable().setEnabled(((areaChecked && (areaMode.equals(AggregationSourceMode.ALL) || areaMode.equals(AggregationSourceMode.ALL_SAMEVALUE) ) )|| toParentChecked && (taxonMode.equals(AggregationSourceMode.ALL) || taxonMode.equals(AggregationSourceMode.ALL_SAMEVALUE) )) );
//aggregation mode
}
comboStatusOrder.addSelectionListener(this);
- comboStatusOrder.select(0);
+ index = 0;
+ if (configurator.getStatusOrder() == null ){
+ comboStatusOrder.select(index);
+ }else{
+ for (String text:comboStatusOrder.getItems()){
+ if (text.equals(configurator.getStatusOrder().getTitleCache())){
+ comboStatusOrder.select(index);
+ }
+ index++;
+ }
+ }
- checkIncludeUnpublished = new Button(composite, SWT.CHECK);
- checkIncludeUnpublished.setText(Messages.DistributionAggregationWizardPage_EXPORT_UNPUBLISHED);
+ checkIncludeUnpublishedTaxa = new Button(composite, SWT.CHECK);
+ checkIncludeUnpublishedTaxa.setText(Messages.DistributionAggregationWizardPage_EXPORT_UNPUBLISHED);
+ checkIncludeUnpublishedTaxa.setSelection(true);
GridLayoutFactory.fillDefaults();
}
public boolean useUnpublishedData(){
- return checkIncludeUnpublished.getSelection();
+ return checkIncludeUnpublishedTaxa.getSelection();
}
public Classification getSelectedClassification() {