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
.cdm
.model
.common
.TermType
;
21 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
22 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
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
);
50 * @param cdmFormFactory
51 * @param parentElement
56 public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory
, ICdmFormElement parentElement
,
57 TermBase term
, int textHeight
, int style
, boolean fill
) {
58 super(cdmFormFactory
, parentElement
, term
, textHeight
, style
, fill
);
62 private class OpenTranslationWizard
extends SelectionAdapter
{
64 public OpenTranslationWizard() {
72 * org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse
73 * .swt.events.SelectionEvent)
76 public void widgetSelected(SelectionEvent e
) {
77 TermBase term
= getTerm();
80 MessagingUtils
.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated");
83 TermTranslationWizard wizard
= new TermTranslationWizard(term
);
84 WizardDialog dialog
= new WizardDialog(getLayoutComposite()
87 if (dialog
.open() == Window
.OK
) {
88 combo_language
.setTerms(getLanguages());
92 firePropertyChangeEvent( e
);
97 protected void createRepresentationEditingElements(ICdmFormElement formElement
, int style
) {
98 super.createRepresentationEditingElements(formElement
, style
);
99 button
= formFactory
.createButton(getLayoutComposite(),
100 "Open In Translation Editor", SWT
.PUSH
);
102 button
.setLayoutData(LayoutConstants
.RIGHT());
103 button
.addSelectionListener(new OpenTranslationWizard());
109 TermBase term
, boolean update
) {
110 super.setTerm(term
, update
);
111 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
112 button
.setEnabled(false);
122 protected void updateControls() {
123 super.updateControls();
124 if (PreferencesUtil
.isMultilanguageTextEditingCapability()) {
125 button
.setEnabled(true);
126 combo_language
.setTerms(getLanguages());
127 combo_language
.setSelection(selectedRepresentation
.getLanguage());