refactoring of package names for consistency
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / MultilanguageTextElement.java
similarity index 83%
rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java
rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java
index 02c7d690bc75cfec79c819b6d685d9078d754784..4c9098fc29a3ee671ce7812dbf5f384e77f60034 100644 (file)
@@ -8,10 +8,11 @@
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
 
-package eu.etaxonomy.taxeditor.ui.forms;
+package eu.etaxonomy.taxeditor.ui.element;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -27,9 +28,10 @@ import org.eclipse.swt.widgets.Button;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
+import eu.etaxonomy.taxeditor.model.DefaultTermComparator;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.combo.EmptyComboElement;
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.translation.TranslationWizard;
 
 /**
@@ -74,7 +76,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
                }
        }
 
-       private EmptyComboElement<Language> combo_language;
+       private TermComboElement<Language> combo_language;
 
        protected LanguageStringWithLabelElement element_languageString;
 
@@ -88,10 +90,10 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
         * </p>
         * 
         * @param formFactory
-        *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+        *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
         * @param formElement
-        *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
+        *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
         *            object.
         * @param labelString
         *            a {@link java.lang.String} object.
@@ -110,32 +112,39 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
 
                formFactory.addPropertyChangeListener(this);
 
-               element_languageString = formFactory
+               element_languageString = this.formFactory
                                .createLanguageStringWithLabelElement(formElement, labelString,
                                                null, textHeight, style);
 
                if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
-                       combo_language = formFactory
-                                       .createEmptyComboElement(Language.class, formElement,
-                                                       "", null, style);
-                       combo_language.addSelectionListener(this);
-                       addControl(formFactory.createLabel(getLayoutComposite(), ""));
-                       button = formFactory.createButton(getLayoutComposite(),
-                                       "Open In Translation Editor", SWT.PUSH);
-                       addControl(button);
-                       button.setLayoutData(CdmFormFactory.RIGHT());
-                       button.addSelectionListener(new OpenTranslationWizard(
-                                       multilanguageText));
+                       createMultilanguageTextEditingElements(formElement,
+                                       multilanguageText, style);
                }
                setMultilanguageText(multilanguageText);
        }
 
+       private void createMultilanguageTextEditingElements(
+                       ICdmFormElement formElement,
+                       Map<Language, LanguageString> multilanguageText, int style) {
+               combo_language = formFactory
+                               .createTermComboElement(Language.class, formElement,
+                                               "", null, style);
+               combo_language.addSelectionListener(this);
+               addControl(formFactory.createLabel(getLayoutComposite(), ""));
+               button = formFactory.createButton(getLayoutComposite(),
+                               "Open In Translation Editor", SWT.PUSH);
+               addControl(button);
+               button.setLayoutData(CdmFormFactory.RIGHT());
+               button.addSelectionListener(new OpenTranslationWizard(
+                               multilanguageText));
+       }
+
        private List<Language> getLanguages() {
 
                ArrayList<Language> languageList = new ArrayList<Language>(
                                getMultilanguageText().keySet());
 
-               // TODO sort
+               Collections.sort(languageList, new DefaultTermComparator<Language>());
 
                return languageList;
        }