package eu.etaxonomy.taxeditor.ui.section.name;
import java.util.Comparator;
+import java.util.List;
import org.eclipse.swt.events.SelectionListener;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEntityElement;
import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
+import eu.etaxonomy.taxeditor.ui.element.LabelElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSourcedEntityElement;
public NomenclaturalStatusElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement,
NomenclaturalStatus element, SelectionListener removeListener, int style) {
- super(cdmFormFactory, formElement, element, removeListener, style);
+ super(cdmFormFactory, formElement, element, removeListener, "Source", style);
selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
}
}
};
- nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(TermType.NomenclaturalStatusType, this, "Status", null,true, style, true);
- nomenclaturalStatusTypeCombo.setTermComparator(termComparator);
+ String availableStatus = PreferencesUtil.getStringValue(PreferencePredicate.AvailableNomenclaturalStatus.getKey());
+ List<NomenclaturalStatusType> allStatus = CdmStore.getTermManager().createTermListFromString(availableStatus, TermType.NomenclaturalStatusType);
+
+ nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(allStatus, this, "Status", null,style, termComparator);
+
if (config == null || config.isNomenclaturalStatusRuleConsideredActivated()){
ruleConsidered = formFactory.createRuleConsideredElement(this, "Rule Considered", config == null || config.isNomenclaturalStatusRuleConsideredCodeEditionActivated(), style);
}
-
+ setSourceLabel("Source");
+ LabelElement spacer = formFactory.createLabel(this, null);
+ spacer.getLayoutComposite().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ addElement(spacer);
super.createControls(element, style);
+ if (entity != null){
+ setEntity(entity);
+ }
+
}
@Override
public void setEntity(NomenclaturalStatus entity) {
super.setEntity(entity);
- if (entity.getType() != null){
- nomenclaturalStatusTypeCombo.setSelection(entity.getType());
- nomenclaturalStatusTypeCombo.removeEmptyElement();
- }
- if (ruleConsidered != null){
- ruleConsidered.setElement(entity);
+ if (nomenclaturalStatusTypeCombo != null){
+ if (entity.getType() != null){
+ nomenclaturalStatusTypeCombo.setSelection(entity.getType());
+ nomenclaturalStatusTypeCombo.removeEmptyElement();
+ }
+ if (ruleConsidered != null){
+ ruleConsidered.setElement(entity);
+ }
}
}