2 * Copyright (C) 2016 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.ui
.element
;
11 import org
.eclipse
.jface
.window
.Window
;
12 import org
.eclipse
.jface
.wizard
.WizardDialog
;
13 import org
.eclipse
.swt
.SWT
;
14 import org
.eclipse
.swt
.events
.SelectionAdapter
;
15 import org
.eclipse
.swt
.events
.SelectionEvent
;
17 import eu
.etaxonomy
.cdm
.model
.term
.Representation
;
18 import eu
.etaxonomy
.cdm
.model
.term
.TermBase
;
19 import eu
.etaxonomy
.cdm
.persistence
.dto
.TermDto
;
20 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
21 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
22 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
23 import eu
.etaxonomy
.taxeditor
.ui
.section
.vocabulary
.TermTranslationWizard
;
30 public class TranslatableRepresentationElement
extends RepresentationElement
{
35 * @param representation
39 * @param isTranslationWizard
41 public TranslatableRepresentationElement(CdmFormFactory formFactory
, ICdmFormElement formElement
,
42 Representation representation
, TermBase term
, Integer textHeight
, int style
, boolean fill
) {
43 super(formFactory
, formElement
, representation
, term
, textHeight
, style
, fill
);
48 public TranslatableRepresentationElement(CdmFormFactory formFactory
, ICdmFormElement formElement
,
49 Representation representation
, TermDto term
, Integer textHeight
, int style
, boolean fill
) {
50 super(formFactory
, formElement
, representation
, term
, textHeight
, style
, fill
);
57 * @param cdmFormFactory
58 * @param parentElement
63 public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory
, ICdmFormElement parentElement
,
64 TermBase term
, int textHeight
, int style
, boolean fill
) {
65 super(cdmFormFactory
, parentElement
, term
, textHeight
, style
, fill
);
69 private class OpenTranslationWizard
extends SelectionAdapter
{
71 public OpenTranslationWizard() {
79 * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
80 * .swt.events.SelectionEvent)
83 public void widgetSelected(SelectionEvent e
) {
84 TermBase term
= getTerm();
87 MessagingUtils
.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
90 TermTranslationWizard wizard
= new TermTranslationWizard(term
);
91 WizardDialog dialog
= new WizardDialog(getLayoutComposite()
94 if (dialog
.open() == Window
.OK
) {
95 combo_language
.setTerms(getLanguages());
99 firePropertyChangeEvent( e
);
104 protected void createRepresentationEditingElements(ICdmFormElement formElement
, int style
) {
105 super.createRepresentationEditingElements(formElement
, style
);
106 button
= formFactory
.createButton(getLayoutComposite(),
107 "Open In Translation Editor", SWT
.PUSH
);
109 button
.setLayoutData(LayoutConstants
.RIGHT());
110 button
.addSelectionListener(new OpenTranslationWizard());
116 TermBase term
, boolean update
) {
117 super.setTerm(term
, update
);
118 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
119 button
.setEnabled(false);
129 protected void updateControls() {
130 super.updateControls();
131 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
132 button
.setEnabled(true);
133 combo_language
.setTerms(getLanguages());
134 if (selectedRepresentation
!= null){
135 combo_language
.setSelection(selectedRepresentation
.getLanguage());
137 combo_language
.setSelection(CdmStore
.getDefaultLanguage());