import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
-import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
private Comparator<T> termComparator;
+ private final TermType termType;
+ private final TermVocabulary termVocabulary;
private final Class<T> termClass;
private List<T> customPreferredTerms;
int style) {
super(formFactory, parentElement);
- if(termClass!=null){
- this.termClass = termClass;
- }
- else{
- this.termClass = (Class<T>) DefinedTerm.class;
- }
+ this.termType = termType;
+ this.termVocabulary = termVocabulary;
+ this.termClass = termClass;
this.addEmptyElement = addEmptyElement;
if (labelString != null) {
* @return a {@link java.util.List} object.
*/
protected List<T> getPreferredTerms(){
+ List<T> preferredTerms = new ArrayList<T>();
if (customPreferredTerms != null){
return customPreferredTerms;
}
- return getTermManager().getPreferredTerms(termClass);
+ else if(termType!=null){
+ preferredTerms = getTermManager().getPreferredTerms(termType);
+ }
+ else if(termVocabulary!=null){
+ preferredTerms = getTermManager().getPreferredTerms(termVocabulary);
+ }
+ if(termClass!=null){
+ preferredTerms = getTermManager().getPreferredTerms(termClass);
+ }
+ return preferredTerms;
}
/**