]> git.argeo.org Git - gpl/argeo-slc.git/blob - cms/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/views/AnonymousDistributionsView.java
b511c4e932f5eaf13e28f321ff58791b5a3bdc6a
[gpl/argeo-slc.git] / cms / org.argeo.slc.client.ui.dist / src / org / argeo / slc / client / ui / dist / views / AnonymousDistributionsView.java
1 package org.argeo.slc.client.ui.dist.views;
2
3 import org.argeo.cms.ArgeoNames;
4 import org.argeo.slc.SlcNames;
5 import org.argeo.slc.client.ui.dist.DistConstants;
6 import org.argeo.slc.client.ui.dist.DistPlugin;
7 import org.argeo.slc.client.ui.dist.controllers.DistTreeComparator;
8 import org.argeo.slc.client.ui.dist.controllers.DistTreeDoubleClickListener;
9 import org.argeo.slc.client.ui.dist.controllers.DistTreeLabelProvider;
10 import org.eclipse.jface.viewers.ITreeContentProvider;
11 import org.eclipse.jface.viewers.TreeViewer;
12 import org.eclipse.jface.viewers.TreeViewerColumn;
13 import org.eclipse.swt.SWT;
14 import org.eclipse.swt.widgets.Composite;
15 import org.eclipse.swt.widgets.Tree;
16 import org.eclipse.ui.part.ViewPart;
17
18 /**
19 * Browse, manipulate and manage distributions accross multiple repositories
20 * (like fetch, merge, publish, etc.).
21 */
22 public class AnonymousDistributionsView extends ViewPart implements SlcNames,
23 ArgeoNames {
24 // private final static Log log = LogFactory
25 // .getLog(AnonymousDistributionsView.class);
26 public final static String ID = DistPlugin.PLUGIN_ID
27 + ".anonymousDistributionsView";
28
29 /* DEPENDENCY INJECTION */
30 private ITreeContentProvider treeContentProvider;
31
32 // This view widgets
33 private TreeViewer viewer;
34
35 @Override
36 public void createPartControl(Composite parent) {
37 // Define the TableViewer
38 viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
39 | SWT.FULL_SELECTION | SWT.BORDER);
40
41 TreeViewerColumn col = new TreeViewerColumn(viewer, SWT.NONE);
42 col.getColumn().setWidth(400);
43 col.setLabelProvider(new DistTreeLabelProvider());
44
45 final Tree tree = viewer.getTree();
46 tree.setHeaderVisible(false);
47 tree.setLinesVisible(false);
48
49 // viewer.setContentProvider(new DistTreeContentProvider());
50 viewer.setContentProvider(treeContentProvider);
51 viewer.addDoubleClickListener(new DistTreeDoubleClickListener(viewer));
52 viewer.setComparator(new DistTreeComparator());
53
54 // Initialize
55 refresh();
56 }
57
58 /**
59 * Force refresh of the whole view
60 */
61 public void refresh() {
62 Object[] ee = viewer.getExpandedElements();
63 viewer.setInput(DistConstants.DEFAULT_PUBLIC_REPOSITORY_URI);
64 // viewer.expandToLevel(2);
65 viewer.setExpandedElements(ee);
66 }
67
68 @Override
69 public void setFocus() {
70 viewer.getTree().setFocus();
71 }
72
73 /*
74 * DEPENDENCY INJECTION
75 */
76 public void setTreeContentProvider(ITreeContentProvider treeContentProvider) {
77 this.treeContentProvider = treeContentProvider;
78 }
79 }