| /******************************************************************************* |
| * Copyright (c) 2005, 2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ui.navigator; |
| |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.ui.IEditorSite; |
| import org.eclipse.ui.IViewSite; |
| import org.eclipse.ui.internal.navigator.CommonViewerSiteDelegate; |
| import org.eclipse.ui.internal.navigator.CommonViewerSiteIEditorPartSiteDelegate; |
| import org.eclipse.ui.internal.navigator.CommonViewerSiteIPageSiteDelegate; |
| import org.eclipse.ui.internal.navigator.CommonViewerSiteIViewSiteDelegate; |
| import org.eclipse.ui.part.IPageSite; |
| |
| /** |
| * Allows clients to create {@link ICommonViewerSite} for a variety of contexts. |
| * The {@link ICommonViewerSite} may be used by the |
| * {@link NavigatorActionService} to allow customization for any |
| * {@link CommonActionProvider} used by a particular instance of the Common |
| * Navigator. |
| * |
| * |
| * @since 3.2 |
| */ |
| public final class CommonViewerSiteFactory { |
| /** |
| * |
| * @param aViewSite |
| * The viewer site that should be delegated to to satisfy the |
| * contract of ICommonViewerSite. |
| * @return An ICommonViewerSite that delegates to the given parameter. |
| */ |
| public static ICommonViewerWorkbenchSite createCommonViewerSite( |
| IViewSite aViewSite) { |
| return new CommonViewerSiteIViewSiteDelegate(aViewSite); |
| } |
| |
| /** |
| * |
| * @param aEditorSite |
| * The editor site that should be delegated to to satisfy the |
| * contract of ICommonViewerSite. |
| * @return An ICommonViewerSite that delegates to the given parameter. |
| */ |
| public static ICommonViewerWorkbenchSite createCommonViewerSite( |
| IEditorSite aEditorSite) { |
| return new CommonViewerSiteIEditorPartSiteDelegate(aEditorSite); |
| } |
| |
| /** |
| * |
| * @param anId |
| * The unique identifier corresponding to the abstract viewer for |
| * the returned ICommonViewerSite. |
| * |
| * @param aSelectionProvider |
| * The selection provider that will initially be returned by |
| * {@link ICommonViewerSite#getSelectionProvider()} |
| * |
| * @param aShell |
| * The shell that will be returned by |
| * {@link ICommonViewerSite#getShell()} |
| * @return An ICommonViewerSite that delegates to the given parameter. |
| */ |
| public static ICommonViewerSite createCommonViewerSite(String anId, |
| ISelectionProvider aSelectionProvider, Shell aShell) { |
| return new CommonViewerSiteDelegate(anId, aSelectionProvider, aShell); |
| } |
| |
| /** |
| * |
| * @param anId |
| * The unique identifier corresponding to the abstract viewer for |
| * the returned ICommonViewerSite. |
| * @param aPageSite |
| * The page site that should be delegated to to satisfy the |
| * contract of ICommonViewerSite. |
| * @return An ICommonViewerSite that delegates to the given parameter. |
| */ |
| public static ICommonViewerSite createCommonViewerSite(String anId, |
| IPageSite aPageSite) { |
| return new CommonViewerSiteIPageSiteDelegate(anId, aPageSite); |
| } |
| |
| } |