]> git.argeo.org Git - gpl/argeo-slc.git/blob - AnonymousDistributionsView.java
004e069574eaac0bb530f6a9d92002e3c2bd633c
[gpl/argeo-slc.git] / AnonymousDistributionsView.java
1 /*
2 * Copyright (C) 2007-2012 Argeo GmbH
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.slc.client.ui.dist.views;
17
18 import org.argeo.jcr.ArgeoNames;
19 import org.argeo.slc.client.ui.dist.DistConstants;
20 import org.argeo.slc.client.ui.dist.DistPlugin;
21 import org.argeo.slc.client.ui.dist.controllers.DistTreeComparator;
22 import org.argeo.slc.client.ui.dist.controllers.DistTreeDoubleClickListener;
23 import org.argeo.slc.client.ui.dist.controllers.DistTreeLabelProvider;
24 import org.argeo.slc.jcr.SlcNames;
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 * Browse, manipulate and manage distributions accross multiple repositories
35 * (like fetch, merge, publish, etc.).
36 */
37 public class AnonymousDistributionsView extends ViewPart implements SlcNames,
38 ArgeoNames {
39 // private final static Log log = LogFactory
40 // .getLog(AnonymousDistributionsView.class);
41 public final static String ID = DistPlugin.ID + ".anonymousDistributionsView";
42
43 /* DEPENDENCY INJECTION */
44 private ITreeContentProvider treeContentProvider;
45
46 // This view widgets
47 private TreeViewer viewer;
48
49 @Override
50 public void createPartControl(Composite parent) {
51 // Define the TableViewer
52 viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
53 | SWT.FULL_SELECTION | SWT.BORDER);
54
55 TreeViewerColumn col = new TreeViewerColumn(viewer, SWT.NONE);
56 col.getColumn().setWidth(400);
57 col.setLabelProvider(new DistTreeLabelProvider());
58
59 final Tree tree = viewer.getTree();
60 tree.setHeaderVisible(false);
61 tree.setLinesVisible(false);
62
63 // viewer.setContentProvider(new DistTreeContentProvider());
64 viewer.setContentProvider(treeContentProvider);
65 viewer.addDoubleClickListener(new DistTreeDoubleClickListener());
66 viewer.setComparator(new DistTreeComparator());
67
68 // Initialize
69 refresh();
70 }
71
72 /**
73 * Force refresh of the whole view
74 */
75 public void refresh() {
76 viewer.setInput(DistConstants.DEFAULT_PUBLIC_REPOSITORY_URI);
77 viewer.expandToLevel(2);
78 }
79
80 @Override
81 public void setFocus() {
82 viewer.getTree().setFocus();
83 }
84
85 /*
86 * DEPENDENCY INJECTION
87 */
88 public void setTreeContentProvider(ITreeContentProvider treeContentProvider) {
89 this.treeContentProvider = treeContentProvider;
90 }
91 }