Project

General

Profile

« Previous | Next » 

Revision 7b3ca53d

Added by Patrick Plitzner over 5 years ago

ref #7887 Fix initial grayed state in checkbox composite

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/CheckBoxTreeComposite.java
27 27
public class CheckBoxTreeComposite extends Composite {
28 28

  
29 29
    private CheckboxTreeViewer viewer;
30
    private ITreeContentProvider contentProvider;
30 31

  
31 32
    public CheckBoxTreeComposite(Composite parent, ITreeContentProvider contentProvider, IBaseLabelProvider labelProvider, int style) {
32 33
        super(parent, style);
34
        this.contentProvider = contentProvider;
33 35
        Composite composite = new Composite(parent, SWT.NULL);
34 36
        composite.setLayout(new GridLayout());
35 37
        Tree tree = new Tree(parent, SWT.BORDER | SWT.CHECK);
......
92 94
     * @param elements
93 95
     */
94 96
    public void setCheckedElements(Object[] elements) {
95
        for (Object object : elements) {
96
            viewer.reveal(object);
97
            viewer.setChecked(object, true);
97
        viewer.setCheckedElements(elements);
98
        for (Object element : elements) {
99
            Object parent = contentProvider.getParent(element);
100
            checkPath(parent);
101
        }
102
    }
103

  
104
    private void checkPath(Object object){
105
        if(object!=null){
106
            checkPath(contentProvider.getParent(object));
107
            viewer.expandToLevel(object, 1);
108
            viewer.setGrayChecked(object, true);
98 109
        }
99 110
    }
100 111

  

Also available in: Unified diff