import org.eclipse.ui.forms.widgets.TableWrapLayout;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
protected void setSectionTitle() {
String title = "";
+ String label = "";
if (getEntity() != null && (getEntity() instanceof IdentifiableEntity) && !(getEntity() instanceof SpecimenOrObservationBase)) {
- title = ": " + ((IdentifiableEntity) getEntity()).getTitleCache();
+ if (getEntity() instanceof DefinedTermBase<?> ){
+ label = ((DefinedTermBase<?>)getEntity()).getLabel(PreferencesUtil.getGlobalLanguage());
+ if (label == null){
+ label = ((DefinedTermBase<?>)getEntity()).getLabel();
+ }
+
+ } else if (getEntity() instanceof TextData){
+ label = ((TextData)getEntity()).getLanguageText(PreferencesUtil.getGlobalLanguage()).getText();
+ if (label == null){
+ label = ((TextData)getEntity()).getLanguageText(Language.DEFAULT()).getText();
+ }
+ } else{
+ label =((IdentifiableEntity) getEntity()).getTitleCache();
+ }
+ title = ": " + label;
+
// we have to duplicate ampersands otherwise they are treated as
// mnenomic (see Label.setText() documentation)
// see also #4302