cleanup
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / vocabulary / AbstractTermBaseDetailElement.java
index 66df36da8433e91803090a783ffe107ffca27fb1..4cf0c6f825f78a8f28bd3b350cd17a41529e765f 100644 (file)
@@ -1,22 +1,24 @@
-// $Id$\r
 /**\r
 * Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \r
+*\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
 \r
-import eu.etaxonomy.cdm.model.common.Representation;\r
-import eu.etaxonomy.cdm.model.common.TermBase;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import org.eclipse.swt.widgets.Button;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.term.Representation;\r
+import eu.etaxonomy.cdm.model.term.TermBase;\r
+import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
 import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;\r
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
-import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;\r
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.RepresentationElement;\r
 import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;\r
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;\r
 \r
@@ -27,65 +29,49 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  */\r
 public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends AbstractCdmDetailElement<T> {\r
 \r
-       protected TextWithLabelElement text_label;\r
-       protected TextWithLabelElement text_description;\r
        protected UriWithLabelElement uri_uri;\r
-       protected TextWithLabelElement text_abbreviatedLabel;\r
-       \r
-       /**\r
-        * @param formFactory\r
-        * @param formElement\r
-        */\r
+       protected RepresentationElement element_Representation;\r
+       private Button button;\r
+\r
+\r
        public AbstractTermBaseDetailElement(CdmFormFactory formFactory,\r
                        ICdmFormElement formElement) {\r
                super(formFactory, formElement);\r
        }\r
-       \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, java.lang.Object, int)\r
-        */\r
+\r
        @Override\r
        protected void createControls(ICdmFormElement formElement,\r
                        T entity, int style) {\r
-               Representation representation = getEntity().getRepresentation(CdmStore.getDefaultLanguage());\r
-               \r
-               if(representation == null){\r
-                       formFactory.createLabel(formElement, "No represantation for the current default Language");\r
-                       return;\r
-               }\r
-               \r
-               text_label = formFactory.createTextWithLabelElement(formElement, "Label", representation.getLabel(), style);\r
-               text_abbreviatedLabel = formFactory.createTextWithLabelElement(formElement, "Abbrev. Label", representation.getAbbreviatedLabel(), style);\r
-               text_description = formFactory.createMultilineTextWithLabel(formElement, "Description", 100, style);\r
-               text_description.setText(representation.getDescription());\r
+               element_Representation = formFactory.createTranslatableRepresentationElement(formElement,  getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, true);\r
                uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
-               \r
        }\r
 \r
-       @Override\r
+    @Override\r
        public void setEntity(T entity) {\r
                super.setEntity(entity);\r
                setEnabled(TermBasePropertyTester.isModifiable(entity));\r
        }\r
-       \r
-       protected void handleRepresentation(Object eventSource){\r
-               T entity = getEntity();\r
-               Representation representation = entity.getRepresentation(CdmStore.getDefaultLanguage());\r
-               \r
-               if (representation == null){\r
-                       return;\r
-               }\r
-               \r
-               if (eventSource == text_label){\r
-                       representation.setLabel(text_label.getText());\r
-                       entity.setLabel(text_label.getText());\r
-               }else if (eventSource == text_abbreviatedLabel){\r
-                       representation.setAbbreviatedLabel(text_abbreviatedLabel.getText());\r
-               }else if (eventSource == text_description){\r
-                       representation.setText(text_description.getText());\r
-               }\r
-       }\r
+\r
+    @Override\r
+    public void handleEvent(Object eventSource) {\r
+        if (eventSource == uri_uri) {\r
+            getEntity().setUri(uri_uri.parseText());\r
+        }\r
+        else if (eventSource == element_Representation) {\r
+            Representation selectedRepresentation = element_Representation.getSelectedRepresentation();\r
+            if(selectedRepresentation!=null){\r
+                Language representationLanguage = selectedRepresentation.getLanguage();\r
+                if(representationLanguage==null){\r
+                    representationLanguage = Language.getDefaultLanguage();\r
+                }\r
+                getEntity().setLabel(selectedRepresentation.getLabel(),  representationLanguage);\r
+                getEntity().getRepresentation(representationLanguage).setAbbreviatedLabel(selectedRepresentation.getAbbreviatedLabel());\r
+                getEntity().getRepresentation(representationLanguage).setText(selectedRepresentation.getDescription());\r
+            }\r
+            getEntity().setTitleCache(null);\r
+        }\r
+    }\r
 \r
        public abstract TermVocabulary getVocabulary();\r
-               \r
+\r
 }\r