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
.common
.Representation
;
18 import eu
.etaxonomy
.cdm
.model
.common
.TermBase
;
19 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
20 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
21 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
22 import eu
.etaxonomy
.taxeditor
.ui
.section
.vocabulary
.TermTranslationWizard
;
29 public class TranslatableRepresentationElement
extends RepresentationElement
{
34 * @param representation
38 * @param isTranslationWizard
40 public TranslatableRepresentationElement(CdmFormFactory formFactory
, ICdmFormElement formElement
,
41 Representation representation
, TermBase term
, Integer textHeight
, int style
, boolean fill
) {
42 super(formFactory
, formElement
, representation
, term
, textHeight
, style
, fill
);
49 * @param cdmFormFactory
50 * @param parentElement
55 public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory
, ICdmFormElement parentElement
,
56 TermBase term
, int textHeight
, int style
, boolean fill
) {
57 super(cdmFormFactory
, parentElement
, term
, textHeight
, style
, fill
);
61 private class OpenTranslationWizard
extends SelectionAdapter
{
63 public OpenTranslationWizard() {
71 * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
72 * .swt.events.SelectionEvent)
75 public void widgetSelected(SelectionEvent e
) {
76 TermBase term
= getTerm();
79 MessagingUtils
.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
82 TermTranslationWizard wizard
= new TermTranslationWizard(term
);
83 WizardDialog dialog
= new WizardDialog(getLayoutComposite()
86 if (dialog
.open() == Window
.OK
) {
87 combo_language
.setTerms(getLanguages());
91 firePropertyChangeEvent( e
);
96 protected void createRepresentationEditingElements(ICdmFormElement formElement
, int style
) {
97 super.createRepresentationEditingElements(formElement
, style
);
98 button
= formFactory
.createButton(getLayoutComposite(),
99 "Open In Translation Editor", SWT
.PUSH
);
101 button
.setLayoutData(LayoutConstants
.RIGHT());
102 button
.addSelectionListener(new OpenTranslationWizard());
108 TermBase term
, boolean update
) {
109 super.setTerm(term
, update
);
110 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
111 button
.setEnabled(false);
121 protected void updateControls() {
122 super.updateControls();
123 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
124 button
.setEnabled(true);
125 combo_language
.setTerms(getLanguages());
126 combo_language
.setSelection(selectedRepresentation
.getLanguage());