From 3a77d114e81d7b99e553d7595b84eb4e2b5ab240 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Tue, 2 Oct 2018 14:42:14 +0200 Subject: [PATCH] ref #7063: work in progress: selection in treeview of namedAreas for distribution editor should be more reasonable --- .../checklist/ChecklistLabelProvider.java | 2 +- .../e4/DistributionEditingSupportE4.java | 15 +++------- .../wizard/AvailableDistributionPage.java | 28 +++++++++---------- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java index 9bea25c3c..8657c3743 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java @@ -123,7 +123,7 @@ public class ChecklistLabelProvider extends LabelProvider implements ITableLabel } } - if(columnIndex >2 || (!PreferencesUtil.isShowRankInChecklistEditor() && columnIndex > 0)){ + if(columnIndex >1 || (!PreferencesUtil.isShowRankInChecklistEditor() && columnIndex > 0)){ for (TaxonDescription td : listTaxonDescriptions) { for (DescriptionElementBase deb : td.getElements()) { diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java index dc547a43e..c600837f5 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java @@ -196,17 +196,8 @@ public final class DistributionEditingSupportE4 extends EditingSupport { if (namedAreas != null) { for (DefinedTermBase term : namedAreas) { - boolean sameArea = true; - if (!PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){ - sameArea = column.getText().equalsIgnoreCase(term.getTitleCache()); - } else{ - if (term.getIdInVocabulary() != null){ - sameArea = column.getText().equalsIgnoreCase(term.getIdInVocabulary()); - } else{ - sameArea = column.getText().equalsIgnoreCase(term.getTitleCache()); - } - } - if (sameArea) { + Integer areaIndex = editor.getAreaPosition().get(term.getUuid()); + if (areaIndex == columnIndex){ NamedArea area = (NamedArea) term; Distribution distribution = Distribution.NewInstance(area, occurenceStatus); Set descriptions = taxon.getDescriptions(); @@ -221,7 +212,9 @@ public final class DistributionEditingSupportE4 extends EditingSupport { td.addElement(distribution); break; } + } + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java index d98cd066e..cf47cf1a5 100755 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java @@ -99,8 +99,8 @@ public class AvailableDistributionPage extends AbstractAreaSelectionWizard imple try { checkChildren(event.getElement(), event.getChecked()); - grayParents(event.getElement()); + ((CheckboxTreeViewer)getViewer()).refresh(); } finally { ignoreCheckEvent = false; @@ -198,15 +198,16 @@ public class AvailableDistributionPage extends AbstractAreaSelectionWizard imple return; } // final Object element = path.getLastSegment(); - if (element != null) { +// if (element != null) { ((CheckboxTreeViewer)getViewer()).setChecked(element, checked); ((CheckboxTreeViewer)getViewer()).setGrayed(element, false); - int length = tcp.getChildren(element).length; - if(length>1){ - ((CheckboxTreeViewer)getViewer()).expandToLevel(element, CheckboxTreeViewer.ALL_LEVELS); - ((CheckboxTreeViewer)getViewer()).setSubtreeChecked(element, checked); - } - } +// int length = tcp.getChildren(element).length; +// if(length>1){ +// +// ((CheckboxTreeViewer)getViewer()).expandToLevel(element, CheckboxTreeViewer.ALL_LEVELS); +// ((CheckboxTreeViewer)getViewer()).setSubtreeChecked(element, checked); +// } +// } } /** * @@ -231,12 +232,11 @@ public class AvailableDistributionPage extends AbstractAreaSelectionWizard imple if (allUnchecked) { ((CheckboxTreeViewer)getViewer()).setChecked(parent, false); ((CheckboxTreeViewer)getViewer()).setGrayed(parent, false); - } else if (allChecked) { - ((CheckboxTreeViewer)getViewer()).setChecked(parent, true); - ((CheckboxTreeViewer)getViewer()).setGrayed(parent, false); - } else if (!allUnchecked && !allChecked) { - ((CheckboxTreeViewer)getViewer()).setChecked(parent, true); - ((CheckboxTreeViewer)getViewer()).setGrayed(parent, true); + } else { + // ((CheckboxTreeViewer)getViewer()).setChecked(parent, false); + boolean result = ((CheckboxTreeViewer)getViewer()).setGrayed(parent, true); + + } grayParents(tcp.getParent(parent)); -- 2.34.1