Revision 01b09f61
Added by Katja Luther almost 8 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java | ||
---|---|---|
611 | 611 |
* {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} |
612 | 612 |
* object. |
613 | 613 |
*/ |
614 |
public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style, boolean isTranslationWizard) { |
|
615 |
RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style, isTranslationWizard); |
|
614 |
public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style) { |
|
615 |
RepresentationElement element = new RepresentationElement(this, parentElement, representation, term, textHeight, style); |
|
616 |
adapt(element); |
|
617 |
parentElement.addElement(element); |
|
618 |
return element; |
|
619 |
} |
|
620 |
|
|
621 |
/** |
|
622 |
* <p> |
|
623 |
* createMultiLanguageTextElement |
|
624 |
* </p> |
|
625 |
* |
|
626 |
* @param parentElement |
|
627 |
* a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} |
|
628 |
* object. |
|
629 |
* |
|
630 |
* @param Representation |
|
631 |
* a {@link eu.etaxonomy.cdm.model.common.Representation} object. |
|
632 |
* @param textHeight |
|
633 |
* a int. |
|
634 |
* @param style |
|
635 |
* a int. |
|
636 |
* @return a |
|
637 |
* {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} |
|
638 |
* object. |
|
639 |
*/ |
|
640 |
public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, Representation representation, TermBase term,int textHeight, int style) { |
|
641 |
TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, representation, term, textHeight, style); |
|
642 |
adapt(element); |
|
643 |
parentElement.addElement(element); |
|
644 |
return element; |
|
645 |
} |
|
646 |
|
|
647 |
/** |
|
648 |
* <p> |
|
649 |
* createMultiLanguageTextElement |
|
650 |
* </p> |
|
651 |
* |
|
652 |
* @param parentElement |
|
653 |
* a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} |
|
654 |
* object. |
|
655 |
* |
|
656 |
* @param term |
|
657 |
* a {@link eu.etaxonomy.cdm.model.common.Representation} object. |
|
658 |
* @param textHeight |
|
659 |
* a int. |
|
660 |
* @param style |
|
661 |
* a int. |
|
662 |
* @return a |
|
663 |
* {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} |
|
664 |
* object. |
|
665 |
*/ |
|
666 |
public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style) { |
|
667 |
RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style); |
|
616 | 668 |
adapt(element); |
617 | 669 |
parentElement.addElement(element); |
618 | 670 |
return element; |
... | ... | |
637 | 689 |
* {@link eu.etaxonomy.taxeditor.ui.element.RepresentationElement} |
638 | 690 |
* object. |
639 | 691 |
*/ |
640 |
public RepresentationElement createRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style, boolean isTranslationWizard) {
|
|
641 |
RepresentationElement element = new RepresentationElement(this, parentElement, term, textHeight, style, isTranslationWizard);
|
|
692 |
public TranslatableRepresentationElement createTranslatableRepresentationElement(ICdmFormElement parentElement, TermBase term, int textHeight, int style) {
|
|
693 |
TranslatableRepresentationElement element = new TranslatableRepresentationElement(this, parentElement, term, textHeight, style);
|
|
642 | 694 |
adapt(element); |
643 | 695 |
parentElement.addElement(element); |
644 | 696 |
return element; |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RepresentationElement.java | ||
---|---|---|
21 | 21 |
import java.util.List; |
22 | 22 |
|
23 | 23 |
import org.eclipse.jface.util.PropertyChangeEvent; |
24 |
import org.eclipse.jface.window.Window; |
|
25 |
import org.eclipse.jface.wizard.WizardDialog; |
|
26 |
import org.eclipse.swt.SWT; |
|
27 |
import org.eclipse.swt.events.SelectionAdapter; |
|
28 | 24 |
import org.eclipse.swt.events.SelectionEvent; |
29 | 25 |
import org.eclipse.swt.events.SelectionListener; |
30 | 26 |
import org.eclipse.swt.widgets.Button; |
... | ... | |
34 | 30 |
import eu.etaxonomy.cdm.model.common.TermBase; |
35 | 31 |
import eu.etaxonomy.cdm.model.common.TermType; |
36 | 32 |
import eu.etaxonomy.taxeditor.model.DefaultTermComparator; |
37 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
|
38 | 33 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
39 | 34 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
40 | 35 |
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; |
41 |
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermTranslationWizard; |
|
42 | 36 |
|
43 | 37 |
public class RepresentationElement extends AbstractCdmFormElement implements |
44 | 38 |
SelectionListener{ |
45 |
private class OpenTranslationWizard extends SelectionAdapter { |
|
46 | 39 |
|
47 |
public OpenTranslationWizard() { |
|
48 |
super(); |
|
49 |
} |
|
50 |
|
|
51 |
/* |
|
52 |
* (non-Javadoc) |
|
53 |
* |
|
54 |
* @see |
|
55 |
* org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse |
|
56 |
* .swt.events.SelectionEvent) |
|
57 |
*/ |
|
58 |
@Override |
|
59 |
public void widgetSelected(SelectionEvent e) { |
|
60 |
TermBase term = getTerm(); |
|
61 |
|
|
62 |
if (term == null){ |
|
63 |
MessagingUtils.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated"); |
|
64 |
} |
|
65 |
|
|
66 |
TermTranslationWizard wizard = new TermTranslationWizard(term); |
|
67 |
WizardDialog dialog = new WizardDialog(getLayoutComposite() |
|
68 |
.getShell(), wizard); |
|
69 |
|
|
70 |
if (dialog.open() == Window.OK) { |
|
71 |
combo_language.setTerms(getLanguages()); |
|
72 |
updateControls(); |
|
73 |
} |
|
74 |
|
|
75 |
} |
|
76 |
} |
|
77 |
|
|
78 |
private TermComboElement<Language> combo_language; |
|
40 |
protected TermComboElement<Language> combo_language; |
|
79 | 41 |
|
80 | 42 |
protected TextWithLabelElement element_Label; |
81 | 43 |
protected TextWithLabelElement element_abbrevLabel; |
82 | 44 |
protected TextWithLabelElement element_text; |
83 | 45 |
|
84 |
private Button button;
|
|
46 |
protected Button button;
|
|
85 | 47 |
|
86 |
private Representation selectedRepresentation;
|
|
87 |
private TermBase term;
|
|
48 |
protected Representation selectedRepresentation;
|
|
49 |
protected TermBase term;
|
|
88 | 50 |
|
89 |
private final boolean isTranslationWizard;
|
|
51 |
// protected final boolean isTranslationWizard;
|
|
90 | 52 |
|
91 | 53 |
|
92 | 54 |
/** |
... | ... | |
110 | 72 |
*/ |
111 | 73 |
public RepresentationElement(CdmFormFactory formFactory, |
112 | 74 |
ICdmFormElement formElement, TermBase term, |
113 |
Integer textHeight, int style, boolean isTranslationWizard) {
|
|
75 |
Integer textHeight, int style) { |
|
114 | 76 |
super(formFactory, formElement); |
115 |
this.isTranslationWizard = isTranslationWizard; |
|
77 |
|
|
116 | 78 |
formFactory.addPropertyChangeListener(this); |
117 | 79 |
|
118 | 80 |
element_Label = this.formFactory.createTextWithLabelElement(formElement, "Label", null, style); |
... | ... | |
149 | 111 |
*/ |
150 | 112 |
public RepresentationElement(CdmFormFactory formFactory, |
151 | 113 |
ICdmFormElement formElement, Representation representation, TermBase term, |
152 |
Integer textHeight, int style, boolean isTranslationWizard) {
|
|
114 |
Integer textHeight, int style) { |
|
153 | 115 |
super(formFactory, formElement); |
154 |
this.isTranslationWizard = isTranslationWizard; |
|
116 |
|
|
155 | 117 |
formFactory.addPropertyChangeListener(this); |
156 | 118 |
|
157 | 119 |
element_Label = this.formFactory.createTextWithLabelElement(formElement, "Label", null, style); |
... | ... | |
168 | 130 |
|
169 | 131 |
} |
170 | 132 |
|
171 |
private void createRepresentationEditingElements(
|
|
133 |
protected void createRepresentationEditingElements(
|
|
172 | 134 |
ICdmFormElement formElement, int style) { |
173 | 135 |
|
174 | 136 |
combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement, |
... | ... | |
177 | 139 |
|
178 | 140 |
addControl(formFactory.createLabel(getLayoutComposite(), "")); |
179 | 141 |
|
180 |
if (!isTranslationWizard){ |
|
181 |
button = formFactory.createButton(getLayoutComposite(), |
|
182 |
"Open In Translation Editor", SWT.PUSH); |
|
183 |
addControl(button); |
|
184 |
button.setLayoutData(LayoutConstants.RIGHT()); |
|
185 |
button.addSelectionListener(new OpenTranslationWizard()); |
|
186 |
} |
|
142 |
|
|
187 | 143 |
} |
188 | 144 |
|
189 | 145 |
public List<Language> getLanguages() { |
... | ... | |
249 | 205 |
|
250 | 206 |
if (selectedRepresentation != null) { |
251 | 207 |
combo_language.setTerms(getLanguages()); |
252 |
if (!isTranslationWizard){ |
|
253 |
button.setEnabled(false); |
|
254 |
} |
|
255 |
|
|
256 | 208 |
} |
257 | 209 |
updateControls(); |
258 | 210 |
} |
... | ... | |
260 | 212 |
/** |
261 | 213 |
* |
262 | 214 |
*/ |
263 |
private void updateControls() {
|
|
215 |
protected void updateControls() {
|
|
264 | 216 |
Representation preferredRepresentation = term |
265 | 217 |
.getPreferredRepresentation(Arrays.asList(new Language[] { CdmStore |
266 | 218 |
.getDefaultLanguage() })); |
... | ... | |
270 | 222 |
element_text.setText(preferredRepresentation.getDescription()); |
271 | 223 |
selectedRepresentation = preferredRepresentation; |
272 | 224 |
if (PreferencesUtil.isMultilanguageTextEditingCapability()) { |
273 |
|
|
274 | 225 |
combo_language.setSelection(preferredRepresentation == null?CdmStore.getDefaultLanguage():preferredRepresentation.getLanguage()); |
275 |
if (!isTranslationWizard){ |
|
276 |
button.setEnabled(true); |
|
277 |
combo_language.setTerms(getLanguages()); |
|
278 |
combo_language.setSelection(preferredRepresentation.getLanguage()); |
|
279 |
} |
|
280 | 226 |
} |
281 | 227 |
} |
282 | 228 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TranslatableRepresentationElement.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2016 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
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. |
|
9 |
*/ |
|
10 |
package eu.etaxonomy.taxeditor.ui.element; |
|
11 |
|
|
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; |
|
17 |
|
|
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.ui.section.vocabulary.TermTranslationWizard; |
|
22 |
|
|
23 |
/** |
|
24 |
* @author k.luther |
|
25 |
* @date 23.06.2016 |
|
26 |
* |
|
27 |
*/ |
|
28 |
public class TranslatableRepresentationElement extends RepresentationElement { |
|
29 |
|
|
30 |
/** |
|
31 |
* @param formFactory |
|
32 |
* @param formElement |
|
33 |
* @param representation |
|
34 |
* @param term |
|
35 |
* @param textHeight |
|
36 |
* @param style |
|
37 |
* @param isTranslationWizard |
|
38 |
*/ |
|
39 |
public TranslatableRepresentationElement(CdmFormFactory formFactory, ICdmFormElement formElement, |
|
40 |
Representation representation, TermBase term, Integer textHeight, int style) { |
|
41 |
super(formFactory, formElement, representation, term, textHeight, style); |
|
42 |
|
|
43 |
} |
|
44 |
|
|
45 |
|
|
46 |
/** |
|
47 |
* @param cdmFormFactory |
|
48 |
* @param parentElement |
|
49 |
* @param term |
|
50 |
* @param textHeight |
|
51 |
* @param style |
|
52 |
*/ |
|
53 |
public TranslatableRepresentationElement(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement, |
|
54 |
TermBase term, int textHeight, int style) { |
|
55 |
super(cdmFormFactory, parentElement, term, textHeight, style); |
|
56 |
} |
|
57 |
|
|
58 |
|
|
59 |
private class OpenTranslationWizard extends SelectionAdapter { |
|
60 |
|
|
61 |
public OpenTranslationWizard() { |
|
62 |
super(); |
|
63 |
} |
|
64 |
|
|
65 |
/* |
|
66 |
* (non-Javadoc) |
|
67 |
* |
|
68 |
* @see |
|
69 |
* org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse |
|
70 |
* .swt.events.SelectionEvent) |
|
71 |
*/ |
|
72 |
@Override |
|
73 |
public void widgetSelected(SelectionEvent e) { |
|
74 |
TermBase term = getTerm(); |
|
75 |
|
|
76 |
if (term == null){ |
|
77 |
MessagingUtils.warningDialog("No term to translate", getClass(), "The term is empty and therefore can not be translated"); |
|
78 |
} |
|
79 |
|
|
80 |
TermTranslationWizard wizard = new TermTranslationWizard(term); |
|
81 |
WizardDialog dialog = new WizardDialog(getLayoutComposite() |
|
82 |
.getShell(), wizard); |
|
83 |
|
|
84 |
if (dialog.open() == Window.OK) { |
|
85 |
combo_language.setTerms(getLanguages()); |
|
86 |
updateControls(); |
|
87 |
} |
|
88 |
|
|
89 |
} |
|
90 |
} |
|
91 |
@Override |
|
92 |
protected void createRepresentationEditingElements(ICdmFormElement formElement, int style) { |
|
93 |
super.createRepresentationEditingElements(formElement, style); |
|
94 |
button = formFactory.createButton(getLayoutComposite(), |
|
95 |
"Open In Translation Editor", SWT.PUSH); |
|
96 |
addControl(button); |
|
97 |
button.setLayoutData(LayoutConstants.RIGHT()); |
|
98 |
button.addSelectionListener(new OpenTranslationWizard()); |
|
99 |
|
|
100 |
} |
|
101 |
|
|
102 |
@Override |
|
103 |
public void setTerm( |
|
104 |
TermBase term) { |
|
105 |
super.setTerm(term); |
|
106 |
button.setEnabled(false); |
|
107 |
updateControls(); |
|
108 |
} |
|
109 |
|
|
110 |
|
|
111 |
/** |
|
112 |
* |
|
113 |
*/ |
|
114 |
@Override |
|
115 |
protected void updateControls() { |
|
116 |
super.updateControls(); |
|
117 |
button.setEnabled(true); |
|
118 |
combo_language.setTerms(getLanguages()); |
|
119 |
combo_language.setSelection(selectedRepresentation.getLanguage()); |
|
120 |
|
|
121 |
} |
|
122 |
|
|
123 |
|
|
124 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java | ||
---|---|---|
52 | 52 |
protected void createControls(ICdmFormElement formElement, |
53 | 53 |
T entity, int style) { |
54 | 54 |
|
55 |
element_Representation = formFactory.createRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, false);
|
|
55 |
element_Representation = formFactory.createTranslatableRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style);
|
|
56 | 56 |
|
57 | 57 |
uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style); |
58 | 58 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TermTranslationWizardPage.java | ||
---|---|---|
118 | 118 |
private void createLeftControls(ICdmFormElement element){ |
119 | 119 |
Representation preferredRepresentation= term.getPreferredRepresentation(CdmStore.getDefaultLanguage()); |
120 | 120 |
|
121 |
text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL, true); |
|
121 |
text_source = formFactory.createRepresentationElement(element, preferredRepresentation,term, TEXT_HEIGHT, SWT.NULL); |
|
122 |
text_source.setTerm(term); |
|
122 | 123 |
|
123 | 124 |
|
124 | 125 |
} |
... | ... | |
128 | 129 |
* @param element |
129 | 130 |
*/ |
130 | 131 |
private void createRightControls(ICdmFormElement element){ |
131 |
text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL, true);
|
|
132 |
text_target = formFactory.createRepresentationElement(element, null, term, TEXT_HEIGHT, SWT.NULL); |
|
132 | 133 |
} |
133 | 134 |
|
134 | 135 |
|
Also available in: Unified diff
#5908: fix that the combo box on the left hand side contains only available languages