/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package org.absmodels.abs.plugin.navigator.actionProvider; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.navigator.CommonActionProvider; import org.eclipse.ui.navigator.ICommonActionExtensionSite; /** * A provider the {@link RefreshDependenciesAction} that provides menu * items on the context menu of the package container for refresh and update. * @author pwong * */ public class RefreshDependenciesProvider extends CommonActionProvider { private RefreshDependenciesAction refresh; private MavenAction maven; private ICommonActionExtensionSite aSite; private Shell shell; @Override public void init(ICommonActionExtensionSite aSite){ super.init(aSite); this.aSite = aSite; this.shell = aSite.getViewSite().getShell(); ISelection selection = aSite.getStructuredViewer().getSelection(); refresh = new RefreshDependenciesAction(shell,selection); maven = new MavenAction(shell,selection); aSite.getStructuredViewer().addSelectionChangedListener(refresh); aSite.getStructuredViewer().addSelectionChangedListener(maven); } @Override public void fillContextMenu(IMenuManager menu) { super.fillContextMenu(menu); menu.add(refresh); menu.add(maven); } @Override public void dispose(){ aSite.getStructuredViewer().removeSelectionChangedListener(refresh); aSite.getStructuredViewer().removeSelectionChangedListener(maven); } }