1 package org.argeo.people.ui.providers;
2
3 import org.eclipse.jface.viewers.ILazyContentProvider;
4 import org.eclipse.jface.viewers.TableViewer;
5 import org.eclipse.jface.viewers.Viewer;
6
7
8
9
10
11 public class SimpleLazyContentProvider implements ILazyContentProvider {
12 private static final long serialVersionUID = 1L;
13 private TableViewer viewer;
14
15 Object[] elements;
16
17 public SimpleLazyContentProvider(TableViewer viewer) {
18 this.viewer = viewer;
19 }
20
21 public void dispose() {
22 }
23
24 public void setElements(Object[] elements) {
25 this.elements = elements;
26 viewer.setInput(elements);
27 viewer.setItemCount(elements == null ? 0 : elements.length);
28 }
29
30 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
31
32
33 viewer.setSelection(null);
34 elements = (Object[]) newInput;
35 }
36
37 public void updateElement(int index) {
38 viewer.replace(elements[index], index);
39 }
40 }