|
Lines 24-29
Link Here
|
| 24 |
import org.eclipse.emf.ecp.ui.model.ModelLabelProvider; |
24 |
import org.eclipse.emf.ecp.ui.model.ModelLabelProvider; |
| 25 |
import org.eclipse.emf.ecp.ui.model.RepositoriesContentProvider; |
25 |
import org.eclipse.emf.ecp.ui.model.RepositoriesContentProvider; |
| 26 |
import org.eclipse.emf.ecp.ui.model.RepositoriesLabelProvider; |
26 |
import org.eclipse.emf.ecp.ui.model.RepositoriesLabelProvider; |
|
|
27 |
import org.eclipse.emf.ecp.ui.util.ModelContentProviderHelper; |
| 27 |
import org.eclipse.emf.edit.ui.dnd.LocalTransfer; |
28 |
import org.eclipse.emf.edit.ui.dnd.LocalTransfer; |
| 28 |
import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; |
29 |
import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; |
| 29 |
|
30 |
|
|
Lines 46-55
Link Here
|
| 46 |
* @author Eugen Neufeld |
47 |
* @author Eugen Neufeld |
| 47 |
*/ |
48 |
*/ |
| 48 |
public class TreeViewerFactory { |
49 |
public class TreeViewerFactory { |
| 49 |
public static TreeViewer createModelExplorerViewer(Composite parent, boolean hasDnD, ILabelDecorator labelDecorator) { |
50 |
public static TreeViewer createModelExplorerViewer(Composite parent, boolean hasDnD, |
|
|
51 |
ILabelDecorator labelDecorator, boolean sort) { |
| 50 |
final ModelContentProvider contentProvider = new ModelContentProvider(); |
52 |
final ModelContentProvider contentProvider = new ModelContentProvider(); |
|
|
53 |
ModelContentProviderHelper.INSTANCE.setModelContentProvider(contentProvider); |
| 51 |
final TreeViewer viewer = createTreeViewer(parent, new ModelLabelProvider(contentProvider), contentProvider, |
54 |
final TreeViewer viewer = createTreeViewer(parent, new ModelLabelProvider(contentProvider), contentProvider, |
| 52 |
ECPProjectManager.INSTANCE, labelDecorator); |
55 |
ECPProjectManager.INSTANCE, labelDecorator, sort); |
| 53 |
if (hasDnD) { |
56 |
if (hasDnD) { |
| 54 |
final ModelExplorerDropAdapter dropAdapter = new ModelExplorerDropAdapter(contentProvider, viewer); |
57 |
final ModelExplorerDropAdapter dropAdapter = new ModelExplorerDropAdapter(contentProvider, viewer); |
| 55 |
|
58 |
|
|
Lines 83-107
Link Here
|
| 83 |
return viewer; |
86 |
return viewer; |
| 84 |
} |
87 |
} |
| 85 |
|
88 |
|
| 86 |
public static TreeViewer createRepositoryExplorerViewer(Composite parent, ILabelDecorator labelDecorator) { |
89 |
public static TreeViewer createRepositoryExplorerViewer(Composite parent, ILabelDecorator labelDecorator, |
|
|
90 |
boolean sort) { |
| 87 |
RepositoriesContentProvider contentProvider = new RepositoriesContentProvider(); |
91 |
RepositoriesContentProvider contentProvider = new RepositoriesContentProvider(); |
| 88 |
TreeViewer viewer = createTreeViewer(parent, new RepositoriesLabelProvider(contentProvider), contentProvider, |
92 |
TreeViewer viewer = createTreeViewer(parent, new RepositoriesLabelProvider(contentProvider), contentProvider, |
| 89 |
ECPRepositoryManager.INSTANCE, labelDecorator); |
93 |
ECPRepositoryManager.INSTANCE, labelDecorator, sort); |
| 90 |
return viewer; |
94 |
return viewer; |
| 91 |
} |
95 |
} |
| 92 |
|
96 |
|
| 93 |
public static TreeViewer createTreeViewer(Composite parent, ILabelProvider labelProvider, |
97 |
public static TreeViewer createTreeViewer(Composite parent, ILabelProvider labelProvider, |
| 94 |
ITreeContentProvider contentProvider, Object input, ILabelDecorator labelDecorator) { |
98 |
ITreeContentProvider contentProvider, Object input, ILabelDecorator labelDecorator, boolean sort) { |
| 95 |
TreeViewer viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); |
99 |
TreeViewer viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); |
| 96 |
createTreeViewer(labelProvider, contentProvider, input, labelDecorator, viewer); |
100 |
createTreeViewer(labelProvider, contentProvider, input, labelDecorator, viewer, sort); |
| 97 |
return viewer; |
101 |
return viewer; |
| 98 |
} |
102 |
} |
| 99 |
|
103 |
|
| 100 |
public static TreeViewer createCheckedTreeViewer(Composite parent, ILabelProvider labelProvider, |
104 |
public static TreeViewer createCheckedTreeViewer(Composite parent, ILabelProvider labelProvider, |
| 101 |
ITreeContentProvider contentProvider, Object input, ILabelDecorator labelDecorator) { |
105 |
ITreeContentProvider contentProvider, Object input, ILabelDecorator labelDecorator, boolean sort) { |
| 102 |
final ContainerCheckedTreeViewer viewer = new ContainerCheckedTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL |
106 |
final ContainerCheckedTreeViewer viewer = new ContainerCheckedTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL |
| 103 |
| SWT.V_SCROLL); |
107 |
| SWT.V_SCROLL); |
| 104 |
createTreeViewer(labelProvider, contentProvider, input, labelDecorator, viewer); |
108 |
createTreeViewer(labelProvider, contentProvider, input, labelDecorator, viewer, sort); |
| 105 |
return viewer; |
109 |
return viewer; |
| 106 |
} |
110 |
} |
| 107 |
|
111 |
|
|
Lines 113-122
Link Here
|
| 113 |
* @param viewer |
117 |
* @param viewer |
| 114 |
*/ |
118 |
*/ |
| 115 |
private static void createTreeViewer(ILabelProvider labelProvider, ITreeContentProvider contentProvider, |
119 |
private static void createTreeViewer(ILabelProvider labelProvider, ITreeContentProvider contentProvider, |
| 116 |
Object input, ILabelDecorator labelDecorator, TreeViewer viewer) { |
120 |
Object input, ILabelDecorator labelDecorator, TreeViewer viewer, boolean sort) { |
| 117 |
viewer.setContentProvider(contentProvider); |
121 |
viewer.setContentProvider(contentProvider); |
| 118 |
viewer.setLabelProvider(labelProvider); |
122 |
viewer.setLabelProvider(labelProvider); |
| 119 |
viewer.setSorter(new ViewerSorter()); |
123 |
if (sort) { |
|
|
124 |
viewer.setSorter(new ViewerSorter()); |
| 125 |
} |
| 120 |
viewer.setInput(input); |
126 |
viewer.setInput(input); |
| 121 |
|
127 |
|
| 122 |
if (labelDecorator != null) { |
128 |
if (labelDecorator != null) { |