/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.ide.syncing.ui.navigator.actions; import org.eclipse.jface.action.IMenuManager; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.navigator.CommonActionProvider; import org.eclipse.ui.navigator.ICommonActionExtensionSite; import org.eclipse.ui.navigator.ICommonViewerSite; import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite; import com.aptana.ide.syncing.ui.SyncingUIPlugin; import com.aptana.ui.util.UIUtils; public class RemoteConnectionActionProvider extends CommonActionProvider { private static final String CONNECTION_ICON = "icons/full/obj16/connection.png"; //$NON-NLS-1$ private RemoteConnectionManagerAction connectionManagerAction; private boolean isContributed; public RemoteConnectionActionProvider() { } @Override public void init(ICommonActionExtensionSite aSite) { super.init(aSite); connectionManagerAction = new RemoteConnectionManagerAction(getActivePart(aSite)); connectionManagerAction.setImageDescriptor(SyncingUIPlugin.getImageDescriptor(CONNECTION_ICON)); } @Override public void fillActionBars(IActionBars actionBars) { if (!isContributed) { fillMenu(actionBars.getMenuManager()); actionBars.updateActionBars(); isContributed = true; } } private void fillMenu(IMenuManager menuManager) { menuManager.add(connectionManagerAction); } private static IWorkbenchPart getActivePart(ICommonActionExtensionSite aSite) { ICommonViewerSite viewerSite = aSite.getViewSite(); if (viewerSite instanceof ICommonViewerWorkbenchSite) { return ((ICommonViewerWorkbenchSite) viewerSite).getPart(); } return UIUtils.getActivePage().getActivePart(); } }