From: n.hoffmann Date: Mon, 10 Jan 2011 17:04:02 +0000 (+0000) Subject: fixes #673, #2169, #2186 X-Git-Tag: rcp.ss-first-working-version~219 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/d68154307c6282e04a254d84974838acdc79d1ed fixes #673, #2169, #2186 --- diff --git a/.gitattributes b/.gitattributes index d13fe3a37..8931a2b7d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -906,6 +906,7 @@ taxeditor-store/icons/homonym_no_bg.gif -text taxeditor-store/icons/homosyn.gif -text taxeditor-store/icons/homosyn_no_bg.gif -text taxeditor-store/icons/homosyn_original_no_bg.gif -text +taxeditor-store/icons/homotypic_syn_hetero_group.gif -text taxeditor-store/icons/horizontal.gif -text taxeditor-store/icons/icon.ico -text taxeditor-store/icons/icon.png -text diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AbstractGroupedContainer.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AbstractGroupedContainer.java index 0befdbae6..9ce7189ed 100644 --- a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AbstractGroupedContainer.java +++ b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AbstractGroupedContainer.java @@ -116,6 +116,8 @@ abstract public class AbstractGroupedContainer implements I public static final int ACCEPTED_INDENT = 20; /** Constant SYNONYM_INDENT=40 */ public static final int SYNONYM_INDENT = 40; + /** Constant HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_INDENT = 60 */ + public static final int HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_INDENT = 60; /** Constant MISAPPLIEDNAME_INDENT=40 */ public static final int MISAPPLIEDNAME_INDENT = 40; /** Constant CONCEPT_INDENT=40 */ @@ -133,6 +135,7 @@ abstract public class AbstractGroupedContainer implements I ImageResources.HOMOTYPIC_SYN_ORIGINAL_ICON); /** Constant HETEROTYPIC_SYNONYM_ICON */ public static final Image HETEROTYPIC_SYNONYM_ICON = ImageResources.getImage(ImageResources.HETEROTYPIC_SYN_ICON); + public static final Image HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON = ImageResources.getImage(ImageResources.HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON); public static final Image INVALID_OR_NUDUM_NAME_ICON = ImageResources.getImage(ImageResources.NOM_INVAL_NUD_SYN_ICON); /** Constant HETEROTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON */ public static final Image HETEROTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON = ImageResources.getImage( @@ -328,6 +331,8 @@ abstract public class AbstractGroupedContainer implements I // showNameRelations(); + updateIndent(); + updateIcon(); String text = NameHelper.getDisplayNameWithRef(getData()); @@ -384,6 +389,7 @@ abstract public class AbstractGroupedContainer implements I updateIcon(); // placeCursor(); + updateIndent(); isFreeTextEnabled(); } @@ -393,6 +399,8 @@ abstract public class AbstractGroupedContainer implements I */ protected abstract void updateIcon(); + + protected abstract void updateIndent(); /** @@ -624,6 +632,7 @@ abstract public class AbstractGroupedContainer implements I layout.leftMargin = indent; layout.rightMargin = ACCEPTED_INDENT; control.setLayout(layout); + control.layout(); } else { new RuntimeException("Couldn't indent - composite's layout must be TableWrapLayout."); } diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AcceptedNameContainer.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AcceptedNameContainer.java index 23b556d51..c55072a1c 100644 --- a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AcceptedNameContainer.java +++ b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AcceptedNameContainer.java @@ -39,7 +39,6 @@ public class AcceptedNameContainer extends AbstractGroupedContainer { */ public void initializeComposite(){ setFont(getViewerFont()); - setIndent(ACCEPTED_INDENT); initTextViewer(); } @@ -64,4 +63,13 @@ public class AcceptedNameContainer extends AbstractGroupedContainer { setIcon(ACCEPTED_ICON); } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.name.AbstractGroupedContainer#updateIndent() + */ + @Override + protected void updateIndent() { + setIndent(ACCEPTED_INDENT); + } + } diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/ConceptContainer.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/ConceptContainer.java index f817c1caf..dc28c26d3 100644 --- a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/ConceptContainer.java +++ b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/ConceptContainer.java @@ -50,7 +50,6 @@ public class ConceptContainer extends AbstractGroupedContainer { setIsDraggable(true); setFont(getViewerFont()); - setIndent(CONCEPT_INDENT); showSec(); @@ -132,6 +131,14 @@ public class ConceptContainer extends AbstractGroupedContainer { showSec(); showRelationshipType(); } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.name.AbstractGroupedContainer#updateIndent() + */ + @Override + protected void updateIndent() { + setIndent(CONCEPT_INDENT); + } } diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/MisapplicationContainer.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/MisapplicationContainer.java index f6516ceac..4a46fd754 100644 --- a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/MisapplicationContainer.java +++ b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/MisapplicationContainer.java @@ -44,7 +44,6 @@ public class MisapplicationContainer extends AbstractGroupedContainer { protected void initializeComposite() { setIsDraggable(true); setFont(getViewerFont()); - setIndent(MISAPPLIEDNAME_INDENT); showSec(); @@ -100,4 +99,13 @@ public class MisapplicationContainer extends AbstractGroupedContainer { showSec(); } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.name.AbstractGroupedContainer#updateIndent() + */ + @Override + protected void updateIndent() { + setIndent(MISAPPLIEDNAME_INDENT); + } + } diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/SynonymContainer.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/SynonymContainer.java index 813ee4118..1b11c164d 100644 --- a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/SynonymContainer.java +++ b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/SynonymContainer.java @@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.preference.Resources; * @version 1.0 */ public class SynonymContainer extends AbstractGroupedContainer { - + /** *

Constructor for SynonymContainer.

* @@ -49,7 +49,6 @@ public class SynonymContainer extends AbstractGroupedContainer { protected void initializeComposite() { setIsDraggable(true); setFont(getViewerFont()); - setIndent(SYNONYM_INDENT); if(getName() == null){ EditorUtil.warn(getClass(), "Synonym with a null name detected. This should never happen."); @@ -83,12 +82,17 @@ public class SynonymContainer extends AbstractGroupedContainer { } } - - if (name.isGroupsBasionym()) { - setIcon(HETEROTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON); - } else { + if (name.getHomotypicalGroup().getBasionyms().isEmpty()) { setIcon(HETEROTYPIC_SYNONYM_ICON); - } + }else{ + if (name.isGroupsBasionym()) { + setIcon(HETEROTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON); + } else { + setIcon(HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON); + } + } + + } private boolean isHomotypic() { @@ -120,4 +124,19 @@ public class SynonymContainer extends AbstractGroupedContainer { protected void updateNonEditableInfo() { // not needed } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.name.AbstractGroupedContainer#updateIndent() + */ + @Override + protected void updateIndent() { + TaxonNameBase name = getName(); + + if (!name.getHomotypicalGroup().getBasionyms().isEmpty() && !name.isGroupsBasionym()) { + setIndent(HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_INDENT); + return; + } + + setIndent(SYNONYM_INDENT); + } } diff --git a/taxeditor-store/icons/homotypic_syn_hetero_group.gif b/taxeditor-store/icons/homotypic_syn_hetero_group.gif new file mode 100644 index 000000000..0fdd11d3c Binary files /dev/null and b/taxeditor-store/icons/homotypic_syn_hetero_group.gif differ diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java index 0658c7cfe..4a091b324 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java @@ -71,6 +71,7 @@ public class ImageResources { /** Constant HETEROTYPIC_SYN_ICON="heterotypic_syn_icon" */ public static final String HETEROTYPIC_SYN_ICON = "heterotypic_syn_icon"; public static final String NOM_INVAL_NUD_SYN_ICON = "nom_inval_nud_syn_icon"; + public static final String HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON = "homotypic_synonym_in_heterotypic_group_icon"; /** Constant HETEROTYPIC_SYN_ORIGINAL_ICON="heterotypic_syn_original_icon" */ public static final String HETEROTYPIC_SYN_ORIGINAL_ICON = "heterotypic_syn_original_icon"; /** Constant MISAPPLIED_NAME_ICON="misapplied_icon" */ @@ -241,6 +242,8 @@ public class ImageResources { "nominval_nud_no_bg.gif"); registerImage(registry, HETEROTYPIC_SYN_ORIGINAL_ICON, "heterosyn_original_no_bg.gif"); + registerImage(registry, HOMOTYPIC_SYNONYM_IN_HETEROTYPIC_GROUP_ICON, + "homotypic_syn_hetero_group.gif"); registerImage(registry, MISAPPLIED_NAME_ICON, "misapplied_no_bg.gif"); registerImage(registry, CONCEPT_ICON, diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/ContextManager.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/ContextManager.java index 651175db1..146f927c3 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/ContextManager.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/ContextManager.java @@ -91,7 +91,6 @@ public class ContextManager implements IWorkbenchListener{ ((IContextListener) listener).contextStart(memento, monitor); monitor.worked(1); } - monitor.done(); } }); diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java index 4a4e54253..f0b52dc89 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java @@ -72,6 +72,10 @@ public class TermManager extends ContextListenerAdapter{ @Override public void contextStart(IMemento memento, IProgressMonitor monitor) { // read preferred terms from memento into an in memory representation + if(memento == null){ + return; + } + IMemento terms = memento.getChild(TERMS); if(terms == null){