Example usage for org.eclipse.jface.viewers IPostSelectionProvider IPostSelectionProvider

List of usage examples for org.eclipse.jface.viewers IPostSelectionProvider IPostSelectionProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IPostSelectionProvider IPostSelectionProvider.

Prototype

IPostSelectionProvider

Source Link

Usage

From source file:org.eclipse.reqcycle.repository.ui.views.RequirementView.java

License:Open Source License

protected void makeSelectionProvider() {
    if (viewer == null) {
        return;//  w  w  w. ja  va2 s .  com
    }
    selectionProvider = new IPostSelectionProvider() {

        @Override
        public void addSelectionChangedListener(ISelectionChangedListener listener) {
            ((IPostSelectionProvider) viewer).addSelectionChangedListener(listener);
        }

        @Override
        public ISelection getSelection() {
            ISelection selection = ((IPostSelectionProvider) viewer).getSelection();
            if (selection instanceof IStructuredSelection) {
                Object element = ((IStructuredSelection) selection).getFirstElement();
                if (element instanceof DummyObject) {
                    return new StructuredSelection(((DummyObject) element).getEobj());
                }
            }
            return selection;
        }

        @Override
        public void removeSelectionChangedListener(ISelectionChangedListener listener) {
            ((IPostSelectionProvider) viewer).removeSelectionChangedListener(listener);
        }

        @Override
        public void setSelection(ISelection selection) {
            ((IPostSelectionProvider) viewer).setSelection(selection);
        }

        @Override
        public void addPostSelectionChangedListener(ISelectionChangedListener listener) {
            ((IPostSelectionProvider) viewer).addPostSelectionChangedListener(listener);
        }

        @Override
        public void removePostSelectionChangedListener(ISelectionChangedListener listener) {
            ((IPostSelectionProvider) viewer).removePostSelectionChangedListener(listener);
        }

    };
    getSite().setSelectionProvider(selectionProvider);
}