ref #9838: change order of ui element creation and setting entity in collection elements
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / ExtensionElement.java
index 8a01ff9b3867ae836b7905c092ee13af72e3f873..b97ddb94a8b5cec62c0221139447bbcc06ec0cfc 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
@@ -8,26 +8,25 @@ import org.eclipse.swt.events.SelectionListener;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.Extension;
 import eu.etaxonomy.cdm.model.common.ExtensionType;
-import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.cdm.model.term.TermType;
+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.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
-import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
 
 /**
  * <p>ExtensionElement class.</p>
  *
  * @author n.hoffmann
  * @created Nov 17, 2009
- * @version 1.0
  */
 public class ExtensionElement extends AbstractEntityCollectionElement<Extension> {
 
        private TermComboElement<ExtensionType> combo_extensionType;
        private TextWithLabelElement text_extensionValue;
-       
+
        /**
         * <p>Constructor for ExtensionElement.</p>
         *
@@ -48,9 +47,11 @@ public class ExtensionElement extends AbstractEntityCollectionElement<Extension>
        /** {@inheritDoc} */
        @Override
        public void createControls(ICdmFormElement element, int style) {
-               combo_extensionType = formFactory.createTermComboElement(ExtensionType.class, this, null, null, style);
-               text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style);
-               text_extensionValue.getLayoutComposite().setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
+               combo_extensionType = formFactory.createDefinedTermComboElement(TermType.ExtensionType, element, "Type", null, style);
+               text_extensionValue = formFactory.createTextWithLabelElement(element, "Extension", null, style);
+               if (entity != null){
+                       setEntity(entity);
+               }
        }
 
        /* (non-Javadoc)
@@ -60,9 +61,11 @@ public class ExtensionElement extends AbstractEntityCollectionElement<Extension>
        @Override
        public void setEntity(Extension element) {
                this.entity = element;
-               ExtensionType extensionType = (ExtensionType) HibernateProxyHelper.deproxy(element.getType());
-               combo_extensionType.setSelection(extensionType);
-               text_extensionValue.setText(element.getValue());        
+               if (combo_extensionType != null){
+                       ExtensionType extensionType = HibernateProxyHelper.deproxy(element.getType());
+                       combo_extensionType.setSelection(extensionType);
+                       text_extensionValue.setText(element.getValue());
+               }
        }
 
        /*