From 3fa460e5bce20f908f298d92a5135699a276c904 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Wed, 29 Jun 2016 13:14:59 +0200 Subject: [PATCH] #4018 let the right side of the translation wizard empty, fix the save problem for adding a neww representation for terms --- .../taxeditor/ui/element/CdmFormFactory.java | 16 +++++++------- .../ui/element/RepresentationElement.java | 21 +++++++++++-------- .../TranslatableRepresentationElement.java | 14 +++++++------ .../AbstractTermBaseDetailElement.java | 2 +- .../TermTranslationWizardPage.java | 11 +++++----- .../taxeditor/view/detail/CdmSectionPart.java | 6 ++++++ 6 files changed, 41 insertions(+), 29 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java index 43d12367b..8127fe192 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java @@ -611,8 +611,8 @@ public class CdmFormFactory extends FormToolkit { * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} * object. */ - public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style) { - RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style); + public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style, boolean fillDetails) { + RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style, fillDetails); adapt(element); parentElement.addElement(element); return element; @@ -637,8 +637,8 @@ public class CdmFormFactory extends FormToolkit { * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} * object. */ - public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style) { - TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, representation, term, textHeight, style); + public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style, boolean fillDetails) { + TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, representation, term, textHeight, style, fillDetails); adapt(element); parentElement.addElement(element); return element; @@ -663,8 +663,8 @@ public class CdmFormFactory extends FormToolkit { * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} * object. */ - public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style) { - RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style); + public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style, boolean fillDetails) { + RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style, fillDetails); adapt(element); parentElement.addElement(element); return element; @@ -689,8 +689,8 @@ public class CdmFormFactory extends FormToolkit { * {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} * object. */ - public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style) { - TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, term, textHeight, style); + public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style, boolean fillDetails) { + TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, term, textHeight, style, fillDetails); adapt(element); parentElement.addElement(element); return element; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java index 76b5d8095..b17f8e903 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java @@ -72,7 +72,7 @@ SelectionListener{ */ public RepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement, TermBase term, - Integer textHeight, int style) { + Integer textHeight, int style, boolean fill) { super(formFactory, formElement); formFactory.addPropertyChangeListener(this); @@ -85,7 +85,7 @@ SelectionListener{ if (PreferencesUtil.isMultilanguageTextEditingCapability()) { createRepresentationEditingElements(formElement, style); } - setTerm(term); + setTerm(term, fill); } @@ -111,7 +111,7 @@ SelectionListener{ */ public RepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement, Representation representation, TermBase term, - Integer textHeight, int style) { + Integer textHeight, int style, boolean fill) { super(formFactory, formElement); formFactory.addPropertyChangeListener(this); @@ -124,7 +124,7 @@ SelectionListener{ if (PreferencesUtil.isMultilanguageTextEditingCapability()) { createRepresentationEditingElements(formElement, style); } - setTerm(term); + setTerm(term, fill); setSelectedRepresentation(representation); @@ -134,7 +134,7 @@ SelectionListener{ ICdmFormElement formElement, int style) { combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement, - "", null, false, style); + "", null, true, style); combo_language.addSelectionListener(this); @@ -201,13 +201,15 @@ SelectionListener{ * the multilanguageText to set */ public void setTerm( - TermBase term) { + TermBase term, boolean update) { this.term = term; if (selectedRepresentation != null) { combo_language.setTerms(getLanguages()); } - updateControls(); + if (update){ + updateControls(); + } } /** @@ -215,8 +217,7 @@ SelectionListener{ */ protected void updateControls() { Representation preferredRepresentation = term - .getPreferredRepresentation(Arrays.asList(new Language[] { CdmStore - .getDefaultLanguage() })); + .getPreferredRepresentation(PreferencesUtil.getGlobalLanguage() ); element_Label.setText(preferredRepresentation.getLabel()); element_abbrevLabel.setText(preferredRepresentation.getAbbreviatedLabel()); @@ -268,6 +269,8 @@ SelectionListener{ .getText(); selectedRepresentation.setText(text); firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event)); + } else if (eventSource == button){ + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event)); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TranslatableRepresentationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TranslatableRepresentationElement.java index 6a2abe648..7b78f75f9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TranslatableRepresentationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TranslatableRepresentationElement.java @@ -38,8 +38,8 @@ public class TranslatableRepresentationElement extends RepresentationElement { * @param isTranslationWizard */ public TranslatableRepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement, - Representation representation, TermBase term, Integer textHeight, int style) { - super(formFactory, formElement, representation, term, textHeight, style); + Representation representation, TermBase term, Integer textHeight, int style, boolean fill) { + super(formFactory, formElement, representation, term, textHeight, style, fill); } @@ -52,8 +52,8 @@ public class TranslatableRepresentationElement extends RepresentationElement { * @param style */ public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement, - TermBase term, int textHeight, int style) { - super(cdmFormFactory, parentElement, term, textHeight, style); + TermBase term, int textHeight, int style, boolean fill) { + super(cdmFormFactory, parentElement, term, textHeight, style, fill); } @@ -86,6 +86,8 @@ public class TranslatableRepresentationElement extends RepresentationElement { combo_language.setTerms(getLanguages()); updateControls(); } + + firePropertyChangeEvent( e); } } @@ -102,8 +104,8 @@ public class TranslatableRepresentationElement extends RepresentationElement { @Override public void setTerm( - TermBase term) { - super.setTerm(term); + TermBase term, boolean update) { + super.setTerm(term, update); if (PreferencesUtil.isMultilanguageTextEditingCapability()) { button.setEnabled(false); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java index af80ad478..eaf1d4f29 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java @@ -52,7 +52,7 @@ public abstract class AbstractTermBaseDetailElement extends protected void createControls(ICdmFormElement formElement, T entity, int style) { - element_Representation = formFactory.createTranslatableRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style); + element_Representation = formFactory.createTranslatableRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, true); uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TermTranslationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TermTranslationWizardPage.java index f2cd9e36b..571e4c634 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TermTranslationWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TermTranslationWizardPage.java @@ -27,6 +27,7 @@ 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.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; @@ -38,7 +39,7 @@ import eu.etaxonomy.taxeditor.ui.element.RootElement; public class TermTranslationWizardPage extends WizardPage implements PropertyChangeListener{ - private static int TEXT_HEIGHT = 400; + private static int TEXT_HEIGHT = 200; private final TermBase term; @@ -116,10 +117,10 @@ public class TermTranslationWizardPage extends WizardPage implements PropertyCha * @param element */ private void createLeftControls(ICdmFormElement element){ - Representation preferredRepresentation= term.getPreferredRepresentation(CdmStore.getDefaultLanguage()); + Representation preferredRepresentation= term.getPreferredRepresentation(PreferencesUtil.getGlobalLanguage()); - text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL); - text_source.setTerm(term); + text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL, true); + text_source.setTerm(term, true); } @@ -129,7 +130,7 @@ public class TermTranslationWizardPage extends WizardPage implements PropertyCha * @param element */ private void createRightControls(ICdmFormElement element){ - text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL); + text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL, false); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java index d6554715c..bbdec86ec 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java @@ -10,6 +10,9 @@ package eu.etaxonomy.taxeditor.view.detail; +import java.awt.Event; +import java.util.EventObject; + import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.widgets.Control; @@ -121,6 +124,9 @@ public class CdmSectionPart extends SectionPart implements if (event != null) { Object eventSource = event.getSource(); + if (eventSource instanceof EventObject){ + eventSource = ((EventObject)eventSource).getSource(); + } Control[] children = formSection.getLayoutComposite().getChildren(); boolean containsElement = false; for (Control control : children) { -- 2.34.1