Project

General

Profile

« Previous | Next » 

Revision b91b98c5

Added by Patrick Plitzner almost 5 years ago

ref #8294 Move supplemental data source preferences to sub menu

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SupplementalDataPreferences.java
9 9
package eu.etaxonomy.taxeditor.preference;
10 10

  
11 11
import org.eclipse.jface.preference.BooleanFieldEditor;
12
import org.eclipse.swt.SWT;
13
import org.eclipse.swt.events.SelectionAdapter;
14
import org.eclipse.swt.events.SelectionEvent;
15
import org.eclipse.swt.events.SelectionListener;
16
import org.eclipse.swt.layout.GridData;
17
import org.eclipse.swt.widgets.Button;
18
import org.eclipse.swt.widgets.Combo;
19
import org.eclipse.swt.widgets.Composite;
20
import org.eclipse.swt.widgets.Control;
21
import org.eclipse.swt.widgets.Label;
22 12

  
23
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
24
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
25
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
26
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
27 13
import eu.etaxonomy.taxeditor.l10n.Messages;
28
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
14
import eu.etaxonomy.taxeditor.preference.menu.FieldEditorPreferencePageE4;
29 15

  
30 16
/**
31 17
 * @author k.luther
32 18
 * @since 18.01.2019
33 19
 *
34 20
 */
35
public class SupplementalDataPreferences extends CdmPreferencePage implements SelectionListener{
36

  
37
    protected Boolean isShowIDNamspace;
38
    protected Boolean isShowIDSource;
39

  
40
    protected boolean isAllowOverrideShowIDNamspace;
41
    protected boolean isAllowOverrideShowIDSource;
42

  
43
    protected boolean isOverrideShowIDNamspace;
44
    protected boolean isOverrideShowIDSource;
45

  
46
    private BooleanFieldEditor show_debug;
47
    protected Combo showIDNamspaceButton;
48
    protected Button allowOverrideShowIDNamspaceButton;
49
    protected Combo showIDSourceButton;
50
    protected Button allowOverrideIDSourceButton;
51

  
52
    final String SHOW = Messages.GeneralPreference_yes;
53
    final String DO_NOT_SHOW = Messages.GeneralPreference_no;
54

  
55
    @Override
56
    protected Control createContents(Composite parent) {
57
        getValues();
58
        final Composite composite = createComposite(parent);
59

  
60
        GridData gridData = createTextGridData();
61

  
62
        Label separator= new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
63
        separator.setLayoutData(gridData);
64
        separator.setVisible(false);
65

  
66
        if(!isAdminPreference){
67
            show_debug = new BooleanFieldEditor(PreferencesUtil.createPreferenceString(IPreferenceKeys.SHOW_DEBUG_INFORMATION),
68
                    Messages.SupplementalDataPreferences_0,
69
                    composite);
70
            show_debug.setPreferenceStore(getPreferenceStore());
71
            show_debug.load();
72
        }
73

  
74
        showIDNamspaceButton = createBooleanCombo(composite, SHOW, DO_NOT_SHOW, PreferencePredicate.ShowIdInSource, "Show ID in Namespace in Source",
75
                isAdminPreference);
76

  
77
        showIDNamspaceButton.addSelectionListener(this);
78

  
79
        if (isShowIDNamspace == null || (!isOverrideShowIDNamspace && !isAdminPreference)){
80
            showIDNamspaceButton.select(0);
81
        }else if (isShowIDNamspace){
82
            showIDNamspaceButton.select(1);
83
        }else{
84
            showIDNamspaceButton.select(2);
85
        }
86
        if (isAdminPreference){
87
            allowOverrideShowIDNamspaceButton = createAllowOverrideButton(composite);
88

  
89
            allowOverrideShowIDNamspaceButton.setSelection(isAllowOverrideShowIDNamspace);
90
            allowOverrideShowIDNamspaceButton.addSelectionListener(new SelectionAdapter(){
91
                @Override
92
                public void widgetSelected(SelectionEvent e) {
93
                    isAllowOverrideShowIDNamspace = allowOverrideShowIDNamspaceButton.getSelection();
94
                    setApply(true);
95
                }
96
            });
97
        }
98
        showIDSourceButton = createBooleanCombo(composite, SHOW, DO_NOT_SHOW, PreferencePredicate.ShowNamespaceInSource, "Show ID in Source",
99
                isAdminPreference);
100
        showIDSourceButton.addSelectionListener(this);
101
        if (isShowIDSource == null || (!isOverrideShowIDSource && !isAdminPreference)){
102
            showIDSourceButton.select(0);
103
        }else if (isShowIDSource){
104
            showIDSourceButton.select(1);
105
        }else{
106
            showIDSourceButton.select(2);
107
        }
108

  
109
        if (isAdminPreference){
110
            allowOverrideIDSourceButton = createAllowOverrideButton(composite);
111
            allowOverrideIDSourceButton.setSelection(isAllowOverrideShowIDSource);
112
            allowOverrideIDSourceButton.addSelectionListener(new SelectionAdapter(){
113
                @Override
114
                public void widgetSelected(SelectionEvent e) {
115
                    isAllowOverrideShowIDSource = allowOverrideIDSourceButton.getSelection();
116
                    setApply(true);
117
                }
118
            });
119
        }
120
        if (!isAllowOverrideShowIDNamspace && !isAdminPreference){
121
            showIDNamspaceButton.setEnabled(false);
122
        }
123
        if (!isAllowOverrideShowIDSource && !isAdminPreference){
124
            showIDSourceButton.setEnabled(false);
125
        }
126
        return composite;
127
    }
128

  
129
    @Override
130
    public boolean performOk() {
131
        if (show_debug != null){
132
            show_debug.store();
133
        }
134
        if (isAllowOverrideShowIDNamspace){
135
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowIdInSource.getKey()), isOverrideShowIDNamspace);
136
            PreferencesUtil.setBooleanValue(PreferencePredicate.ShowIdInSource.getKey(), isShowIDNamspace);
137
        }
138
        if (isAllowOverrideShowIDSource){
139
            PreferencesUtil.setBooleanValue(PreferencePredicate.ShowNamespaceInSource.getKey(), isShowIDSource);
140
            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowNamespaceInSource.getKey()), isOverrideShowIDSource);
141
        }
142
        return true;
143
    }
144

  
145
    @Override
146
    protected void performDefaults() {
147
        show_debug.loadDefault();
148
        super.performDefaults();
149
    }
150

  
151
    @Override
152
    protected void getValues(){
153
        isAdminPreference = false;
154

  
155
        CdmPreferenceCache cache = CdmPreferenceCache.instance();
156
        isShowIDNamspace = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSource.getKey(), true);
157
        isOverrideShowIDNamspace = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowIdInSource.getKey()), true) != null?PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowIdInSource.getKey()), true): false;
158
        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowIdInSource);
159
        CdmPreference pref = cache.findBestMatching(key);
160
        if (pref != null){
161
            isAllowOverrideShowIDNamspace = pref.isAllowOverride();
162
        }else{
163
            isAllowOverrideShowIDNamspace = true;
164
        }
165

  
166
        isShowIDSource = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowNamespaceInSource.getKey(), true);
167
        isOverrideShowIDSource = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowNamespaceInSource.getKey()), true) != null? PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowNamespaceInSource.getKey()), true):false;
168
        key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowNamespaceInSource);
169
        pref = cache.findBestMatching(key);
170
        if (pref != null){
171
            isAllowOverrideShowIDSource = pref.isAllowOverride();
172
        }else{
173
            isAllowOverrideShowIDSource = true;
174
        }
175
    }
176

  
177
    @Override
178
    public void widgetSelected(SelectionEvent e) {
179
        if (e.getSource().equals(this.showIDNamspaceButton)) {
180
            String text = showIDNamspaceButton.getText();
181
           // text = text.replace(Messages.Preference_Use_Default, "");
182
            if (text.equals(Messages.Preference_Use_Default)){
183
                isOverrideShowIDNamspace = false;
184
            }else{
185
                isOverrideShowIDNamspace = true;
186
            }
187
            if (text.equals(SHOW)){
188
                isShowIDNamspace = true;
189

  
190
            }else{
191
                isShowIDNamspace = false;
192
            }
193
        }
194
        if (e.getSource().equals(this.showIDSourceButton)) {
195
            String text = showIDSourceButton.getText();
196
            if (text.equals(Messages.Preference_Use_Default)){
197
                isOverrideShowIDSource = false;
198
            }else{
199
                isOverrideShowIDSource = true;
200
            }
201
            if (text.equals(SHOW)){
202
                isShowIDSource = true;
203
            }else{
204
                isShowIDSource = false;
205
            }
206
        }
207

  
208
        this.setApply(true);
209
    }
21
public class SupplementalDataPreferences extends FieldEditorPreferencePageE4 {
210 22

  
211 23
    @Override
212
    public void widgetDefaultSelected(SelectionEvent e) {
24
    protected void createFieldEditors() {
25
        addField(new BooleanFieldEditor(PreferencesUtil.createPreferenceString(IPreferenceKeys.SHOW_DEBUG_INFORMATION),
26
                Messages.SupplementalDataPreferences_0,
27
                getFieldEditorParent()));
213 28
    }
214 29

  
215 30
}

Also available in: Unified diff