-// $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
*/\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