From 2f9b03b919b64acb261f27a4567a42f571b095af Mon Sep 17 00:00:00 2001 From: "a.theys" Date: Mon, 18 Jun 2012 11:48:28 +0000 Subject: [PATCH] AT: committing changes to the TaxEditor Post second round of code review --- .../editor/view/uses/UsesLabelProvider.java | 53 ++++++++++++++++--- .../editor/view/uses/UsesViewPart.java | 42 +++++++++++++++ .../META-INF/MANIFEST.MF | 1 + .../taxeditor/editor/UsageTermCollection.java | 2 + 4 files changed, 91 insertions(+), 7 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java index 95390d866..0cea6eab7 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java @@ -24,6 +24,7 @@ import eu.etaxonomy.cdm.model.description.StateData; import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.editor.UsageTermCollection; /** * UsesLabelProvider Class @@ -49,46 +50,84 @@ public class UsesLabelProvider extends ColumnLabelProvider implements } else if (element instanceof CategoricalData) { if (!((CategoricalData) element).getStates().isEmpty()) { + boolean isUseCategoryAbsent = true; for (StateData statedata : ((CategoricalData) element).getStates()) { if(statedata.getState() != null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) !=null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText().equals("Use Category")) { text = text + statedata.getState().getTitleCache() + ";"; + isUseCategoryAbsent = false; } } + if(isUseCategoryAbsent) { + text = text + UsageTermCollection.notAvailableLabel + ";"; + } + + boolean isUseSubCategoryAbsent = true; for (StateData statedata : ((CategoricalData) element).getStates()) { if(statedata.getState() != null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()) !=null && statedata.getModifyingText().get(CdmStore.getDefaultLanguage()).getText().equals("Use SubCategory")) { text = text + statedata.getState().getTitleCache() + ";"; + isUseSubCategoryAbsent = false; } } + if(isUseSubCategoryAbsent) { + text = text + UsageTermCollection.notAvailableLabel + ";"; + } + } + else { + text = text + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";"; } if (!((CategoricalData) element).getModifiers().isEmpty()) { for (Modifier modifier: ((CategoricalData) element).getModifiers()){ modifier.getPartOf(); modifier.getVocabulary(); } + + boolean isPlantPartAbsent = true; for (Modifier modifier: ((CategoricalData) element).getModifiers()){ - if(GetVocabularyType(modifier, "Plant Part")) { + if(GetVocabularyType(modifier, UsageTermCollection.plantPartLabel)) { text = text + modifier.getTitleCache()+ ";"; + isPlantPartAbsent = false; } } + if (isPlantPartAbsent) { + text = text + UsageTermCollection.notAvailableLabel + ";"; + } + + boolean isHumanGroupAbsent = true; for (Modifier modifier: ((CategoricalData) element).getModifiers()){ - if(GetVocabularyType(modifier, "Human Group")) { + if(GetVocabularyType(modifier, UsageTermCollection.humanGroupLabel)) { text = text + modifier.getTitleCache()+ ";"; + isHumanGroupAbsent = false; } - } + if (isHumanGroupAbsent) { + text = text + UsageTermCollection.notAvailableLabel + ";"; + } + + boolean isEthnicGroupAbsent = true; for (Modifier modifier: ((CategoricalData) element).getModifiers()){ - if(GetVocabularyType(modifier, "Ethnic Group")) { + if(GetVocabularyType(modifier, UsageTermCollection.ethnicGroupLabel)) { text = text + modifier.getTitleCache()+ ";"; + isEthnicGroupAbsent = false; } - } + if (isEthnicGroupAbsent) { + text = text + UsageTermCollection.notAvailableLabel + ";"; + } + + boolean isCountryAbsent = true; for (Modifier modifier: ((CategoricalData) element).getModifiers()){ - if(GetVocabularyType(modifier, "Country")) { + if(GetVocabularyType(modifier, UsageTermCollection.countryLabel)) { text = text + modifier.getTitleCache()+ ";"; + isCountryAbsent = false; } - } + if (isCountryAbsent) { + text = text + UsageTermCollection.notAvailableLabel + ";"; + } + } + else { + text = text + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";" + UsageTermCollection.notAvailableLabel + ";"; } if (text == null || text.length() == 0) { diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java index bf2b60a82..3f0aea779 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java @@ -17,6 +17,8 @@ import org.eclipse.jface.action.GroupMarker; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.DND; @@ -26,9 +28,17 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Tree; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchPart; import eu.etaxonomy.cdm.model.description.TaxonDescription; +import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor; +import eu.etaxonomy.taxeditor.editor.EditorUtil; +import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor; import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDragListener; import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDropAdapter; import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementTransfer; @@ -89,6 +99,38 @@ public class UsesViewPart extends DescriptiveViewPart implements IPartContentHas toolBarManager.add(hideAllElementsAction); } + @Override + public void selectionChanged(IWorkbenchPart part, ISelection selection) { + if(EditorUtil.getActiveEditor() == null){ + showEmptyPage(); + return; + } + + if(part instanceof BulkEditor){ + showEmptyPage(); + return; + } + + if(part instanceof AbstractGraphKeyEditor){ + showEmptyPage(); + return; + } + + if(part instanceof DefinedTermEditor){ + showEmptyPage(); + return; + } + + if(part instanceof MultiPageTaxonEditor){ + if(! part.equals(this.part)){ + IEditorInput input = ((IEditorPart) part).getEditorInput(); + featureNodeContainerCache.clear(); + showViewer(part, new StructuredSelection(input)); + } + showViewer(); + } + } + private void createMenu(){ MenuManager menuManager = new MenuManager(); diff --git a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF index 0ef127116..1e01f81af 100644 --- a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF @@ -9,6 +9,7 @@ Export-Package: eu.etaxonomy.cdm, eu.etaxonomy.cdm.database, eu.etaxonomy.taxeditor.datasource, eu.etaxonomy.taxeditor.datasource.wizard, + eu.etaxonomy.taxeditor.editor, eu.etaxonomy.taxeditor.editor.definedterm, eu.etaxonomy.taxeditor.featuretree, eu.etaxonomy.taxeditor.handler, diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java index b3b0b69f6..ed891f794 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java @@ -44,6 +44,8 @@ public class UsageTermCollection { public final static UUID uuidHumanGroupDummy = UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5"); public final static UUID uuidEthnicGroupDummy = UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2"); + public final static String ethnicGroupLabel = "Ethnic Group"; + public final static String notAvailableLabel = "N/A"; -- 2.34.1