3 * Copyright (C) 2016 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.ui
.element
;
12 import org
.eclipse
.jface
.window
.Window
;
13 import org
.eclipse
.jface
.wizard
.WizardDialog
;
14 import org
.eclipse
.swt
.SWT
;
15 import org
.eclipse
.swt
.events
.SelectionAdapter
;
16 import org
.eclipse
.swt
.events
.SelectionEvent
;
18 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
19 import eu
.etaxonomy
.cdm
.model
.common
.TermBase
;
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
);
48 * @param cdmFormFactory
49 * @param parentElement
54 public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory
, ICdmFormElement parentElement
,
55 TermBase term
, int textHeight
, int style
, boolean fill
) {
56 super(cdmFormFactory
, parentElement
, term
, textHeight
, style
, fill
);
60 private class OpenTranslationWizard
extends SelectionAdapter
{
62 public OpenTranslationWizard() {
70 * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
71 * .swt.events.SelectionEvent)
74 public void widgetSelected(SelectionEvent e
) {
75 TermBase term
= getTerm();
78 MessagingUtils
.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
81 TermTranslationWizard wizard
= new TermTranslationWizard(term
);
82 WizardDialog dialog
= new WizardDialog(getLayoutComposite()
85 if (dialog
.open() == Window
.OK
) {
86 combo_language
.setTerms(getLanguages());
90 firePropertyChangeEvent( e
);
95 protected void createRepresentationEditingElements(ICdmFormElement formElement
, int style
) {
96 super.createRepresentationEditingElements(formElement
, style
);
97 button
= formFactory
.createButton(getLayoutComposite(),
98 "Open In Translation Editor", SWT
.PUSH
);
100 button
.setLayoutData(LayoutConstants
.RIGHT());
101 button
.addSelectionListener(new OpenTranslationWizard());
107 TermBase term
, boolean update
) {
108 super.setTerm(term
, update
);
109 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
110 button
.setEnabled(false);
120 protected void updateControls() {
121 super.updateControls();
122 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
123 button
.setEnabled(true);
124 combo_language
.setTerms(getLanguages());
125 combo_language
.setSelection(selectedRepresentation
.getLanguage());