public BreadcrumbNavigationView(Composite parent, int style) { super(parent, style); addDisposeListener( new DisposeListener() { public void widgetDisposed(DisposeEvent e) { setInput(null); } }); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; layout.horizontalSpacing = 0; layout.verticalSpacing = 0; setLayout(layout); setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); breadcrumbViewer = new BreadcrumbViewer(this, SWT.HORIZONTAL) { @Override protected void configureDropDownViewer(TreeViewer viewer, Object input) { viewer.setContentProvider(new BreadcrumbContentProvider()); viewer.setLabelProvider(new ModelLabelProvider()); viewer.setComparator(new ModelNodeViewerComparator()); } }; breadcrumbViewer.addOpenListener( new IOpenListener() { public void open(OpenEvent event) { setSelection(event.getSelection()); } }); breadcrumbViewer.addSelectionChangedListener( new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { fireSelectionChangedEvent(event); } }); breadcrumbViewer.setLabelProvider(new ModelLabelProvider()); breadcrumbViewer.setContentProvider(new BreadcrumbContentProvider()); contentPanel = new ContentPanel(this, SWT.NONE); }