* {@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);
+ public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style) {
+ RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style);
+ adapt(element);
+ parentElement.addElement(element);
+ 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 TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style) {
+ TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, representation, term, textHeight, style);
+ 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) {
+ RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style);
adapt(element);
parentElement.addElement(element);
return element;
* {@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);
+ public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style) {
+ TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, term, textHeight, style);
adapt(element);
parentElement.addElement(element);
return element;
import java.util.List;
import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import eu.etaxonomy.cdm.model.common.TermBase;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.taxeditor.model.DefaultTermComparator;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
-import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermTranslationWizard;
public class RepresentationElement extends AbstractCdmFormElement implements
SelectionListener{
- private class OpenTranslationWizard extends SelectionAdapter {
- public OpenTranslationWizard() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
- * .swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- TermBase term = getTerm();
-
- if (term == null){
- MessagingUtils.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
- }
-
- TermTranslationWizard wizard = new TermTranslationWizard(term);
- WizardDialog dialog = new WizardDialog(getLayoutComposite()
- .getShell(), wizard);
-
- if (dialog.open() == Window.OK) {
- combo_language.setTerms(getLanguages());
- updateControls();
- }
-
- }
- }
-
- private TermComboElement<Language> combo_language;
+ protected TermComboElement<Language> combo_language;
protected TextWithLabelElement element_Label;
protected TextWithLabelElement element_abbrevLabel;
protected TextWithLabelElement element_text;
- private Button button;
+ protected Button button;
- private Representation selectedRepresentation;
- private TermBase term;
+ protected Representation selectedRepresentation;
+ protected TermBase term;
- private final boolean isTranslationWizard;
+ // protected final boolean isTranslationWizard;
/**
*/
public RepresentationElement(CdmFormFactory formFactory,
ICdmFormElement formElement, TermBase term,
- Integer textHeight, int style, boolean isTranslationWizard) {
+ Integer textHeight, int style) {
super(formFactory, formElement);
- this.isTranslationWizard = isTranslationWizard;
+
formFactory.addPropertyChangeListener(this);
element_Label = this.formFactory.createTextWithLabelElement(formElement, "Label", null, style);
*/
public RepresentationElement(CdmFormFactory formFactory,
ICdmFormElement formElement, Representation representation, TermBase term,
- Integer textHeight, int style, boolean isTranslationWizard) {
+ Integer textHeight, int style) {
super(formFactory, formElement);
- this.isTranslationWizard = isTranslationWizard;
+
formFactory.addPropertyChangeListener(this);
element_Label = this.formFactory.createTextWithLabelElement(formElement, "Label", null, style);
}
- private void createRepresentationEditingElements(
+ protected void createRepresentationEditingElements(
ICdmFormElement formElement, int style) {
combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement,
addControl(formFactory.createLabel(getLayoutComposite(), ""));
- if (!isTranslationWizard){
- button = formFactory.createButton(getLayoutComposite(),
- "Open In Translation Editor", SWT.PUSH);
- addControl(button);
- button.setLayoutData(LayoutConstants.RIGHT());
- button.addSelectionListener(new OpenTranslationWizard());
- }
+
}
public List<Language> getLanguages() {
if (selectedRepresentation != null) {
combo_language.setTerms(getLanguages());
- if (!isTranslationWizard){
- button.setEnabled(false);
- }
-
}
updateControls();
}
/**
*
*/
- private void updateControls() {
+ protected void updateControls() {
Representation preferredRepresentation = term
.getPreferredRepresentation(Arrays.asList(new Language[] { CdmStore
.getDefaultLanguage() }));
element_text.setText(preferredRepresentation.getDescription());
selectedRepresentation = preferredRepresentation;
if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
-
combo_language.setSelection(preferredRepresentation == null?CdmStore.getDefaultLanguage():preferredRepresentation.getLanguage());
- if (!isTranslationWizard){
- button.setEnabled(true);
- combo_language.setTerms(getLanguages());
- combo_language.setSelection(preferredRepresentation.getLanguage());
- }
}
}
--- /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.element;
+
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermTranslationWizard;
+
+/**
+ * @author k.luther
+ * @date 23.06.2016
+ *
+ */
+public class TranslatableRepresentationElement extends RepresentationElement {
+
+ /**
+ * @param formFactory
+ * @param formElement
+ * @param representation
+ * @param term
+ * @param textHeight
+ * @param style
+ * @param isTranslationWizard
+ */
+ public TranslatableRepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement,
+ Representation representation, TermBase term, Integer textHeight, int style) {
+ super(formFactory, formElement, representation, term, textHeight, style);
+
+ }
+
+
+ /**
+ * @param cdmFormFactory
+ * @param parentElement
+ * @param term
+ * @param textHeight
+ * @param style
+ */
+ public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
+ TermBase term, int textHeight, int style) {
+ super(cdmFormFactory, parentElement, term, textHeight, style);
+ }
+
+
+ private class OpenTranslationWizard extends SelectionAdapter {
+
+ public OpenTranslationWizard() {
+ super();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
+ * .swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ TermBase term = getTerm();
+
+ if (term == null){
+ MessagingUtils.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
+ }
+
+ TermTranslationWizard wizard = new TermTranslationWizard(term);
+ WizardDialog dialog = new WizardDialog(getLayoutComposite()
+ .getShell(), wizard);
+
+ if (dialog.open() == Window.OK) {
+ combo_language.setTerms(getLanguages());
+ updateControls();
+ }
+
+ }
+ }
+ @Override
+ protected void createRepresentationEditingElements(ICdmFormElement formElement, int style) {
+ super.createRepresentationEditingElements(formElement, style);
+ button = formFactory.createButton(getLayoutComposite(),
+ "Open In Translation Editor", SWT.PUSH);
+ addControl(button);
+ button.setLayoutData(LayoutConstants.RIGHT());
+ button.addSelectionListener(new OpenTranslationWizard());
+
+ }
+
+ @Override
+ public void setTerm(
+ TermBase term) {
+ super.setTerm(term);
+ button.setEnabled(false);
+ updateControls();
+ }
+
+
+ /**
+ *
+ */
+ @Override
+ protected void updateControls() {
+ super.updateControls();
+ button.setEnabled(true);
+ combo_language.setTerms(getLanguages());
+ combo_language.setSelection(selectedRepresentation.getLanguage());
+
+ }
+
+
+}
protected void createControls(ICdmFormElement formElement,\r
T entity, int style) {\r
\r
- element_Representation = formFactory.createRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, false);\r
+ element_Representation = formFactory.createTranslatableRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style);\r
\r
uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
\r
private void createLeftControls(ICdmFormElement element){
Representation preferredRepresentation= term.getPreferredRepresentation(CdmStore.getDefaultLanguage());
- text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL, true);
+ text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL);
+ text_source.setTerm(term);
}
* @param element
*/
private void createRightControls(ICdmFormElement element){
- text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL, true);
+ text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL);
}