Project

General

Profile

Download (4.92 KB) Statistics
| Branch: | Tag: | Revision:
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 java.util.ArrayList;
12
import java.util.Collection;
13
import java.util.List;
14
import java.util.Map;
15

    
16
import org.eclipse.jface.viewers.CheckStateChangedEvent;
17
import org.eclipse.jface.viewers.CheckboxTreeViewer;
18
import org.eclipse.jface.viewers.ColumnViewer;
19
import org.eclipse.jface.viewers.ICheckStateListener;
20
import org.eclipse.jface.viewers.StyledString.Styler;
21
import org.eclipse.jface.viewers.ViewerComparator;
22
import org.eclipse.swt.SWT;
23
import org.eclipse.swt.graphics.TextStyle;
24
import org.eclipse.swt.layout.GridData;
25
import org.eclipse.swt.layout.GridLayout;
26
import org.eclipse.swt.widgets.Composite;
27
import org.eclipse.swt.widgets.Display;
28

    
29
import eu.etaxonomy.cdm.model.common.CdmBase;
30
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
31
import eu.etaxonomy.cdm.model.common.TermType;
32
import eu.etaxonomy.cdm.model.common.TermVocabulary;
33
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
34
import eu.etaxonomy.taxeditor.editor.definedterm.TermContentProvider;
35
import eu.etaxonomy.taxeditor.editor.definedterm.TermLabelProvider;
36
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
37
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
38

    
39
/**
40
 * @author k.luther
41
 * @since 05.10.2018
42
 *
43
 */
44
public class AvailableDistributionStatusPage extends AbstractTermSelectionWizardPage implements ICdmEntitySessionEnabled{
45

    
46
    private ColumnViewer viewer;
47
    private List<TermVocabulary<DefinedTermBase>> vocabularies = new ArrayList<>();
48
    private CdmPreference pref;
49

    
50

    
51
    public AvailableDistributionStatusPage(String pageName, CdmPreference pref) {
52
        super(pageName, TermType.PresenceAbsenceTerm);
53
        this.pref = pref;
54

    
55
    }
56

    
57
    /**
58
     * {@inheritDoc}
59
     */
60
    @Override
61
    public void createControl(Composite parent) {
62

    
63
       // String checkedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_VOCABULARIES);
64

    
65

    
66
       // String grayedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED);
67
        setTitle("Select Distribution Status");
68
        setDescription("To modify the distribution status for taxa in a given area\n"
69
                + "you may preselect the available status list.");
70
        Composite composite = new Composite(parent, SWT.NULL);
71
        composite.setLayout(new GridLayout());
72
        setViewer(new CheckboxTreeViewer(composite, SWT.NULL));
73
        ((CheckboxTreeViewer)getViewer()).getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
74
//        viewer.setContentProvider(new TermContentProvider());
75
        Styler styler = new Styler() {
76
            @Override
77
            public void applyStyles(TextStyle textStyle) {
78
                textStyle.foreground = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);
79
            }
80
        };
81
        getViewer().setContentProvider(new TermContentProvider());
82
        getViewer().setLabelProvider(new TermLabelProvider(styler));
83
        getViewer().setComparator(new ViewerComparator());
84
        ((CheckboxTreeViewer)getViewer()).addCheckStateListener(new ICheckStateListener() {
85

    
86
            private boolean ignoreCheckEvent = false;
87

    
88
            @Override
89
            public void checkStateChanged(CheckStateChangedEvent event) {
90

    
91

    
92
                if (ignoreCheckEvent ) {
93
                    return;
94
                }
95

    
96
                ignoreCheckEvent = true;
97

    
98
                try {
99

    
100

    
101
                }
102
                finally {
103
                    ignoreCheckEvent = false;
104
                }
105

    
106
            }
107
        });
108
        String checkedValues = null;
109
        if (pref != null){
110
            checkedValues = pref.getValue();
111
        }
112
        rememberCheckedValues(checkedValues, null);
113
        ((CheckboxTreeViewer)getViewer()).setCheckedElements(listCheckedTerms.toArray());
114
        ((CheckboxTreeViewer)getViewer()).expandToLevel(2);
115
        setControl(composite);
116

    
117
    }
118

    
119

    
120
    @Override
121
    public ColumnViewer getViewer() {
122
        return viewer;
123
    }
124

    
125
    @Override
126
    public void setViewer(ColumnViewer viewer) {
127
        this.viewer = viewer;
128
    }
129
    /**
130
     * {@inheritDoc}
131
     */
132
    @Override
133
    public ICdmEntitySession getCdmEntitySession() {
134
        // TODO Auto-generated method stub
135
        return null;
136
    }
137

    
138
    /**
139
     * {@inheritDoc}
140
     */
141
    @Override
142
    public <T extends CdmBase> Collection<T> getRootEntities() {
143
        // TODO Auto-generated method stub
144
        return null;
145
    }
146

    
147
    /**
148
     * {@inheritDoc}
149
     */
150
    @Override
151
    public Map<Object, List<String>> getPropertyPathsMap() {
152
        // TODO Auto-generated method stub
153
        return null;
154
    }
155
    @Override
156
    protected  List<TermVocabulary<DefinedTermBase>> getVocabulariesFromPreference(){
157
     return null;
158
    }
159

    
160
}
(6-6/13)