From 724c463a6ca412dccad5284dbc9e48224de408c8 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Wed, 4 Dec 2019 14:51:40 +0100 Subject: [PATCH] ref #8677: correct enabling and disabling of elements --- .../DistributionAggregationWizardPage.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/DistributionAggregationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/DistributionAggregationWizardPage.java index d44c71027..97bf38773 100755 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/DistributionAggregationWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/DistributionAggregationWizardPage.java @@ -305,6 +305,9 @@ public class DistributionAggregationWizardPage extends WizardPage implements Lis buttonSuperArea.setEnabled(areachecked); comboSourceModeSubAreaSuperArea.setEnabled(areachecked); comboSourceModeChildParent.setEnabled(toParentChecked); + AggregationSourceMode areaMode = (AggregationSourceMode)comboSourceModeSubAreaSuperArea.getData(comboSourceModeSubAreaSuperArea.getText()); + AggregationSourceMode taxonMode = (AggregationSourceMode)comboSourceModeChildParent.getData(comboSourceModeChildParent.getText()); + sourceTypeViewer.getTable().setEnabled(((areachecked && (areaMode.equals(AggregationSourceMode.ALL) || areaMode.equals(AggregationSourceMode.ALL_SAMEVALUE) ) )|| toParentChecked && (taxonMode.equals(AggregationSourceMode.ALL) || taxonMode.equals(AggregationSourceMode.ALL_SAMEVALUE) )) ); getWizard().getContainer().updateButtons(); } }); @@ -347,8 +350,7 @@ public class DistributionAggregationWizardPage extends WizardPage implements Lis sourceModeLabel.setToolTipText("Defines the source mode if aggregation from child to parent taxon is selected."); comboSourceModeChildParent = new Combo(control, SWT.BORDER| SWT.READ_ONLY); comboSourceModeChildParent.setText(Messages.DistributionAggregationConfiguration_AggregationMode); - comboSourceModeChildParent.add("None"); - comboSourceModeChildParent.setData(null); + for (AggregationSourceMode mode :AggregationSourceMode.values()){ comboSourceModeChildParent.add(mode.toString()); comboSourceModeChildParent.setData(mode.toString(), mode); @@ -364,8 +366,7 @@ public class DistributionAggregationWizardPage extends WizardPage implements Lis sourceModeLabelSuperArea.setToolTipText("Defines the source mode if aggregation from sub area to super area is selected."); comboSourceModeSubAreaSuperArea = new Combo(control, SWT.BORDER| SWT.READ_ONLY); comboSourceModeSubAreaSuperArea.setText(Messages.DistributionAggregationConfiguration_AggregationMode); - comboSourceModeSubAreaSuperArea.add("None"); - comboSourceModeSubAreaSuperArea.setData(null); + for (AggregationSourceMode mode :AggregationSourceMode.values()){ comboSourceModeSubAreaSuperArea.add(mode.toString()); comboSourceModeSubAreaSuperArea.setData(mode.toString(), mode); @@ -374,6 +375,7 @@ public class DistributionAggregationWizardPage extends WizardPage implements Lis comboSourceModeSubAreaSuperArea.addSelectionListener(this); comboSourceModeSubAreaSuperArea.setEnabled(false); comboSourceModeSubAreaSuperArea.select(0); + Label sourceTypeLabel = new Label(control, SWT.NULL); sourceTypeLabel.setText("Source type"); sourceTypeLabel.setToolTipText("Type of sources that should added to the aggregated distribution"); @@ -439,7 +441,7 @@ public class DistributionAggregationWizardPage extends WizardPage implements Lis if (e.getSource().equals(comboSourceModeChildParent) || e.getSource().equals(comboSourceModeSubAreaSuperArea)){ AggregationSourceMode modeChild = (AggregationSourceMode)comboSourceModeChildParent.getData(comboSourceModeChildParent.getText()); AggregationSourceMode modeArea = (AggregationSourceMode)comboSourceModeSubAreaSuperArea.getData(comboSourceModeSubAreaSuperArea.getText()); - if ((modeChild != null && modeChild.equals(AggregationSourceMode.ALL) || modeChild.equals(AggregationSourceMode.ALL_SAMEVALUE)) ||(modeArea != null && modeArea.equals(AggregationSourceMode.ALL) || modeArea.equals(AggregationSourceMode.ALL_SAMEVALUE))){ + if ((comboSourceModeChildParent.isEnabled() && (modeChild != null && modeChild.equals(AggregationSourceMode.ALL) || modeChild.equals(AggregationSourceMode.ALL_SAMEVALUE))) ||(comboSourceModeSubAreaSuperArea.isEnabled() && (modeArea != null && modeArea.equals(AggregationSourceMode.ALL) || modeArea.equals(AggregationSourceMode.ALL_SAMEVALUE)))){ sourceTypeViewer.getTable().setEnabled(true); }else{ sourceTypeViewer.getTable().setEnabled(false); -- 2.34.1