Project

General

Profile

« Previous | Next » 

Revision eb82a77d

Added by Katja Luther over 5 years ago

ref #7063: add base element to named area tree in selection wizard to provide the posibility to check this and/or the elements of it

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractAreaSelectionWizard.java
16 16
import java.util.UUID;
17 17

  
18 18
import org.apache.commons.lang.StringUtils;
19
import org.eclipse.jface.viewers.CheckboxTableViewer;
20
import org.eclipse.jface.viewers.CheckboxTreeViewer;
21 19
import org.eclipse.jface.viewers.ColumnViewer;
22 20
import org.eclipse.jface.wizard.WizardPage;
23 21
import org.eclipse.swt.widgets.Composite;
......
25 23
import eu.etaxonomy.cdm.api.service.ITermService;
26 24
import eu.etaxonomy.cdm.api.service.IVocabularyService;
27 25
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
26
import eu.etaxonomy.cdm.model.common.TermBase;
28 27
import eu.etaxonomy.cdm.model.common.TermType;
29 28
import eu.etaxonomy.cdm.model.common.TermVocabulary;
30 29
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
......
40 39
    private ColumnViewer viewer;
41 40
    private List<TermVocabulary<DefinedTermBase>> vocabularies = new ArrayList<>();
42 41
    boolean localPref;
43

  
42
    List<TermBase> listCheckedTerms;
43
    List<TermBase> listGrayedTerms;
44 44

  
45 45
    /**
46 46
     * @param pageName
......
81 81
        for (TermVocabulary voc:vocs){
82 82
            vocabularies.add(voc);
83 83
        }
84
    }
84 85

  
86
    public List<TermBase> getListCheckedTerms() {
87
        return listCheckedTerms;
88
    }
85 89

  
90
    public List<TermBase> getListGrayedTerms() {
91
        return listGrayedTerms;
86 92
    }
87 93

  
88 94
    protected void rememberCheckedValues(String checkedValues, String grayedValues) {
......
92 98
        if (grayedValues != null && grayedValues != "") {
93 99
            String[] arrayGrayed = grayedValues.split(";");
94 100
            List<String> listGrayed = Arrays.asList(arrayGrayed);
95
            ArrayList listGrayedTerms = new ArrayList();
96
            getTermsFromStringValues(listGrayed, listGrayedTerms);
97
            for(Object element : listGrayedTerms){
98
                if(element != null){
99
                    if (getViewer() instanceof CheckboxTreeViewer) {
100
                        ((CheckboxTreeViewer)getViewer()).setGrayChecked(element, true);
101
                    }
102
                }
101
            if (listGrayedTerms == null){
102
                listGrayedTerms = new ArrayList();
103 103
            }
104
            getTermsFromStringValues(listGrayed, this.listGrayedTerms);
105
            NamedAreaWrapper wrapper;
106
//            for(TermBase element : listGrayedTerms){
107
//                if(element != null){
108
//                    if (element instanceof DefinedTermBase){
109
//                        wrapper = new NamedAreaWrapper((DefinedTermBase)element, true, null);
110
//                        if (getViewer() instanceof CheckboxTreeViewer) {
111
//                            ((CheckboxTreeViewer)getViewer()).setGrayChecked(wrapper, true);
112
//                        }
113
//                    }else{
114
//                        if (getViewer() instanceof CheckboxTreeViewer) {
115
//                            ((CheckboxTreeViewer)getViewer()).setGrayChecked(element, true);
116
//                        }
117
//                    }
118
//                }
119
//
120
//            }
104 121
        }
105 122
        if (checkedValues != null && checkedValues != "") {
106 123
            String[] listChecked = checkedValues.split(";");
......
112 129
            if (listCheckedComma != null && checkedValues.contains(",")){
113 130
                checked = Arrays.asList(listCheckedComma);
114 131
            }
115
            ArrayList<DefinedTermBase<?>> listCheckedTerms = new ArrayList<DefinedTermBase<?>>();
116
            getTermsFromStringValues(checked, listCheckedTerms);
117
            for(Object element : listCheckedTerms){
118
                if(element != null){
119
                    if (getViewer() instanceof CheckboxTreeViewer) {
120
                        ((CheckboxTreeViewer)getViewer()).setChecked(element, true);
121
                    }else if (getViewer() instanceof CheckboxTableViewer){
122
                        ((CheckboxTableViewer)getViewer()).setChecked(element, true);
123
                    }
124
                }
132
            if (listCheckedTerms == null){
133
                listCheckedTerms = new ArrayList();
125 134
            }
135
            getTermsFromStringValues(checked, listCheckedTerms);
136

  
137
//            Object[] elements = ((CheckboxTreeViewer)getViewer()).getExpandedElements();
138
//            for (Object element: elements){
139
//                if (element instanceof NamedAreaWrapper){
140
//                    if (listCheckedTerms.contains(((NamedAreaWrapper)element).getNamedArea())){
141
//                        ((CheckboxTreeViewer)getViewer()).setChecked(element, true);
142
//                    }
143
//                    if (listGrayedTerms.contains(((NamedAreaWrapper)element).getNamedArea())){
144
//                        ((CheckboxTreeViewer)getViewer()).setGrayChecked(element, true);
145
//                    }
146
//                }
147
//            }
148
            NamedAreaWrapper wrapper;
149
//            for(Object element : listCheckedTerms){
150
//                if(element != null){
151
//                    if (element instanceof DefinedTermBase){
152
//                        wrapper = new NamedAreaWrapper((DefinedTermBase)element, true, null);
153
//                        if (getViewer() instanceof CheckboxTreeViewer) {
154
//                            ((CheckboxTreeViewer)getViewer()).setChecked(wrapper, true);
155
//                        }
156
//                    }else{
157
//                        if (getViewer() instanceof CheckboxTreeViewer) {
158
//                            ((CheckboxTreeViewer)getViewer()).setChecked(element, true);
159
//                        }
160
//                    }
161
//                }
162
//            }
126 163
        }
127 164
    }
128 165

  
......
130 167
     * @param split
131 168
     * @param termlist
132 169
     */
133
    private void getTermsFromStringValues(List<String> listValue, ArrayList termlist) {
170
    private void getTermsFromStringValues(List<String> listValue, List<TermBase> termlist) {
134 171

  
135 172
        for (String s : listValue) {
136 173
            if (!StringUtils.isBlank(s)){

Also available in: Unified diff