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
;
12 import org
.apache
.log4j
.Logger
;
13 import org
.eclipse
.swt
.graphics
.Font
;
15 import eu
.etaxonomy
.cdm
.model
.name
.HomotypicalGroup
;
16 import eu
.etaxonomy
.cdm
.model
.name
.TaxonNameBase
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.Synonym
;
18 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
19 import eu
.etaxonomy
.taxeditor
.preference
.Resources
;
22 * <p>SynonymContainer class.</p>
28 public class SynonymContainer
extends AbstractGroupedContainer
<Synonym
> {
29 @SuppressWarnings("unused")
30 private static final Logger logger
= Logger
31 .getLogger(SynonymContainer
.class);
34 * <p>Constructor for SynonymContainer.</p>
36 * @param editor a {@link eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor} object.
37 * @param group a {@link eu.etaxonomy.taxeditor.editor.name.AbstractGroup} object.
38 * @param synonym a {@link eu.etaxonomy.cdm.model.taxon.Synonym} object.
40 public SynonymContainer(TaxonNameEditor editor
, AbstractGroup group
, Synonym synonym
) {
41 super(editor
, group
, synonym
);
45 * @see eu.etaxonomy.taxeditor.editor.name.NameComposite#initializeComposite()
49 protected void initializeComposite() {
51 setFont(getViewerFont());
52 setIndent(SYNONYM_INDENT
);
54 TaxonNameBase name
= getSynonym().getName();
57 logger
.error("Synonym with a null name detected. This should never happen.");
61 if (name
.isGroupsBasionym()) {
62 setIcon(HOMOTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON
);
64 setIcon(HOMOTYPIC_SYNONYM_ICON
);
67 if (name
.isGroupsBasionym()) {
68 setIcon(HETEROTYPIC_SYNONYM_ORIGINAL_COMBINATION_ICON
);
70 setIcon(HETEROTYPIC_SYNONYM_ICON
);
77 private boolean isHomotypic() {
78 HomotypicalGroup group
= getSynonym().getHomotypicGroup();
79 return group
.equals(editor
.getTaxon().getHomotypicGroup());
85 * @return a {@link eu.etaxonomy.cdm.model.taxon.Synonym} object.
87 public Synonym
getSynonym() {
88 return getTaxonBase();
93 * <p>getViewerFont</p>
95 * @return a {@link org.eclipse.swt.graphics.Font} object.
97 protected Font
getViewerFont() {
98 return EditorUtil
.getFont(Resources
.SYNONYM_FONT
);
103 protected void updateNonEditableInfo() {