+++ /dev/null
-package net.sourceforge.phpeclipse.resourcesview;
-
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.part.ViewPart;
-
-public class PHPResourcesView extends ViewPart implements ISetSelectionTarget, IMenuListener {
- protected TreeViewer viewer;
- protected MainActionGroup mainActionGroup;
-
- public PHPResourcesView() {
-
- }
-
- public void createPartControl(Composite parent) {
- this.setViewer(new TreeViewer(parent));
-
- this.getViewer().addFilter(new PHPViewerFilter());
- this.getViewer().setContentProvider(new WorkbenchContentProvider());
- this.getViewer().setLabelProvider(new WorkbenchLabelProvider());
- this.getViewer().setInput(getInitialInput());
-
- this.getViewer().addOpenListener(new IOpenListener() {
- public void open(OpenEvent event) {
- getMainActionGroup().runDefaultAction((IStructuredSelection) event.getSelection());
- }
- });
-
- MenuManager menuMgr = new MenuManager("net.sourceforge.phpeclipse.PHPPopupMenu"); //$NON-NLS-1$
- menuMgr.setRemoveAllWhenShown(true);
- menuMgr.addMenuListener(this);
-
- Menu fContextMenu = menuMgr.createContextMenu(this.getViewer().getTree());
- this.getViewer().getTree().setMenu(fContextMenu);
-
- // Register viewer with site. This must be done before making the actions.
- IWorkbenchPartSite site = getSite();
- site.registerContextMenu(menuMgr, viewer);
- }
-
- public void selectReveal(ISelection selection) {
- viewer.setSelection(selection, true);
- }
-
- protected IContainer getInitialInput() {
- IAdaptable input = getSite().getPage().getInput();
- IResource resource = null;
- if (input instanceof IResource) {
- resource = (IResource) input;
- } else {
- resource = (IResource) input.getAdapter(IResource.class);
- }
- if (resource != null) {
- switch (resource.getType()) {
- case IResource.FILE :
- return resource.getParent();
- case IResource.FOLDER :
- case IResource.PROJECT :
- case IResource.ROOT :
- return (IContainer) resource;
- default :
- break;
- }
- }
- return PHPeclipsePlugin.getWorkspace().getRoot();
- }
-
- public void setFocus() {
- this.getViewer().getControl().setFocus();
- }
-
- public void menuAboutToShow(IMenuManager manager) {
- IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
- this.getMainActionGroup().setContext(new ActionContext(selection));
- this.getMainActionGroup().fillContextMenu(manager);
- this.getMainActionGroup().setContext(null);
- }
-
- public MainActionGroup getMainActionGroup() {
- if (mainActionGroup == null) {
- // lazy initialization, because this.getSite() delivers null in constructor
- mainActionGroup = new MainActionGroup(this);
- }
- return mainActionGroup;
- }
-
- public void setMainActionGroup(MainActionGroup mainActionGroup) {
- this.mainActionGroup = mainActionGroup;
- }
-
- public TreeViewer getViewer() {
- return viewer;
- }
-
- protected void setViewer(TreeViewer viewer) {
- this.viewer = viewer;
- }
-
-}
\ No newline at end of file