2 * Copyright (C) 2018 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
.preference
;
11 import org
.eclipse
.swt
.SWT
;
12 import org
.eclipse
.swt
.events
.SelectionAdapter
;
13 import org
.eclipse
.swt
.events
.SelectionEvent
;
14 import org
.eclipse
.swt
.widgets
.Button
;
15 import org
.eclipse
.swt
.widgets
.Composite
;
16 import org
.eclipse
.swt
.widgets
.Control
;
18 import eu
.etaxonomy
.cdm
.model
.metadata
.CdmPreference
;
19 import eu
.etaxonomy
.taxeditor
.l10n
.Messages
;
20 import eu
.etaxonomy
.taxeditor
.preference
.menu
.CdmPreferencePage
;
27 public class GeneralPreferencePage
extends CdmPreferencePage
{
30 protected boolean isShowIOMenu
;
31 // protected boolean isShowMediaView;
32 protected boolean isShowCheckListPerspective
;
33 protected boolean isShowTaxonNodeWizard
;
34 protected boolean isAllowOverrideShowIOMenu
;
35 protected boolean isAllowOverrideShowMediaView
;
36 protected boolean isAllowOverrideShowCheckListPerspective
;
37 protected boolean isAllowOverrideShowTaxonNodeWizard
;
38 protected boolean isOverrideShowIOMenu
;
39 protected boolean isOverrideShowMediaView
;
40 protected boolean isOverrideShowCheckListPerspective
;
41 protected boolean isOverrideShowTaxonNodeWizard
;
47 protected Control
createContents(Composite parent
) {
49 final Composite composite
= createComposite(parent
);
51 final Button showIOMenuButton
= new Button(composite
, SWT
.CHECK
);
52 showIOMenuButton
.setText(Messages
.DatabasePreferncesPage_Show_IOMenu
);
53 showIOMenuButton
.setSelection(isShowIOMenu
);
54 showIOMenuButton
.addSelectionListener(new SelectionAdapter(){
56 public void widgetSelected(SelectionEvent e
) {
57 isShowIOMenu
= showIOMenuButton
.getSelection();
60 Button allowOverrideShowIOMenuButton
= createAllowOverrideButton(composite
);
61 if (isAdminPreference
){
62 allowOverrideShowIOMenuButton
.setSelection(isAllowOverrideShowIOMenu
);
63 allowOverrideShowIOMenuButton
.addSelectionListener(new SelectionAdapter(){
65 public void widgetSelected(SelectionEvent e
) {
66 isAllowOverrideShowIOMenu
= allowOverrideShowIOMenuButton
.getSelection();
70 allowOverrideShowIOMenuButton
.setSelection(isOverrideShowIOMenu
);
71 allowOverrideShowIOMenuButton
.addSelectionListener(new SelectionAdapter(){
73 public void widgetSelected(SelectionEvent e
) {
74 isOverrideShowIOMenu
= allowOverrideShowIOMenuButton
.getSelection();
77 if (!isAllowOverrideShowIOMenu
){
78 showIOMenuButton
.setEnabled(false);
79 allowOverrideShowIOMenuButton
.setEnabled(false);
83 // final Button showMediaViewButton = new Button(composite, SWT.CHECK);
84 // showMediaViewButton.setText(Messages.DatabasePreferncesPage_Show_MediaView);
85 // showMediaViewButton.setSelection(isShowMediaView);
86 // showMediaViewButton.addSelectionListener(new SelectionAdapter(){
88 // public void widgetSelected(SelectionEvent e) {
89 // isShowMediaView = showIOMenuButton.getSelection();
93 // Button allowOverrideShowMediaViewButton = createAllowOverrideButton(composite);
94 // if (isAdminPreference){
95 // allowOverrideShowMediaViewButton.setSelection(isAllowOverrideShowMediaView);
96 // allowOverrideShowMediaViewButton.addSelectionListener(new SelectionAdapter(){
98 // public void widgetSelected(SelectionEvent e) {
99 // isAllowOverrideShowMediaView = allowOverrideShowMediaViewButton.getSelection();
103 // allowOverrideShowMediaViewButton.setSelection(isOverrideShowMediaView);
104 // allowOverrideShowMediaViewButton.addSelectionListener(new SelectionAdapter(){
106 // public void widgetSelected(SelectionEvent e) {
107 // isOverrideShowMediaView = allowOverrideShowMediaViewButton.getSelection();
110 // if (!isAllowOverrideShowMediaView){
111 // showMediaViewButton.setEnabled(false);
112 // allowOverrideShowMediaViewButton.setEnabled(false);
116 final Button showChecklistPerspectiveButton
= new Button(composite
, SWT
.CHECK
);
117 showChecklistPerspectiveButton
.setText(Messages
.DatabasePreferncesPage_Show_ChecklistPerspective
);
118 showChecklistPerspectiveButton
.setSelection(isShowCheckListPerspective
);
119 showChecklistPerspectiveButton
.addSelectionListener(new SelectionAdapter(){
121 public void widgetSelected(SelectionEvent e
) {
122 isShowCheckListPerspective
= showChecklistPerspectiveButton
.getSelection();
126 Button allowOverrideShowChecklistButton
= createAllowOverrideButton(composite
);
127 if (isAdminPreference
){
128 allowOverrideShowChecklistButton
.setSelection(isAllowOverrideShowCheckListPerspective
);
129 allowOverrideShowChecklistButton
.addSelectionListener(new SelectionAdapter(){
131 public void widgetSelected(SelectionEvent e
) {
132 isAllowOverrideShowCheckListPerspective
= allowOverrideShowChecklistButton
.getSelection();
136 allowOverrideShowChecklistButton
.setSelection(isOverrideShowCheckListPerspective
);
137 allowOverrideShowChecklistButton
.addSelectionListener(new SelectionAdapter(){
139 public void widgetSelected(SelectionEvent e
) {
140 isOverrideShowCheckListPerspective
= allowOverrideShowChecklistButton
.getSelection();
143 if (!isAllowOverrideShowCheckListPerspective
){
144 showChecklistPerspectiveButton
.setEnabled(false);
145 allowOverrideShowChecklistButton
.setEnabled(false);
149 final Button showTaxonNodeWizardButton
= new Button(composite
, SWT
.CHECK
);
150 showTaxonNodeWizardButton
.setText(Messages
.DatabasePreferncesPage_Show_TaxonNodeWizard
);
151 showTaxonNodeWizardButton
.setSelection(isShowTaxonNodeWizard
);
152 showTaxonNodeWizardButton
.addSelectionListener(new SelectionAdapter(){
154 public void widgetSelected(SelectionEvent e
) {
155 isShowTaxonNodeWizard
= showTaxonNodeWizardButton
.getSelection();
159 Button allowOverrideShowTaxonNodeWizardButton
= createAllowOverrideButton(composite
);
160 if (isAdminPreference
){
161 allowOverrideShowTaxonNodeWizardButton
.setSelection(isAllowOverrideShowTaxonNodeWizard
);
162 allowOverrideShowTaxonNodeWizardButton
.addSelectionListener(new SelectionAdapter(){
164 public void widgetSelected(SelectionEvent e
) {
165 isAllowOverrideShowTaxonNodeWizard
= allowOverrideShowTaxonNodeWizardButton
.getSelection();
169 allowOverrideShowTaxonNodeWizardButton
.setSelection(isOverrideShowTaxonNodeWizard
);
170 allowOverrideShowTaxonNodeWizardButton
.addSelectionListener(new SelectionAdapter(){
172 public void widgetSelected(SelectionEvent e
) {
173 isOverrideShowTaxonNodeWizard
= allowOverrideShowTaxonNodeWizardButton
.getSelection();
176 if (!isAllowOverrideShowTaxonNodeWizard
){
177 showTaxonNodeWizardButton
.setEnabled(false);
178 allowOverrideShowTaxonNodeWizardButton
.setEnabled(false);
187 public void createControl(Composite parent
){
188 super.createControl(parent
);
189 getControl().setVisible(false);
193 public boolean performOk() {
194 if (isAllowOverrideShowCheckListPerspective
){
195 PreferencesUtil
.setBooleanValue(PreferencesUtil
.prefOverrideKey(EditorPreferencePredicate
.ShowChecklistPerspective
.getKey()), isOverrideShowCheckListPerspective
);
196 PreferencesUtil
.setBooleanValue(EditorPreferencePredicate
.ShowChecklistPerspective
.getKey(), isShowCheckListPerspective
);
198 if (isAllowOverrideShowIOMenu
){
199 PreferencesUtil
.setBooleanValue(EditorPreferencePredicate
.ShowImportExportMenu
.getKey(), isShowIOMenu
);
200 PreferencesUtil
.setBooleanValue(PreferencesUtil
.prefOverrideKey(EditorPreferencePredicate
.ShowImportExportMenu
.getKey()), isOverrideShowIOMenu
);
202 // if (isAllowOverrideShowMediaView){
203 // PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowMediaView.getKey(), isShowMediaView);
205 if (isAllowOverrideShowTaxonNodeWizard
){
206 PreferencesUtil
.setBooleanValue(PreferencesUtil
.prefOverrideKey(EditorPreferencePredicate
.ShowTaxonNodeWizard
.getKey()), isOverrideShowTaxonNodeWizard
);
207 PreferencesUtil
.setBooleanValue(EditorPreferencePredicate
.ShowTaxonNodeWizard
.getKey(), isShowTaxonNodeWizard
);
213 protected void getValues(){
214 isAdminPreference
= false;
216 CdmPreferenceCache cache
= CdmPreferenceCache
.instance();
217 isShowIOMenu
= PreferencesUtil
.getBooleanValue(EditorPreferencePredicate
.ShowImportExportMenu
.getKey());
218 isOverrideShowIOMenu
= PreferencesUtil
.getBooleanValue(PreferencesUtil
.prefOverrideKey(EditorPreferencePredicate
.ShowImportExportMenu
.getKey()));
219 CdmPreference pref
= cache
.get(EditorPreferencePredicate
.ShowImportExportMenu
.getKey());
221 isAllowOverrideShowIOMenu
= pref
.isAllowOverride();
223 isAllowOverrideShowIOMenu
= true;
225 // isShowMediaView = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowMediaView.getKey());
226 // pref = cache.get(EditorPreferencePredicate.ShowMediaView.getKey());
227 // if (pref != null){
228 // isAllowOverrideShowMediaView = pref.isAllowOverride();
230 // isAllowOverrideShowMediaView = true;
232 isShowCheckListPerspective
= PreferencesUtil
.getBooleanValue(EditorPreferencePredicate
.ShowChecklistPerspective
.getKey());
233 isOverrideShowCheckListPerspective
= PreferencesUtil
.getBooleanValue(PreferencesUtil
.prefOverrideKey(EditorPreferencePredicate
.ShowChecklistPerspective
.getKey()));
234 pref
= cache
.get(EditorPreferencePredicate
.ShowChecklistPerspective
.getKey());
236 isAllowOverrideShowCheckListPerspective
= pref
.isAllowOverride();
238 isAllowOverrideShowCheckListPerspective
= true;
240 isShowTaxonNodeWizard
= PreferencesUtil
.getBooleanValue(EditorPreferencePredicate
.ShowTaxonNodeWizard
.getKey());
241 isOverrideShowTaxonNodeWizard
= PreferencesUtil
.getBooleanValue(PreferencesUtil
.prefOverrideKey(EditorPreferencePredicate
.ShowTaxonNodeWizard
.getKey()));
242 pref
= cache
.get(EditorPreferencePredicate
.ShowTaxonNodeWizard
.getKey());
244 isAllowOverrideShowTaxonNodeWizard
= pref
.isAllowOverride();
246 isAllowOverrideShowTaxonNodeWizard
= true;