X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/resourcesview/MainActionGroup.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/resourcesview/MainActionGroup.java new file mode 100644 index 0000000..3ad7a7b --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/resourcesview/MainActionGroup.java @@ -0,0 +1,150 @@ +package net.sourceforge.phpeclipse.resourcesview; + +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.IPropertyListener; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchPartSite; +import org.eclipse.ui.IWorkingSet; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.actions.ActionContext; +import org.eclipse.ui.actions.ActionGroup; +import org.eclipse.ui.actions.RefreshAction; +import org.eclipse.ui.dialogs.PropertyDialogAction; +import org.eclipse.ui.views.framelist.FrameList; +import org.eclipse.ui.views.navigator.IResourceNavigator; +import org.eclipse.ui.views.navigator.OpenActionGroup; +import org.eclipse.ui.views.navigator.RefactorActionGroup; +import org.eclipse.ui.views.navigator.ResourcePatternFilter; +import org.eclipse.ui.views.navigator.ResourceSorter; + +public class MainActionGroup extends ActionGroup { + + private OpenActionGroup openActionGroup; + private RefactorActionGroup refactorActionGroup; + private PropertyDialogAction propertyDialogAction ; + private RefreshAction refreshAction ; + + public MainActionGroup(PHPResourcesView phpResourcesView) { + ResourceNavigatorAdapter adapter = new ResourceNavigatorAdapter(phpResourcesView) ; + this.openActionGroup = new OpenActionGroup(adapter); + this.refactorActionGroup = new RefactorActionGroup(adapter); + Shell shell = phpResourcesView.getSite().getShell(); + propertyDialogAction = new PropertyDialogAction(shell, phpResourcesView.getViewer()); + refreshAction = new RefreshAction(shell) ; + } + + public void fillContextMenu(IMenuManager menu) { + this.openActionGroup.fillContextMenu(menu); + menu.add(new Separator()); + this.refactorActionGroup.fillContextMenu(menu); + menu.add(new Separator()); + menu.add(refreshAction) ; + menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); + menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "-end")); //$NON-NLS-1$ + menu.add(propertyDialogAction) ; + + } + + public void setContext(ActionContext actionContext) { + this.openActionGroup.setContext(actionContext); + this.refactorActionGroup.setContext(actionContext); + } + + public void runDefaultAction(IStructuredSelection selection) { + this.openActionGroup.runDefaultAction(selection); + } + + class ResourceNavigatorAdapter implements IResourceNavigator { + PHPResourcesView phpResourcesView; + ResourceNavigatorAdapter(PHPResourcesView phpResourcesView) { + this.phpResourcesView = phpResourcesView; + } + + public FrameList getFrameList() { + return null; + } + + public ResourcePatternFilter getPatternFilter() { + return null; + } + + public ResourceSorter getSorter() { + return null; + } + + public TreeViewer getViewer() { + return phpResourcesView.getViewer(); + } + + public IWorkingSet getWorkingSet() { + return null; + } + + public void setFiltersPreference(String[] patterns) { + } + + public void setSorter(ResourceSorter sorter) { + } + + public void setWorkingSet(IWorkingSet workingSet) { + } + + public IViewSite getViewSite() { + return phpResourcesView.getViewSite(); + } + + public void init(IViewSite arg0, IMemento arg1) throws PartInitException { + } + + public void init(IViewSite arg0) throws PartInitException { + } + + public void saveState(IMemento arg0) { + } + + public void addPropertyListener(IPropertyListener arg0) { + } + + public void createPartControl(Composite arg0) { + } + + public void dispose() { + } + + public IWorkbenchPartSite getSite() { + return phpResourcesView.getSite(); + } + + public String getTitle() { + return phpResourcesView.getTitle(); + } + + public Image getTitleImage() { + return phpResourcesView.getTitleImage(); + } + + public String getTitleToolTip() { + return phpResourcesView.getTitleToolTip(); + } + + public void removePropertyListener(IPropertyListener arg0) { + } + + public void setFocus() { + } + + public Object getAdapter(Class arg0) { + return phpResourcesView.getAdapter(arg0); + } + + } + +} \ No newline at end of file