2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.editor
.name
.e4
.container
;
14 import org
.eclipse
.swt
.graphics
.Font
;
15 import org
.eclipse
.swt
.graphics
.Image
;
17 import eu
.etaxonomy
.cdm
.model
.name
.HomotypicalGroup
;
18 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalStatus
;
19 import eu
.etaxonomy
.cdm
.model
.name
.TaxonName
;
20 import eu
.etaxonomy
.cdm
.model
.taxon
.Synonym
;
21 import eu
.etaxonomy
.taxeditor
.editor
.l10n
.Messages
;
22 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
23 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
24 import eu
.etaxonomy
.taxeditor
.preference
.Resources
;
27 * <p>SynonymContainer class.</p>
32 public class SynonymContainerE4
extends AbstractGroupedContainerE4
<Synonym
> {
34 private int indent
= SYNONYM_INDENT
;
35 private Image icon
= HETEROTYPIC_SYNONYM_ICON
;
38 * <p>Constructor for SynonymContainer.</p>
40 * @param editor a {@link eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor} object.
41 * @param group a {@link eu.etaxonomy.taxeditor.editor.name.container.AbstractGroup} object.
42 * @param synonym a {@link eu.etaxonomy.cdm.model.taxon.Synonym} object.
44 public SynonymContainerE4(AbstractHomotypicalGroupContainerE4 group
, Synonym synonym
) {
45 super(group
, synonym
);
48 public SynonymContainerE4(AbstractHomotypicalGroupContainerE4 group
, Synonym synonym
, int indent
, Image icon
){
49 super(group
, synonym
);
55 protected void initializeComposite() {
57 setFont(getViewerFont());
59 if(getName() == null){
60 MessagingUtils
.warn(getClass(), Messages
.SynonymContainer_SYNONYM_NULL_NAME
);
67 protected void updateIcon(){
68 TaxonName name
= getName();
70 if (name
.isInvalid()){
71 setIcon(INVALID_OR_NUDUM_NAME_ICON
);
76 if(name
.isGroupsBasionym()){
77 setIcon(HOMOTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON
);
79 setIcon(HOMOTYPIC_SYNONYM_ICON
);
84 if(name
.isGroupsBasionym()){
85 setIcon(HETEROTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON
);
94 private boolean isHomotypic() {
95 HomotypicalGroup group
= getSynonym().getHomotypicGroup();
96 return group
.equals(getEditor().getTaxon().getHomotypicGroup());
102 * @return a {@link eu.etaxonomy.cdm.model.taxon.Synonym} object.
104 public Synonym
getSynonym() {
105 return getTaxonBase();
110 * <p>getViewerFont</p>
112 * @return a {@link org.eclipse.swt.graphics.Font} object.
115 protected Font
getViewerFont() {
116 return AbstractUtility
.getFont(Resources
.SYNONYM_FONT
);
120 protected void updateNonEditableInfo() {
125 protected void updateIndent() {
126 setIndent(this.indent
);