1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package pl.edu.agh.cast.importer.wizard.template;
19
20 import java.util.Collection;
21
22 import org.eclipse.jface.viewers.ITreeContentProvider;
23 import org.eclipse.jface.viewers.Viewer;
24
25
26
27
28
29 public class TemplatesTreeContentProvider implements ITreeContentProvider {
30
31
32
33
34
35
36 @Override
37 public Object[] getChildren(Object parentElement) {
38 if (parentElement instanceof Collection) {
39 return ((Collection<?>)parentElement).toArray();
40 } else if (parentElement instanceof TemplateGroupTreeEntry) {
41 return ((TemplateGroupTreeEntry)parentElement).getChildren().toArray();
42 } else {
43 return null;
44 }
45 }
46
47
48
49
50
51
52 @Override
53 public Object getParent(Object element) {
54 if (element instanceof TemplateTreeEntry) {
55 return ((TemplateTreeEntry)element).getParent();
56 } else if (element instanceof TemplateGroupTreeEntry) {
57 return ((TemplateGroupTreeEntry)element).getParent();
58 } else {
59 return null;
60 }
61 }
62
63
64
65
66
67
68 @Override
69 public boolean hasChildren(Object element) {
70 if (element instanceof Collection) {
71 return !((Collection<?>)element).isEmpty();
72 } else if (element instanceof TemplateGroupTreeEntry) {
73 return !((TemplateGroupTreeEntry)element).getChildren().isEmpty();
74 } else {
75 return false;
76 }
77 }
78
79
80
81
82
83
84 @Override
85 public Object[] getElements(Object inputElement) {
86 return getChildren(inputElement);
87 }
88
89
90
91
92
93
94 @Override
95 public void dispose() {
96
97
98 }
99
100
101
102
103
104
105
106 @Override
107 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
108
109
110 }
111
112 }