import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.TimePeriod;
return element;
}
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param Representation
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement}
+ * object.
+ */
+ public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style, boolean isTranslationWizard) {
+ RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style, isTranslationWizard);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ *
+ * @param term
+ * a {@link eu.etaxonomy.cdm.model.common.Representation} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement}
+ * object.
+ */
+ public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style, boolean isTranslationWizard) {
+ RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style, isTranslationWizard);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
public KeyStatementElement createKeyStatementElement(ICdmFormElement parentElement, String labelString,
KeyStatement keyStatement, int textHeight, int style) {
KeyStatementElement element = new KeyStatementElement(this, parentElement, labelString, keyStatement,
addAndAdaptSection(parentElement, section);
return section;
}
-
+
public DerivedUnitFacadeIdentifierSection createDerivedUnitFacadeIdentifierSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
DerivedUnitFacadeIdentifierSection section = new DerivedUnitFacadeIdentifierSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
Map<Language, LanguageString> multilanguageText = getMultilanguageText();
if (multilanguageText == null){
- MessagingUtils.warningDialog("No text to transalte", getClass(), "The text is empty and therefore can not be translated");
+ MessagingUtils.warningDialog("No text to translate", getClass(), "The text is empty and therefore can not be translated");
}
TranslationWizard wizard = new TranslationWizard(multilanguageText);
// $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.Language;\r
-import eu.etaxonomy.cdm.model.common.Representation;\r
+import org.eclipse.swt.widgets.Button;\r
+\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
-import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;\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 TextWithLabelElement text_label;\r
+ //protected TextWithLabelElement text_description;\r
protected UriWithLabelElement uri_uri;\r
- protected TextWithLabelElement text_abbreviatedLabel;\r
- \r
+ //protected TextWithLabelElement text_abbreviatedLabel;\r
+ //protected TermComboElement<Language> combo_language;\r
+ //private TermBase term;\r
+ //protected Representation representation;\r
+ protected RepresentationElement element_Representation;\r
+ private Button button;\r
+\r
+\r
/**\r
* @param formFactory\r
* @param formElement\r
ICdmFormElement formElement) {\r
super(formFactory, formElement);\r
}\r
- \r
+\r
@Override\r
protected void createControls(ICdmFormElement formElement,\r
T entity, int style) {\r
- \r
- Representation representation = getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage());\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
+\r
+ element_Representation = formFactory.createRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, false);\r
+\r
uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
- \r
+\r
}\r
\r
- @Override\r
+\r
+\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
+\r
\r
public abstract TermVocabulary getVocabulary();\r
- \r
+\r
+\r
+\r
}\r
*/\r
@Override\r
public void handleEvent(Object eventSource) {\r
- handleRepresentation(eventSource);\r
+ //handleRepresentation(eventSource);\r
if(eventSource==textIdInVocabulary){\r
if (StringUtils.isBlank(textIdInVocabulary.getText())){\r
getEntity().setIdInVocabulary(null);\r
*/\r
package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
\r
-import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.common.TermType;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
\r
if (eventSource == textIdInVocabulary){\r
getEntity().setIdInVocabulary(textIdInVocabulary.getText());\r
- } else if (eventSource == text_label) {\r
- getEntity().setLabel(text_label.getText());\r
+ } else if (eventSource == element_Representation) {\r
+ getEntity().setLabel(element_Representation.getSelectedRepresentation().getLabel(), element_Representation.getSelectedRepresentation().getLanguage());\r
+ getEntity().getRepresentation(element_Representation.getSelectedRepresentation().getLanguage()).setAbbreviatedLabel(element_Representation.getSelectedRepresentation().getAbbreviatedLabel());\r
+ getEntity().getRepresentation(element_Representation.getSelectedRepresentation().getLanguage()).setText(element_Representation.getSelectedRepresentation().getDescription());\r
getEntity().setTitleCache(null);\r
- } else if (eventSource == text_description) {\r
- getEntity().getRepresentation(Language.getDefaultLanguage()).setText(text_description.getText());\r
} else if (eventSource == uri_uri) {\r
getEntity().setUri(uri_uri.parseText());\r
- } else if (eventSource == text_abbreviatedLabel) {\r
- getEntity().getRepresentation(Language.getDefaultLanguage()).setAbbreviatedLabel(text_abbreviatedLabel.getText());\r
} else if (eventSource == timePeriod_validPeriod) {\r
getEntity().setValidPeriod(timePeriod_validPeriod.getTimePeriod());\r
} else if (eventSource == combo_namedAreaType) {\r
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import org.eclipse.jface.wizard.Wizard;
+
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.taxeditor.ui.translation.TermTranslationWizardPage;
+
+/**
+ * @author k.luther
+ * @date 22.06.2016
+ *
+ */
+public class TermTranslationWizard extends Wizard {
+ private TermTranslationWizardPage page;
+
+ private final TermBase term;
+
+ /**
+ * <p>Constructor for TranslationWizard.</p>
+ *
+ * @param multilanguageText a {@link java.util.Map} object.
+ */
+ public TermTranslationWizard(TermBase term) {
+ setWindowTitle("Translation Editor");
+ this.term = term;
+ setNeedsProgressMonitor(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#addPages()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addPages() {
+ page = new TermTranslationWizardPage(term);
+ addPage(page);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public boolean performFinish() {
+ Representation representation = page.getTargetRepresentation();
+
+ if (!representation.getText().equals("") || !representation.getLabel().equals("") || !representation.getAbbreviatedLabel().equals("")) {
+ term.addRepresentation(representation);
+ }
+
+ return true;
+ }
+}
@Override\r
public void handleEvent(Object eventSource) {\r
\r
- handleRepresentation(eventSource);\r
+ //handleRepresentation(eventSource);\r
\r
if (eventSource == uri_uri) {\r
getEntity().setUri(uri_uri.parseText());\r
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2016 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.translation;
+
+/**
+ * @author k.luther
+ * @date 22.06.2016
+ *
+ */
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement;
+import eu.etaxonomy.taxeditor.ui.element.RepresentationElement;
+import eu.etaxonomy.taxeditor.ui.element.RootElement;
+
+public class TermTranslationWizardPage extends WizardPage implements PropertyChangeListener{
+
+
+ private static int TEXT_HEIGHT = 400;
+
+ private final TermBase term;
+
+ MultilanguageTextElement source;
+
+ private final CdmFormFactory formFactory;
+
+ private RepresentationElement text_source;
+
+ private RepresentationElement text_target;
+
+ /**
+ * <p>Constructor for TranslationWizardPage.</p>
+ *
+ * @param multilanguageText a {@link java.util.Map} object.
+ */
+ public TermTranslationWizardPage(TermBase term) {
+ super("TranslationWizardPage");
+ //Assert.isNotNull(multilanguageText, "Multilanguage text may not be null");
+ setTitle("Add or edit translations.");
+ this.term = term;
+ formFactory = new CdmFormFactory(Display.getCurrent());
+ setPageComplete(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void createControl(Composite parent) {
+ Composite control = formFactory.createComposite(parent);
+// control.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GREEN));
+ control.setLayout(LayoutConstants.LAYOUT(2, false));
+
+ Composite leftContainer = formFactory.createComposite(control);
+ leftContainer.setLayoutData(LayoutConstants.FILL(1, 4));
+ leftContainer.setLayout(LayoutConstants.LAYOUT(2, false));
+// leftContainer.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
+ RootElement leftRoot = new RootElement(formFactory, leftContainer);
+
+ Composite rightContainer = formFactory.createComposite(control);
+ rightContainer.setLayoutData(LayoutConstants.FILL(1, 4));
+ rightContainer.setLayout(LayoutConstants.LAYOUT(2, false));
+// rightContainer.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+ RootElement rightRoot = new RootElement(formFactory, rightContainer);
+
+ createLeftControls(leftRoot);
+ createRightControls(rightRoot);
+
+
+ // initialize with default language
+ setSource(CdmStore.getDefaultLanguage());
+
+
+ setControl(control);
+ setPageComplete(true);
+ }
+
+ /**
+ * @param defaultLanguage
+ */
+ private void setSource(Language language) {
+
+ Representation preferredRepresentation =term.getPreferredRepresentation(language);
+
+ if(preferredRepresentation != null){
+ text_source.setSelectedRepresentation(preferredRepresentation);
+ }
+ }
+
+
+ /**
+ *
+ * @param element
+ */
+ private void createLeftControls(ICdmFormElement element){
+ Representation preferredRepresentation= term.getPreferredRepresentation(CdmStore.getDefaultLanguage());
+
+ text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL, true);
+
+
+ }
+
+ /**
+ *
+ * @param element
+ */
+ private void createRightControls(ICdmFormElement element){
+ text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL, true);
+ }
+
+
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.DialogPage#dispose()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void dispose() {
+ super.dispose();
+ }
+
+ /**
+ * @return
+ *
+ */
+ public Representation getTargetRepresentation() {
+ return text_target.getSelectedRepresentation();
+ }
+
+ /* (non-Javadoc)
+ * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getSource() == text_target){
+ if (!StringUtils.isBlank(text_target.getSelectedRepresentation().getAbbreviatedLabel()) ||
+ !StringUtils.isBlank(text_target.getSelectedRepresentation().getLabel()) || !StringUtils.isBlank(text_target.getSelectedRepresentation().getText())){
+ setPageComplete(true);
+ }
+ }
+
+ }
+
+
+
+
+}