Revision 7b3ca53d
Added by Patrick Plitzner over 5 years ago
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
ref #7887 Fix initial grayed state in checkbox composite