blob: f154f7986ec2448ecd4f30d3d6ad886b5d1e19df (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
package org.eclipse.team.internal.ui.target;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.team.core.target.ISiteListener;
import org.eclipse.team.core.target.Site;
import org.eclipse.team.core.target.TargetManager;
import org.eclipse.team.internal.ui.ConfigureProjectWizard;
import org.eclipse.team.internal.ui.Policy;
import org.eclipse.team.ui.ISharedImages;
import org.eclipse.team.ui.TeamImages;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.model.WorkbenchLabelProvider;
import org.eclipse.ui.part.ViewPart;
public class SiteExplorerView extends ViewPart implements ISiteListener {
public static final String VIEW_ID = "org.eclipse.team.ui.target.SiteExplorerView"; //$NON-NLS-1$
// The tree viewer
private TreeViewer viewer;
// The root
private SiteRootsElement root;
// The view's actions
private Action addSiteAction;
/**
* @see IWorkbenchPart#createPartControl(Composite)
*/
public void createPartControl(Composite parent) {
root = new SiteRootsElement();
viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
viewer.setContentProvider(new SiteLazyContentProvider());
viewer.setLabelProvider(new WorkbenchLabelProvider());
getSite().setSelectionProvider(viewer);
viewer.setInput(root);
viewer.setSorter(new SiteViewSorter());
viewer.getControl().addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
if (event.keyCode == SWT.F5) {
refresh();
}
}
});
TargetManager.addSiteListener(this);
initalizeToolbarActions();
}
private void initalizeToolbarActions() {
final Shell shell = viewer.getTree().getShell();
// Create actions
// Refresh (toolbar)
addSiteAction = new Action(Policy.bind("SiteExplorerViewaddSiteAction"), TeamImages.getImageDescriptor(ISharedImages.IMG_SITE_ELEMENT)) { //$NON-NLS-1$
public void run() {
ConfigureProjectWizard wizard = new ConfigureTargetWizard();
wizard.init(null, null);
WizardDialog dialog = new WizardDialog(shell, wizard);
dialog.open();
}
};
addSiteAction.setToolTipText(Policy.bind("SiteExplorerViewaddSiteActionTooltip")); //$NON-NLS-1$
IActionBars bars = getViewSite().getActionBars();
IToolBarManager tbm = bars.getToolBarManager();
tbm.add(addSiteAction);
tbm.update(false);
}
/**
* @see IWorkbenchPart#setFocus()
*/
public void setFocus() {
}
/**
* @see ISiteListener#siteAdded(Site)
*/
public void siteAdded(Site site) {
refresh();
}
/**
* @see ISiteListener#siteRemoved(Site)
*/
public void siteRemoved(Site site) {
refresh();
}
protected void refresh() {
viewer.refresh();
}
}
|