ref #8568: performance issues for term and voc preference pages
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / wizard / AbstractAdminTermSelectionWizardPage.java
1 /**
2 * Copyright (C) 2018 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
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.
8 */
9 package eu.etaxonomy.taxeditor.preference.wizard;
10
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
17 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
18 import eu.etaxonomy.cdm.model.term.TermType;
19 import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
20 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
21
22
23 /**
24 * @author k.luther
25 * @since 22.11.2018
26 *
27 */
28 public abstract class AbstractAdminTermSelectionWizardPage<T extends AbstractTermDto> extends AbstractTermSelectionWizardPage{
29 //private boolean localPrefExist = true;
30
31 /**
32 * @param pageName
33 * @param type
34 */
35 protected AbstractAdminTermSelectionWizardPage(String pageName, TermType type, CdmPreference pref) {
36 super(pageName, type);
37 this.pref = pref;
38 if (localPref){
39 this.override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(pref.getPredicate()));
40 }else{
41 this.override = pref != null? this.pref.isAllowOverride(): true;
42 }
43
44 }
45
46 CdmPreference pref;
47 boolean override;
48
49 /**
50 * {@inheritDoc}
51 */
52
53 protected void createAllowOverrideButton(Composite parent) {
54 final Button activateCheckButton = new Button(parent, SWT.CHECK);
55 if (localPref){
56 activateCheckButton.setText("Override");
57 activateCheckButton.setSelection(override);
58 }else{
59 activateCheckButton.setText("Allow Override");
60 activateCheckButton.setSelection(pref.isAllowOverride());
61 }
62
63
64
65 activateCheckButton.addSelectionListener(new SelectionAdapter(){
66 @Override
67 public void widgetSelected(SelectionEvent e) {
68 pref.setAllowOverride(activateCheckButton.getSelection());
69 override = activateCheckButton.getSelection();
70
71 }
72 });
73 }
74
75 // public boolean isLocalPrefExist() {
76 // return localPrefExist;
77 // }
78 //
79 // public void setLocalPrefExist(boolean localPrefExist) {
80 // this.localPrefExist = localPrefExist;
81 // }
82
83 public CdmPreference getPreference(){
84 return pref;
85 }
86
87 public void setPreference(CdmPreference pref){
88 this.pref = pref;
89 }
90
91 }