2 * Copyright (C) 2007 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.
10 package eu
.etaxonomy
.taxeditor
.preference
;
12 import java
.util
.List
;
14 import org
.eclipse
.swt
.SWT
;
15 import org
.eclipse
.swt
.events
.SelectionAdapter
;
16 import org
.eclipse
.swt
.events
.SelectionEvent
;
17 import org
.eclipse
.swt
.layout
.GridLayout
;
18 import org
.eclipse
.swt
.layout
.RowLayout
;
19 import org
.eclipse
.swt
.widgets
.Combo
;
20 import org
.eclipse
.swt
.widgets
.Composite
;
21 import org
.eclipse
.swt
.widgets
.Control
;
22 import org
.eclipse
.swt
.widgets
.Label
;
24 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
25 import eu
.etaxonomy
.taxeditor
.l10n
.Messages
;
26 import eu
.etaxonomy
.taxeditor
.preference
.menu
.CdmPreferencePage
;
27 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
31 * @created Dec 3, 2010
34 public class LanguageRepresentationPreferencePage
extends CdmPreferencePage
{
37 private Language globalLanguage
;
39 // private Composite createComposite(Composite parent){
40 // Composite composite = new Composite(parent, SWT.NULL);
41 // composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
42 // composite.setLayout(new RowLayout(SWT.HORIZONTAL));
47 protected Control
createContents(Composite parent
) {
48 Composite container
= new Composite(parent
, SWT
.NULL
);
49 final GridLayout gridLayout
= new GridLayout();
50 container
.setLayout(gridLayout
);
52 createSetDefaultLanguage(container
);
54 // createSetMultiLanguageTextEditingCapability(container);
61 private void createSetDefaultLanguage(Composite parent
) {
62 globalLanguage
= PreferencesUtil
.getGlobalLanguage();
64 if(globalLanguage
== null) {
68 int curentSelectionIndex
= 0;
70 final Composite composite
= createComposite(parent
);
71 composite
.setLayout(new RowLayout(1));
73 final Label label
= new Label(composite
, SWT
.NONE
);
74 label
.setText(Messages
.LanguageRepresentationPreferencePage_global
);
76 final Combo combo_globalLanguage
= new Combo(composite
, SWT
.NONE
);
78 List
<Language
> preferredLanguages
= CdmStore
.getTermManager().getPreferredTerms(Language
.class);
80 for(int i
= 0; i
< preferredLanguages
.size(); i
++){
81 Language language
= preferredLanguages
.get(i
);
82 combo_globalLanguage
.add(language
.getLabel(), i
);
83 if(language
.equals(globalLanguage
)){
84 curentSelectionIndex
= i
;
88 combo_globalLanguage
.select(curentSelectionIndex
);
90 combo_globalLanguage
.addSelectionListener(new SelectionAdapter() {
92 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
95 public void widgetSelected(SelectionEvent e
) {
97 int selectionIndex
= combo_globalLanguage
.getSelectionIndex();
98 globalLanguage
= CdmStore
.getCurrentApplicationConfiguration().getTermService().getLanguageByLabel(combo_globalLanguage
.getItem(selectionIndex
));
104 // private void createSetMultiLanguageTextEditingCapability(Composite parent) {
105 // isMultilanguageTextEditingCapability = PreferencesUtil.getBooleanValue(IPreferenceKeys.MULTILANGUAGE_TEXT_EDITING_CAPABILITY);
107 // final Composite composite = createComposite(parent);
109 // final Button button_toggle = new Button(composite, SWT.CHECK);
112 // button_toggle.setText(Messages.LanguageRepresentationPreferencePage_enable);
114 // button_toggle.setSelection(isMultilanguageTextEditingCapability);
117 // button_toggle.addSelectionListener(new SelectionAdapter(){
119 // * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
122 // public void widgetSelected(SelectionEvent e) {
124 // isMultilanguageTextEditingCapability = button_toggle.getSelection();
130 public boolean performOk() {
134 PreferencesUtil
.setGlobalLanguage(globalLanguage
);
135 return super.performOk();