Merge branch 'develop' into LibrAlign
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / StateDataElement.java
index 3ee690b7e404b6938aa6be46d8c0f911fe5f54c4..a1b051415875bf5d7a641c7387b0a9e6ef9993ec 100644 (file)
@@ -71,16 +71,20 @@ public class StateDataElement extends AbstractEntityCollectionElement<StateData>
                combo_state.setTerms(stateTerms);
                combo_state.setSelection(entity.getState());
                section_modifiers.setEntity(entity);
+               section_modifiers.setExpanded(!entity.getModifiers().isEmpty());
                if(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()) != 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);
-               section_modifiers = formFactory.createModifierSection(getConversationHolder(), element, ExpandableComposite.TWISTIE);
+               section_modifiers = formFactory.createModifierSection(getConversationHolder(), element, ExpandableComposite.TWISTIE|ExpandableComposite.EXPANDED);
                section_modifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
                text_modifyingText = formFactory.createTextWithLabelElement(element, "Modifying Text", null, style);
        }
@@ -90,6 +94,7 @@ public class StateDataElement extends AbstractEntityCollectionElement<StateData>
        public void handleEvent(Object eventSource) {
                if(eventSource == combo_state){
                        getEntity().setState(combo_state.getSelection());
+                       combo_state.removeEmptyElement();
                }
                if(eventSource == text_modifyingText){
                        getEntity().putModifyingText(LanguageString.NewInstance(text_modifyingText.getText(), CdmStore.getDefaultLanguage()));