1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.argeo.slc.client.ui.dist.views;
17
18 import org.argeo.cms.ArgeoNames;
19 import org.argeo.slc.SlcNames;
20 import org.argeo.slc.client.ui.dist.DistConstants;
21 import org.argeo.slc.client.ui.dist.DistPlugin;
22 import org.argeo.slc.client.ui.dist.controllers.DistTreeComparator;
23 import org.argeo.slc.client.ui.dist.controllers.DistTreeDoubleClickListener;
24 import org.argeo.slc.client.ui.dist.controllers.DistTreeLabelProvider;
25 import org.eclipse.jface.viewers.ITreeContentProvider;
26 import org.eclipse.jface.viewers.TreeViewer;
27 import org.eclipse.jface.viewers.TreeViewerColumn;
28 import org.eclipse.swt.SWT;
29 import org.eclipse.swt.widgets.Composite;
30 import org.eclipse.swt.widgets.Tree;
31 import org.eclipse.ui.part.ViewPart;
32
33
34
35
36
37 public class AnonymousDistributionsView extends ViewPart implements SlcNames,
38 ArgeoNames {
39
40
41 public final static String ID = DistPlugin.PLUGIN_ID
42 + ".anonymousDistributionsView";
43
44
45 private ITreeContentProvider treeContentProvider;
46
47
48 private TreeViewer viewer;
49
50 @Override
51 public void createPartControl(Composite parent) {
52
53 viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
54 | SWT.FULL_SELECTION | SWT.BORDER);
55
56 TreeViewerColumn col = new TreeViewerColumn(viewer, SWT.NONE);
57 col.getColumn().setWidth(400);
58 col.setLabelProvider(new DistTreeLabelProvider());
59
60 final Tree tree = viewer.getTree();
61 tree.setHeaderVisible(false);
62 tree.setLinesVisible(false);
63
64
65 viewer.setContentProvider(treeContentProvider);
66 viewer.addDoubleClickListener(new DistTreeDoubleClickListener(viewer));
67 viewer.setComparator(new DistTreeComparator());
68
69
70 refresh();
71 }
72
73
74
75
76 public void refresh() {
77 Object[] ee = viewer.getExpandedElements();
78 viewer.setInput(DistConstants.DEFAULT_PUBLIC_REPOSITORY_URI);
79
80 viewer.setExpandedElements(ee);
81 }
82
83 @Override
84 public void setFocus() {
85 viewer.getTree().setFocus();
86 }
87
88
89
90
91 public void setTreeContentProvider(ITreeContentProvider treeContentProvider) {
92 this.treeContentProvider = treeContentProvider;
93 }
94 }