X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/243762975a6fe9189fd3ad2cb954ef667384fe68..69213a6e1c38089624aaf5a6a4843ce83c262270:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java index 6f0d79d88..c990a1c53 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java @@ -22,22 +22,20 @@ import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Button; import eu.etaxonomy.cdm.model.common.Language; -import eu.etaxonomy.cdm.model.common.Representation; -import eu.etaxonomy.cdm.model.common.TermBase; -import eu.etaxonomy.cdm.model.common.TermType; +import eu.etaxonomy.cdm.model.term.Representation; +import eu.etaxonomy.cdm.model.term.TermBase; +import eu.etaxonomy.cdm.model.term.TermType; import eu.etaxonomy.taxeditor.model.DefaultTermComparator; import eu.etaxonomy.taxeditor.model.ImageResources; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; +import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement; -public class RepresentationElement extends AbstractCdmFormElement implements -SelectionListener{ +public class RepresentationElement extends AbstractCdmFormElement { protected TermComboElement combo_language; @@ -93,8 +91,6 @@ SelectionListener{ combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement, "", null, false, style); - combo_language.addSelectionListener(this); - } public List getLanguages() { @@ -109,34 +105,6 @@ SelectionListener{ return languageList; } - @Override - public void widgetSelected(SelectionEvent e) { - Language selectedLanguage = combo_language.getSelection(); - if (selectedLanguage != null) { - selectedRepresentation = getTerm().getRepresentation( - selectedLanguage); - if (selectedRepresentation == null){ - selectedRepresentation = Representation.NewInstance("", "", "", selectedLanguage); - } - element_Label.setText(selectedRepresentation.getLabel()); - element_abbrevLabel.setText(selectedRepresentation.getAbbreviatedLabel()); - element_plural.setText(selectedRepresentation.getPlural()); - element_text.setText(selectedRepresentation.getDescription()); - - }else { - - element_Label.setEnabled(false); - element_abbrevLabel.setEnabled(false); - element_plural.setEnabled(false); - element_text.setEnabled(false); - } - - } - - @Override - public void widgetDefaultSelected(SelectionEvent e) { - } - public void setTerm( TermBase term, boolean update) { this.term = term; @@ -171,10 +139,10 @@ SelectionListener{ Representation preferredRepresentation = term .getPreferredRepresentation(PreferencesUtil.getGlobalLanguage() ); - element_Label.setText(preferredRepresentation.getLabel()); - element_abbrevLabel.setText(preferredRepresentation.getAbbreviatedLabel()); - element_plural.setText(preferredRepresentation.getPlural()); - element_text.setText(preferredRepresentation.getDescription()); + element_Label.setText(preferredRepresentation != null? preferredRepresentation.getLabel(): null); + element_abbrevLabel.setText(preferredRepresentation != null? preferredRepresentation.getAbbreviatedLabel(): null); + element_plural.setText(preferredRepresentation != null? preferredRepresentation.getPlural(): null); + element_text.setText(preferredRepresentation != null? preferredRepresentation.getDescription(): null); selectedRepresentation = preferredRepresentation; if (PreferencesUtil.isMultilanguageTextEditingCapability()) { combo_language.setSelection(preferredRepresentation == null?CdmStore.getDefaultLanguage():preferredRepresentation.getLanguage()); @@ -219,15 +187,30 @@ SelectionListener{ } else if (eventSource == button){ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event)); } else if (eventSource == combo_language){ - if (combo_language.getSelection() != null){ - setEnabledControls(true); - boolean removePossible = term.getRepresentations().size() > 1 ; - removeRepresentation.setEnabled(removePossible); - } else{ - setEnabledControls(false); - removeRepresentation.setEnabled(false); - } - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event)); + if (combo_language.getSelection() != null){ + setEnabledControls(true); + boolean removePossible = term.getRepresentations().size() > 1 ; + removeRepresentation.setEnabled(removePossible); + + Language selectedLanguage = combo_language.getSelection(); + if (selectedLanguage != null) { + selectedRepresentation = getTerm().getRepresentation(selectedLanguage); + if (selectedRepresentation == null){ + selectedRepresentation = Representation.NewInstance("", "", "", selectedLanguage); + } + element_Label.setText(selectedRepresentation.getLabel()); + element_abbrevLabel.setText(selectedRepresentation.getAbbreviatedLabel()); + element_plural.setText(selectedRepresentation.getPlural()); + element_text.setText(selectedRepresentation.getDescription()); + + }else { + setEnabledControls(false); + } + } else{ + setEnabledControls(false); + removeRepresentation.setEnabled(false); + } + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event)); } }