* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.ArrayList;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
/**
- * <p>StateDataElement class.</p>
- *
* @author n.hoffmann
* @created Sep 15, 2010
- * @version 1.0
*/
public class StateDataElement extends AbstractEntityCollectionElement<StateData> {
private ModifierSection section_modifiers;
private TextWithLabelElement text_modifyingText;
- /**
- * <p>Constructor for StateDataElement.</p>
- *
- * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
- * @param section a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
- * @param entity a {@link eu.etaxonomy.cdm.model.description.StateData} object.
- * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
- * @param style a int.
- */
public StateDataElement(CdmFormFactory formFactory,
AbstractFormSection section, StateData entity,
SelectionListener removeListener, int style) {
super(formFactory, section, entity, removeListener, null, style);
}
- /** {@inheritDoc} */
@Override
public void setEntity(StateData entity) {
this.entity = entity;
- List<State> stateTerms = new ArrayList<State>();
- Set<TermVocabulary<State>> stateVocabularies = getEntity().getCategoricalData().getFeature().getSupportedCategoricalEnumerations();
- for (TermVocabulary<State> termVocabulary : stateVocabularies) {
- stateTerms.addAll(termVocabulary.getTerms());
- }
- combo_state.setTerms(stateTerms);
- combo_state.setSelection(entity.getState());
- if (section_modifiers != null){
- section_modifiers.setEntity(entity);
- section_modifiers.setExpanded(!entity.getModifiers().isEmpty());
- }
- if(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()) != null && text_modifyingText != null) {
- text_modifyingText.setText(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()).getText());
- }
- if(getEntity().getId()>0){
- combo_state.removeEmptyElement();
+ if (combo_state != null){
+
+ combo_state.setSelection(entity.getState());
+ if (section_modifiers != null){
+ section_modifiers.setEntity(entity);
+ section_modifiers.setExpanded(!entity.getModifiers().isEmpty());
+ }
+ if(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()) != null && text_modifyingText != null) {
+ text_modifyingText.setText(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()).getText());
+ }
+ if(getEntity().getId()>0){
+ combo_state.removeEmptyElement();
+ }
}
}
- /** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
- combo_state = formFactory.createDefinedTermComboElement(TermType.State, element, "State", null, style);
+ if (getEntity() != null){
+ List<State> stateTerms = new ArrayList<>();
+ Set<TermVocabulary<State>> stateVocabularies = getEntity().getCategoricalData().getFeature().getSupportedCategoricalEnumerations();
+ for (TermVocabulary<State> termVocabulary : stateVocabularies) {
+ stateTerms.addAll(termVocabulary.getTerms());
+ }
+ combo_state = formFactory.createDefinedTermComboElement(stateTerms, element, "State", null, style);
+ }else{
+ combo_state = formFactory.createDefinedTermComboElement(TermType.State, element, "State", null, style);
+ }
// combo_state.setTermComparator(new DefaultTermComparator<State>());
if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowModifier.getKey())){
section_modifiers = formFactory.createModifierSection(getConversationHolder(), element, StoreUtil.getSectionStyle(ModifierSection.class, StateData.class.getCanonicalName(), true));
if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowModifierFreeText.getKey())){
text_modifyingText = formFactory.createTextWithLabelElement(element, "Modifying Text", null, style);
}
+ if (entity != null){
+ setEntity(entity);
+ }
}
- /** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
if(eventSource == combo_state){
}
}
- public void setEnabled(boolean enable){
- combo_state.setEnabled(enable);
- section_modifiers.setEnabled(enable);
- text_modifyingText.setEnabled(enable);
+ @Override
+ public void setEnabled(boolean enable){
+ if (combo_state != null){
+ combo_state.setEnabled(enable);
+ }
+ if (section_modifiers != null){
+ section_modifiers.setEnabled(enable);
+ }
+ if (text_modifyingText != null){
+ text_modifyingText.setEnabled(enable);
+ }
+ super.setEnabled(enable);
}
}