use of bndtools.editor.pages.BundleContentPage in project bndtools by bndtools.
the class BndEditorContentOutlinePage method createControl.
@Override
public void createControl(Composite parent) {
super.createControl(parent);
TreeViewer viewer = getTreeViewer();
viewer.setAutoExpandLevel(2);
viewer.setContentProvider(new BndEditorContentOutlineProvider(viewer));
viewer.setLabelProvider(new BndEditorContentOutlineLabelProvider());
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) event.getSelection();
Object element = selection.getFirstElement();
if (element instanceof String) {
if (BndEditorContentOutlineProvider.EXPORTS.equals(element)) {
editor.setActivePage(BndEditor.CONTENT_PAGE);
} else if (BndEditorContentOutlineProvider.IMPORT_PATTERNS.equals(element)) {
editor.setActivePage(BndEditor.CONTENT_PAGE);
} else if (BndEditorContentOutlineProvider.PRIVATE_PKGS.equals(element)) {
editor.setActivePage(BndEditor.CONTENT_PAGE);
} else if (BndEditorContentOutlineProvider.PLUGINS.equals(element)) {
editor.setActivePage(BndEditor.WORKSPACE_PAGE);
} else {
editor.setActivePage((String) element);
}
} else if (element instanceof ExportedPackage) {
BundleContentPage contentsPage = (BundleContentPage) editor.setActivePage(BndEditor.CONTENT_PAGE);
if (contentsPage != null) {
contentsPage.setSelectedExport((ExportedPackage) element);
}
} else if (element instanceof PrivatePkg) {
BundleContentPage contentsPage = (BundleContentPage) editor.setActivePage(BndEditor.CONTENT_PAGE);
if (contentsPage != null) {
contentsPage.setSelectedPrivatePkg(((PrivatePkg) element).pkg);
}
} else if (element instanceof ImportPattern) {
BundleContentPage contentsPage = (BundleContentPage) editor.setActivePage(BndEditor.CONTENT_PAGE);
if (contentsPage != null) {
contentsPage.setSelectedImport((ImportPattern) element);
}
} else if (element instanceof PluginClause) {
WorkspacePage workspacePage = (WorkspacePage) editor.setActivePage(BndEditor.WORKSPACE_PAGE);
if (workspacePage != null)
workspacePage.setSelectedPlugin(((PluginClause) element).header);
}
}
});
viewer.setInput(model);
}
Aggregations