blob: c3f25a6738663fc848f862996c3cd164451257e2 [file] [log] [blame]
package org.eclipse.emf.ecp.e4.view;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
import org.eclipse.e4.ui.workbench.swt.modeling.EMenuService;
import org.eclipse.emf.ecp.ui.common.TreeViewerFactory;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Composite;
public class ECPRepositoryView {
private TreeViewer repositoryTree;
public ECPRepositoryView() {
}
@PostConstruct
public void create(Composite composite, EMenuService menuService,
final ESelectionService selectionService) {
repositoryTree = TreeViewerFactory.createRepositoryExplorerViewer(
composite, null);
menuService.registerContextMenu(repositoryTree.getTree(),
"org.eclipse.emf.ecp.e4.application.popupmenu.repository");
repositoryTree
.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
ISelection selection = event.getSelection();
if (IStructuredSelection.class.isInstance(selection)) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
if (!structuredSelection.isEmpty()) {
selectionService
.setSelection(structuredSelection
.getFirstElement());
}
}
}
});
}
@Focus
public void setFocus() {
repositoryTree.getTree().setFocus();
}
@PreDestroy
public void dispose() {
}
}